FFmpeg:Несколько ошибок, включая недопустимый размер кадра и неполный кадр
-
22-08-2019 - |
Вопрос
Я использую эту команду ffmpeg для извлечения клипов из больших VOB-файлов, которые находятся на DVD:
ffmpeg.exe -i E:\VTS_02_2.vob -ss 00:00:57 -t 00:16:15 vids\VTS_02_2.vob
Сначала это сработало для VOB-файла, но затем я получил эти ошибки:
c:\ffmpeg>ffmpeg.exe -i E:\VTS_02_2.vob -ss 00:00:57 -t 00:16:15 vids\VTS_02_2.vob
FFmpeg version SVN-r15625, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --enable-postproc --enable-swscale --enable-g
l --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libv
rbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disabl
-vhook --enable-avisynth --enable-pthreads
libavutil 49.12. 0 / 49.12. 0
libavcodec 52. 0. 0 / 52. 0. 0
libavformat 52.22. 1 / 52.22. 1
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 6. 1 / 0. 6. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Oct 16 2008 05:40:02, gcc: 4.2.4 (TDM-1 for MinGW)
Input #0, mpeg, from 'E:\VTS_02_2.vob':
Duration: 00:17:11.61, start: 1031.828511, bitrate: 8326 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 16:15 DAR 4:3], 9640
kb/s, 25.00 tb(r)
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
File 'vids\VTS_02_2.vob' already exists. Overwrite ? [y/N] y
Output #0, svcd, to 'vids\VTS_02_2.vob':
Stream #0.0: Video: mpeg2video, yuv420p, 720x576 [PAR 16:15 DAR 4:3], q=2-31, 200
kb/s, 25.00 tb(c)
Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
[ac3 @ 026D3990]frame sync error
Error while decoding stream #0.1
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
[mpeg2video @ 0141B780]ac-tex damaged at 40 2
[mpeg2video @ 0141B780]invalid mb type in B Frame at 3 12
[mpeg2video @ 0141B780]00 motion_type at 15 16
[mpeg2video @ 0141B780]mb incr damaged
[mpeg2video @ 0141B780]00 motion_type at 2 21
[mpeg2video @ 0141B780]00 motion_type at 44 22
[mpeg2video @ 0141B780]ac-tex damaged at 43 24
[mpeg2video @ 0141B780]Warning MVs not available
[mpeg2video @ 0141B780]concealing 765 DC, 765 AC, 765 MV errors
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
[mpeg2video @ 0141B780]ac-tex damaged at 5 9
[mpeg2video @ 0141B780]00 motion_type at 21 13
[mpeg2video @ 0141B780]ac-tex damaged at 1 20
[mpeg2video @ 0141B780]mb incr damaged
[mpeg2video @ 0141B780]00 motion_type at 30 30
[mpeg2video @ 0141B780]Warning MVs not available
[mpeg2video @ 0141B780]concealing 450 DC, 450 AC, 450 MV errors
[ac3 @ 026D3990]frame CRC mismatch
[ac3 @ 026D3990]incomplete frame
[ac3 @ 026D3990]invalid frame size
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
[mpeg2video @ 0141B780]00 motion_type at 38 15
[mpeg2video @ 0141B780]00 motion_type at 30 34
[mpeg2video @ 0141B780]Warning MVs not available
[mpeg2video @ 0141B780]concealing 254 DC, 254 AC, 254 MV errors
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
[mpeg2video @ 0141B780]ac-tex damaged at 7 6
[mpeg2video @ 0141B780]concealing 1350 DC, 1350 AC, 1350 MV errors
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
[ac3 @ 026D3990]incomplete frame
[ac3 @ 026D3990]invalid frame size
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 Lsize= 0kB time=10000000000.00 bitrate= 0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead -1.#IND00%
Есть ли способ заставить ffmpeg просто выдавать мне выходные данные?
Решение
Строки, начинающиеся с [mpeg2video @ 0141B780], показывают общие ошибки декодирования.Иногда об этом не о чем беспокоиться, потому что FFMPEG успешно продолжает работу после таких ошибок (ошибки могут относиться только к текущему кадру);они могут представлять собой сбои в кодере, используемом для кодирования источника, или даже ошибки передачи.
Однако здесь вызывают беспокойство все нули в других строках:
frame= 0 fps= 0 q=0.0 size= 0kB time=10000000000.00 bitrate= 0.0kbits/s
Похоже, у него возникли проблемы с пониманием источника.Что делает Информация о средствах массовой информации рассказать вам об источнике VOB?
Это сообщество, возможно, не очень хорошо ориентировано на решение проблем с кодированием аудио / видео - вы пробовали doom9.org?Возможно, вам потребуется попросить кого-нибудь взглянуть на образец исходного VOB-файла для вас.
Предположительно, вы используете версию командной строки ffmpeg, потому что хотите автоматизировать это;если нет, обратите внимание, что такие инструменты, как AVIdemux, также могут делать это в графическом интерфейсе.Несмотря на свое название, он может копировать MPEG без перекодирования.