FFmpeg:一些错误,包括无效的帧大小和不完整的帧

时间:2009-02-10 18:03:48

标签: command-line video ffmpeg command-prompt dvd

我使用此ffmpeg命令从DVD上的大型VOB文件中获取剪辑:

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给我一个输出?

1 个答案:

答案 0 :(得分:3)

以[mpeg2video @ 0141B780]开头的行显示一般的解码错误。有时这些都不用担心,因为FFMPEG在这些错误之后成功地继续进行(错误可能仅适用于当前帧);它们可能代表用于编码信号源的编码器中的毛刺,甚至是传输错误。

尽管如此,关注的是其他行中的所有零:

frame=    0 fps=  0 q=0.0 size=       0kB time=10000000000.00 bitrate=   0.0kbits/s

似乎无法理解来源。 Media Info告诉你关于源VOB的内容是什么?

这个社区可能不太适合解决音频/视频编码问题 - 您尝试过doom9.org吗?您可能需要让某人为您查看源VOB的示例。

据推测,您正在使用ffmpeg的命令行版本,因为您想要自动执行此操作;如果没有,请注意AVIdemux等工具也可以在GUI中执行此操作。尽管它的名字,它可以复制MPEG而无需重新编码。