Using mencoder to produce .mp4 files for playback in flash

Although Flash 9.0+ says it supports .mp4 file playback, I’ve found that its actually quite picky about what it will actually play.  So, if you want to produce a file using mencoder that plays in flash, you need to:

Download and compile the MP4Box executable from the GPAC distribution
Run an mencoder command to produce an AVI file that has h264 video & AAC audio:

mencoder $FILE -o $OUTPUT -oac faac -srate 44100 -ovc x264 -x264encopts bitrate=$BITRATE:turbo:pass=1 -fps 60000/1001 -ofps 30000/1001 -vf field=0,scale=$RES 2>&1 >> $LOG
mencoder $FILE -o $OUTPUT -oac faac -srate 44100 -ovc x264 -x264encopts bitrate=$BITRATE:pass=2 -fps 60000/1001 -ofps 30000/1001 -vf field=0,scale=$RES 2>&1 >> $LOG

Then, you need to pull out the h264 video & AAC audio from the AVI file, and put them back in a mp4 container using MP4Box, like this:

MP4Box -aviraw video $VIDEO_OUTPUT

MP4Box -aviraw audio $AUDIO_OUTPUT

mv $AUDIO_OUTPUT ${AUDIO_OUTPUT/.raw/.aac} # Make the .raw file an .aac file

MP4Box -add $VIDEO_OUTPUT -add $AUDIO_OUTPUT $FINAL_OUTPUT.mp4

This entry was posted in General. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>