split video (avi/h264) on keyframe
Posted
by m.sr
on Stack Overflow
See other posts from Stack Overflow
or by m.sr
Published on 2010-06-14T13:30:51Z
Indexed on
2010/06/14
13:32 UTC
Read the original article
Hit count: 586
Hallo.
I have a big video file. ffmpeg
, tcprobe
and other tool say, it is an h264-stream in an AVI-container.
Now i'd like to cut out small chunks form the video.
Problem: The index of the video seam corrupted/destroyed. I kind of fixed this via
mplayer -forceidx -saveidx <IndexFile> <BigVideoFile>
. The Problem here is, that I'm now stuck with mplayer/mencoder which can use this index file via-loadidx <IndexFile>
. I have tried correcting the index like described inman aviindex
(mplayer -frames 0 -saveidx mpidx broken.avi ; aviindex -i mpidx -o tcindex ; avimerge -x tcindex -i broken.avi -o fixed.avi
), but this didn't fix my video - meaning that most tools i've tested couldn't search in the video file.Problem: I sut out parts of the video via following command:
mencoder -loadidx in.idx -ss 8578 -endpos 20 -oac faac -ovc x264 -sws 9 -lavfopts format=mp4 -x264encopts <LotsOfOpts> -of lavf -vf scale=800:-10,harddup in.avi -o out.mp4
. Now here the problem is, that some videos are corrupted at the beginning. I think this is because the fact, that i do not necessarily cut at keyframe.
Questions:
What is the best way to fix the index of an avi "inline" so that every tool can again work as expected with it?
How can i split at the keyframes? Is there an mencoder-option for this?
Are Keyframes coming in a frequency? How to find out this frequency? (So with a bit of math it should be possible to calculate the next keyframe and cut there)
Is ther perhaps some completely other way to split this movie? Doing it by hand is no option, i've to cut out 1000+ chunks ...
Thanks a lot!
© Stack Overflow or respective owner