[FFmpeg-user] Quicktime In and Out points
dave at dericed.com
Wed Nov 28 04:44:12 CET 2012
On Nov 27, 2012, at 5:08 PM, Henk D. Schoneveld wrote:
> On Nov 27, 2012, at 5:28 PM, Mark Chandler wrote:
>> Hello, I am using ffmpeg for a variety of encoding tasks and my source files are always Apple ProRes 422 files. We often get our source files with countdowns at the head and too much black at the tail and we typically use Quicktime Pro to trim out the extra elements at the head and tail. If we do this using the QuickTime player and simply save the file it takes virtually no time at all, as opposed to exporting or saving as which can take some time. The problem is that the data isn't actually removed from the streams, so when I use ffmpeg to encode the file it encodes the full file including the countdown etc. Does ffmpeg have the ability to read these ins and outs from the mov file and then encode based on them?
> Your mov has a so called edl EditDecissionList, information where to start and end to play a file. It has the information needed for -ss and -t the start and end-time for ffmpeg.
> Perhaps here you'll find info how vto extract it http://edlspy.felixhuesken.de/EDL_Spy_UserGuide.pdf
I opened a ticket related to this issue here. https://ffmpeg.org/trac/ffmpeg/ticket/1137
When you edit the file in QuickTime 7 and then simply save, then the 'moov' atom is renamed to a 'free' atom (which is just a placeholder for unused space) and then a new 'moov' atom is appended to the end of the file with an 'elst' (edit list) atom that reflects your edit. Thus the resulting file will have two 'elst' atoms: the original 'elst' which is now contained within the 'free' space atom and the new 'elst' within the 'moov' atom. I believe that ffmpeg is using the first occurring 'elst' atom (not sure on this) so you're get the original playback rather than one you edited. As a workaround you can do a 'save as' within QuickTime so that the file is rewritten without the 'free' atom.
More information about the ffmpeg-user