CodeShop

H264 Compressed Meta-Data

September 20th, 2008

We’ve written this nice Lighttpd plugin mod_h264_streaming which is being picked up by numerous sites. It enables progressive streaming and seeking for H264 encoded videos in Flash.

One of the issues raised is that when a user jumps forward in a long video the time it takes to restart the video at that position takes too long. The reason why this happens is that the Flash player doesn’t support seeking into a video which has not been buffered yet and so the plugin sends a newly patched video file. Unfortunately the meta-data can take up quite a bit of space (say 750KB for a 30 minute video), so when your bandwidth is 150KB/s, the metadata alone would take 5 seconds to download.

There are a few things we can do about this, and one is compressing the metadata. This is a perfectly viable option and supported by most tools (Apple Quicktime, mplayer, etc…). So ahead I went and added this feature to the mod_h264_streaming plugin. After successful testing and seeing the metadata shrink by 50% to 75% I was in a really good mood. This meant the seektime of a 30 minute video would go down from 5 seconds to about 2 seconds! A job well done.

Surprise!

The flash player doesn’t support compressed metadata. Time to talk to your local Adobe representative and issue a feature request!

2 Responses to “H264 Compressed Meta-Data”

  1. everwanna Says:
    Hi, I use your mod_h264_streaming. However I find there is problem. When I seek, audio and video would go out of sync. I study it for hours. If the first mp4 track has no stss, moov_seek seeks to the exact time specified. However, If the second track has stss, it will seek to the nearest keyframe time. I create a patch. I'd like send it to you, but I cannot find your contact info.
  2. Arjen Says:
    Hi everwanna, Feel free to email me at h264@code-shop.com or arjen@code-shop.com. If you could send me your patch as a diff that would be much appreciated, I'll update the sources. Thanks, Arjen

Sorry, comments are closed for this article.