2
votes

I have no problems viewing a video created by my current parameters in a HTML5 browser, Flash player, Windows Phone 7, Android Phone, etc. However, they won't display on iPhone or iPad. If I modify the video using Super and select "Enable Streaming" checkbox they work on iPhone and iPad suddenly. We are suspecting that my command line parameters are incorrect for enabling h.264 streaming and are instead generating a "progressive download" video.

I'm pretty new to FFMPEG and don't understand a lot of the parameters. Can anyone help correct my existing parameters, or maybe provide the missing parameters, etc?

Thanks in advance.

My current FFMPEG command line paramters are:

ffmpeg.exe 
 -r 30 
 -threads 4 
 -f image2 
 -i .\frame%05d.jpg 
 -i audioFile  
 -acodec aac 
 -ab 128k 
 -ar 44100
 -vcodec h264 
 -crf 27 
 -coder 1 
 -flags +loop 
 -cmp +chroma 
 -partitions +parti4x4+partp8x8+partb8x8 
 -me hex 
 -subq 5 
 -me_range 16 
 -g 60 
 -keyint_min 25 
 -sc_threshold 40 
 -i_qfactor 0.71 
 -b_strategy 1 
 out.mp4
1
The CLI ffmpeg is sort've a StackOverflow gray area topic-wise, as it's not exactly programming, but is used by programmers more than anyone else. The downvote, and vote to close, might've been because someone thought it belonged on SuperUser instead. - blahdiblah
HI. Did you managed to create proper ffmpeg command ? many thanks. - Paul

1 Answers

1
votes

To stream correctly, mp4 files need to have their metadata at the beginning of the file (so that that information is streamed first). ffmpeg doesn't do this by default, but includes a tool, qt-faststart, that does the rearranging. Give that a try.