ffmpeg не может перекодировать аудиопоток DVD ac3, но VL C может воспроизводить его - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь перекодировать DVD в один файл MKV. В прошлом у меня были успехи с другими DVD-дисками, но я столкнулся с ошибкой, которой раньше не видел.

Сначала я объединяю VOB-файлы, которые хочу перекодировать:

cat VTS_02_1.VOB VTS_02_2.VOB VTS_02_3.VOB > WMAV.VOB

ffprobe вывод:

$ ffprobe -analyzeduration 100M -probesize 100M WMAV.VOB                                                                         Input #0, mpeg, from 'WMAV.VOB':
  Duration: 01:05:19.42, start: 0.300300, bitrate: 5686 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m, top first), 720x480 [SAR 32:27 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Unsupported codec with id 100357 for input stream 0

Затем я запускаю эту команду для перекодирования файла:

ffmpeg -analyzeduration 100M -probesize 100M \
  -i WMAV.VOB \
  -map 0:1 -map 0:2 \
  -c:v libx264 -preset slow -tune film -crf 21 \
  -c:a aac -b:a 192k \
  wmav.mkv

Однако, когда я включаю -c:a aac, я получаю тысячи ошибок например:

Error while decoding stream #0:2: Error number -16976906 occurred
[ac3 @ 000002bd24d8eec0] expacc 127 is out-of-range
[ac3 @ 000002bd24d8eec0] error decoding the audio block

Похоже, с аудиопотоком проблем не возникает, так как он отлично воспроизводится в VL C. Транскод завершается успешно, если я использую -c:a copy.

В чем причина этой ошибки и как я могу решить проблему?

...