[FFmpeg-user] fixing videos that don't start with keyframes
lytithwyn at gmail.com
Tue Nov 15 15:40:14 CET 2011
>> Just to follow up on this, ffmpeg *is* successfully removing the leading
>> non-key frames. This does *not* seem to be the case when using '-acodec
>> copy -vcodec copy' (which doesn't surprise me). I just ran something like
>> 'ffmpeg -i my_video.mpg -target ntsc-dvd my_fixed_video.mpg' and the leading
>> non-key frames were gone.
> with -ss 0 it "might" skip to the first keyframe with vcodec copy. Maybe?
Alas but no, that doesn't work either. The skip happens, but it's not seeking to the first keyframe after the skip like it usually would. I don't know whether it's because keyframe-seeking gets disabled with codec copy or if it's the fact that these input files are a little weird. I found that if I get rid of the codec copy commands and try to do a skip of 60 seconds (long enough to make it obvious), I get:
ffmpeg -i M2U00108.MPG -ss 60 -target ntsc-dvd -y m2u00108_copy.mpg
[mpeg2video @ 0x8cd99c0] warning: first frame is no keyframe
Last message repeated 1 times
[buffer @ 0x8cd9980] Buffering several frames is not supported. Please consume all available frames before adding a new one.
Last message repeated 1791 times 0kB time=10000000000.00 bitrate= 0.0kbits/s
And after that it starts encoding.
I also find that with these input files if I don't specify "-target ntsc-dvd" the output file has no audio. If I run "ffmpeg -i" on that output file it *says* there's audio, but mplayer says there isn't and I only get video during playback.
More information about the ffmpeg-user