Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Post processing in ffmpeg to move 'moov atom' in MP4 files (qt-faststart)

Is it possible to run ffmpeg from the command line which will either place the 'moov atom' metadata in the beginning of the MP4 file or run the qt-faststart as a post processing operation in ffmpeg so the generated file is stream-able through the internet?

I can of course run it as a separate command, but would prefer it to be something

  • as an option within ffmpeg, or
  • as part of a post conversion, command line option when converting the video files via ffmpeg

Edit 1

http://ffmpeg.org/ffmpeg.html#mov

MOV / MP4 muxer

The muxer options are:

‘-moov_size bytes’

Reserves space for the moov atom at the beginning of the file instead of 
placing the moov atom at the end. If the space reserved is insufficient, 
muxing will fail.
like image 293
siliconpi Avatar asked Nov 09 '11 07:11

siliconpi


3 Answers

Seems like faststart support has been included in ffmpeg. FFmpeg Formats Documentation:

-movflags faststart

Run a second pass moving the moov atom on top of the file. This operation can take a while, and will not work in various situations such as fragmented output, thus it is not enabled by default.

like image 72
Salman A Avatar answered Nov 20 '22 01:11

Salman A


Ended up setting up and running qt-faststart after ffmpeg conversion process.

like image 27
siliconpi Avatar answered Nov 20 '22 01:11

siliconpi


ffmpeg has a option for smooth streaming

-movflags isml+frag_keyframe

and it's also useful for avoid corrupt videos when power loss during recording

like image 2
M. Galib Uludag Avatar answered Nov 20 '22 02:11

M. Galib Uludag