wiki:WikiStart

Version 29 (modified by dirk, 13 years ago) (diff)

--

H264 (Pseudo) Streaming

News (December 2008)

Request for features! We're going to rewrite the mod_h264_plugin to do a proper parsing of MP4 encoded files (instead of inplace editing). This will give an average of 50% saving of the size of the meta-data, and thus gives faster seeking times. If you would like to see other features added or have any video files that won't playback with the plugin, please drop us a line. Now is the time!

P.S. CodeShop offers software design, development and project-management. For more info visit our website.

Introduction

Adobe recently announced support for H264 video files in their Flash player. They have done a great job and the good news is that we can have better quality video at lower bitrates. At the same time it allows us to use free software to handle the encoding.

Two little issues crop up though when playing these movies in your player. Original MP4 files are loaded fully before they start playback, and secondly it isn't possible to seek into files.

The first issue is easily overcome by using a smart little tool called qt-faststart which patches the MP4 file and shuffles the headers from the end of the file to the beginning. The file now starts playback immediately, while the rest of the files is downloaded in the background.

To get around the second issue we've written a module for lighttpd. In a similar way as how Pseudo-Streaming is made possible for FLV files, this plugin makes seeking possible for MP4 files.

You can watch the H264 (Pseudo) Streaming Demo. Make sure you have the latest Flash player installed. Grab it from http://labs.adobe.com/technologies/flashplayer9/.

Please note that this is experimental and work-in-progress. Feel free to comment or leave a note on our blog.

A big thank you goes out to Tinic Uro and the people on the http://www.jeroenwijering.com forum for providing the necessary reading, articles and links.


Download and Configuation

Have a look at the latest release notes (3 december 2008) to see what has changed.

Download mod_h264_streaming.
Configuration of mod_h264_streaming.

Encoding videos in H264

See the article Encoding video in H264.

Flash Player

How to implement Pseudo Streaming for H264 in a Flash Player


FAQ

  • Where can I find the module mod_h264_streaming for lighttpd?

Configuration of mod_h264_streaming.
Download mod_h264_streaming.

  • Enabling 'faststart' on previously encoded files. Do I still need to?

It's not necessary to run qt-faststart as the plugin will move the header from the end to the beginning of the file. Running it doesn't hurt though, and it prevents a little extra work on the server side.

  • Who is using the plugin?

See the portfolio article for references.

  • What's the license of mod_h264_streaming?

The license is GPL - see here for a discussion and the license text.


References

What just happened to video on the web?

The Quicktime file format

Stream h.264 with PHP script?

How to write a Lighttpd plugin