Over the years I collected many movies in different container formats (avi, mp4, mkv) and encoded with different codecs too.

Now want convert containers (or transcode them if absolutely necessary) to "iPhone compatible" movies.

After spending long time on google, still didn't know exact answers to the next questions - so, please confirm them or please give the right answers

  1. iPhone can play only mp4 container format - so the mp4 is the only usable container for iPhone movies
  2. In what codecs can be the streams? (video/audio and subtitles)
  3. Is possible embedd "SOFT" subtitles to mp4 container? (what i read - yes, but here is some pitfalls) - mean soft subtitles, so not "burned them into the video stream".
  4. What is the right logic to convert/transcode movies from different formats to wanted iPhone compatible format? My idea is roughly:

    • fetch information from the current movie - e.g. from avi container
    • if the used codecs and the used video resolution is compatible with iPhone (like h264), only change the container format, otherwise
    • transcode the movie, with:

    • if the current movie has smaller resolution, don't change - only transcode

    • if the current movie has higher resolution, change it's resolution proportionally to match the iPhone needs

All above want do from command line on Mac OS X - so, with ffmpeg or mencoder and like. (please, don't suggest me batch conversions with not-command line app)

The questions are mainly about the whole workflow, what are the most common pitfalls, recommendations and etc.

Would be happy with some external links to some good articles about the above.

This is my 1st question here, and I hope it is OK with right-question-type on this site:

  • post-production techniques
  • asset management, media, and file formats
  • installation, configuration, and operation of hardware or software related to these topics
  • Which iPhone versions are you wanting to support?
    – llogan
    Mar 10, 2014 at 3:10
  • @LordNeckbeard yeah, forgot specify, mainly because most of my current movies is lower than 720p. But ok - iPhone4 and highers.
    – clt60
    Mar 10, 2014 at 10:21
  • @jm666 - I noticed your question hasn't gotten any responses in a few days. One thing that I do notice about it is that it seems to be asking multiple questions at the same time. You might be able to break it out in to multiple questions that are more easily answered. For example, "What video formats should I use when targeting the iPhone?" could be its own free standing question. Similarly, the subtitle question and transcoding questions could each be done separately.
    – AJ Henderson
    Mar 12, 2014 at 14:11
  • This would do two things. It would make the questions more broadly beneficial, since people looking for only a part of what you are doing would find an answer. It would also make it easier to answer since someone could answer only the parts they know without feeling like they aren't really answering the question.
    – AJ Henderson
    Mar 12, 2014 at 14:12
  • @AJHenderson - yeah, it is a complex problem. Asked in hope than someone already faced the problem: "converting his movie collection suitable to iPhone". Seems - not much peoples doind such silly thing.. ;) If didn't get any answer, will try break the question to smaller parts and will delete this one. Thank you for suggestion.
    – clt60
    Mar 12, 2014 at 22:18

1 Answer 1


You can use ffprobe (which comes with ffmpeg) to give you info about your movie files from the command line.

You may require some shell-fu to convert the output of ffprobe into something you can use though. I've done this in the past; basically I pipe the output of ffprobe to sed or awk to grab the bits of info I need, then use this to drive the parameters of ffmpeg.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.