Search code examples
iphonevideomp4playlistm3u

iPhone MP4 Video Playlist


I have a library of footage encoded as H.264/AAC inside MP4 containers. Right now I can successfully stream the footage to the iPhone using Apache and mod_h264.

What I'd like to be able to do is tell the iPhone to play three clips back to back.

The natural solution seems to be to create a .m3u8 playlist and point the player at that, however when I do I get audio and no video. I'm not sure if this is because the iPhone only supports playlist video thats encoded as an Mpeg2 Transport Stream (.ts) or if I'm doing something wrong.

Has anyone had any experience streaming MP4 files to the iPhone in a playlist?


Solution

  • It looks like they only support MPEG-2 transport streams.

    From the HTTP Live Stream FAQ

    The protocol specification does not limit the encoder selection. However, the current Apple implementation should interoperate with encoders that produce MPEG-2 Transport Streams containing H.264 video and AAC audio (HE-AAC or AAC-LC).

    If you're open to converting your files, I would suggest the following approach:

    1. Download the HTTP Live Stream Tools
    2. Run mediafilesegmenter on each of your files
    3. Aggregate the variant.plist files generated above into a single file
    4. Run variantplaylistcreator on the aggregated variant.plist and use the .m3u8 it generates as your playlist for the live stream.