Конвертация видео с использованием AutoGen.Ffmpeg

128
28 марта 2021, 08:10

OS: Windows 10 1903 Runtimw: .Net Core 2.2

Я использую ffmpeg в связке с FFmpeg.AutoGen и пытаюсь реализовать конвертацию видео в фармат mp4. Смотрю документацию https://ffmpeg.org/doxygen/3.3/transcoding_8c.html и пример с FFmpeg.AutoGen https://gist.github.com/Ruslan-B/43d3a4219f39b99f0c9685290dcd23cc, но возникают ошибки типа:

Could not find tag for codec none in stream #2, codec not currently supported in container

Пытаюсь переконвертировать MOV файл, сделанный на iphone.

Если не обращать внимания на вышеуказанную ошибку то получаю ошибку при вызове ffmpeg.av_interleaved_write_frame(ofmt_ctx, &enc_pkt) при этом тип кодека AVMEDIA_TYPE_AUDIO. При этом это не потоки, для которых не был найден таг для кодека.

System.AccessViolationException: 'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'

Полный лог

Failed to find decoder for stream #2
Failed to find decoder for stream #3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\user\Downloads\IMG_4380.MOV':   Metadata:
            major_brand     : qt
            minor_version   : 0
            compatible_brands: qt
            creation_time   : 2019-06-05T15:04:56.000000Z
            com.apple.quicktime.make: Apple
            com.apple.quicktime.model: iPhone SE
            com.apple.quicktime.software: 12.3.1
            com.apple.quicktime.creationdate: 2019-06-05T17:04:56+0200   Duration: 00:00:15.28, start: 0.000000, bitrate: 16085 kb/s
            Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 15969 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
            Metadata:
              rotate          : 90
              creation_time   : 2019-06-05T15:04:56.000000Z
              handler_name    : Core Media Video
              encoder         : H.264
            Side data:
              displaymatrix: rotation of -90.00 degrees
            Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 97 kb/s (default)
            Metadata:
              creation_time   : 2019-06-05T15:04:56.000000Z
              handler_name    : Core Media Audio
            Stream #0:2(und): Data: none (mebx / 0x7862656D), 4 kb/s (default)
            Metadata:
              creation_time   : 2019-06-05T15:04:56.000000Z
              handler_name    : Core Media Metadata
            Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
            Metadata:
              creation_time   : 2019-06-05T15:04:56.000000Z
              handler_name    : Core Media Metadata [libx264 @ 00000233f858ae80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 00000233f858ae80] profile High, level
        4.0, 4:2:0, 8-bit Output #0, mp4, to 'IMG_4380.mp4':
            Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31, 29.97 tbn
            Stream #0:1: Audio: aac (LC), 44100 Hz, mono, fltp, 69 kb/s
            Stream #0:2: Data: none (mebx / 0x7862656D), 4 kb/s
            Stream #0:3: Data: none (mebx / 0x7862656D), 0 kb/s [mp4 @ 00000233f8589c00] Could not find tag for codec none in stream #2, codec not currently supported in container
    Error occurred when opening output file
    Demuxer gave frame of stream_index %1
    Going to reencode&filter the frame
    Pushing decoded frame to filters
    Pulling filtered frame from filters
    Encoding frame
    Pulling filtered frame from filters
    Demuxer gave frame of stream_index %1
    Going to reencode&filter the frame
    Pushing decoded frame to filters
    Pulling filtered frame from filters
    Encoding frame
    Muxing frame

До этого я не работал с ffmpeg, буду благодарен любой помощи! Спасибо!

Answer 1

Судя по всему это поля с метаданными, пропустите их, проверьте перед перекодированием типы потоков и если они имеют тип Data то пропустите их и перекодируйте только потоки с Video и Audio дорожками.

READ ALSO
Запоминание покупок игрока

Запоминание покупок игрока

Хочу узнать как я могу "запоминать" покупки игрокаЕсть магазин в котором игрок должен покупать скины(сама покупка уже реализована)

125
Ошибка при выводе роли

Ошибка при выводе роли

В проекте используется стандартная аутентификация Individual User AccountsДобавил программно роль:

126
Работа со сборщиком мусора в c# [дубликат]

Работа со сборщиком мусора в c# [дубликат]

Хотелось бы узнать некоторые нюансы работы со сборщиком мусора:

119
Unity3d. Ошибка: Object reference not set to an instance of an object

Unity3d. Ошибка: Object reference not set to an instance of an object

Есть карта, сгенерированная из перфаба(2д текстура), при создании поочередно дается название ( 1, 2

118