CodeShop

H264 Pseudo Streaming

October 18th, 2007

We’ve been experimenting with H264 video and were missing the much needed ‘seeking’ functionality.

You can watch a demo or read more about it on the wiki.

If you have any questions or comments, feel free to drop us a line.

12 Responses to “ H264 Pseudo Streaming”

  1. Albert Says:
    Please don't do flash-detection on the example page.
  2. Arjen Says:
    Hi Albert, Care to explain? Does it break anything? Thanks,
  3. Albert Says:
    It keeps telling me that I should ``GET FLASH'' while I do have ``FLASH 9'' since ages..
  4. Arjen Says:
    Hi Albert, You need the latest pre-release of the Flash Player 9 Update called 'Moviestar'. You can find it here: http://labs.adobe.com/downloads/flashplayer9.html It is also version 9, but a newer revision that includes playback of H264 video and full-screen acceleration. Regards,
  5. JeroenW Says:
    Hello Arjen, Would you mind sending me an email to get me started on adding support for this in my Media Player? My mail is mail [at] jeroenwijering ... com
  6. Arjen Says:
    I've written a little summary about how to implement MP4 Pseudo Streaming in a Flash Player. See: http://h264.code-shop.com/trac/wiki/FlashPlayer
  7. Jim Theberge Says:
    Hi Arjen, I am writing my own H.264 HTTP-based seek server in Java. Could you please explin to me which MP4 atoms (aka boxes) you are using to rebuild the MP4 file and split it at the proper seek time offset? Also, if you could share any of your algorithms for doing so, that would be great. Thanks, Jim
  8. Arjen Says:
    Hi Jim, There is more information on the Wiki (see link in the original mail). You can download and/or browse the sourcecode in SVN. Here's a link for browsing: http://h264.code-shop.com/svn/h264/trunk/lighttpd-1.4.18/src/ The files you are interested in are mod_h264_streaming.c and moov.c The code patches all the boxes in stbl (stts, stss, stsc, stsz, stco and ctts). If you have any questions, let me know.
  9. Jim Theberge Says:
    Hi Arjen, I downloaded the source, built it and have it running on a local server - thanks! Since the source is not documented, would you please explain the steps that you took in modifying the MP4 atom stuctures to produce the final returned MP4? Thanks, Jim
  10. Arjen Says:
    Hi Jim, Sounds like a good idea. I will start a page on the WIKI with some documentation about the inner workings. I'll keep you posted when I have something for review.
  11. Mroizo Says:
    Some of the files I was encoding with ffmpeg/mencoder/x264 were not streaming properly so I took a look at the code to see what was going on (built the source on Cygwin for win32) - it turns out that these encoders use version 1 of the mdhd atom occassionally, which your code currently doesn't support (timescale offset at 20 instead of 12). I was able to add support in, but because of the larger timescale values, many of the data types needed to be changed to avoid overflow. I can send you a copy of my modifications if you want.
  12. Dirk Says:
    Hi Mroizo, I deleted per accident Arjens comment: we under spam attack ... Idea: why dont spammers host their owns sites and spam each other So for now comments are closed

Sorry, comments are closed for this article.