Well I found this topic interesting so I took a dive. Turn's out for now that html5 video is a time waste..... for now
The reason I would want to drive toward html5 is to gain better compatibility with devices and not need the flash player. Seemingly simple, but practically hard.
With the html5 video tag you get three basic containers, mp4 using h264, ogg vorbis, and google's webm. Now where to start....
h264 mp4 is the ideal container and encoding since it encodes very fast, can be hardware enhanced, and is compatible with even apple devices like the ipad. Now the bad news.... the mp4 format requires a MOOV index in the file which provides the segmentation data that allows you to seek. This file typically located at the end of the mp4 container prevents this format from streaming mostly. I say mostly because it can be moved to the front of the container, but this would require that the file already be in mp4 format with post processing done to move the MOOV bits. Bummer... a no go for anyone that wants to transcode their media on the fly.
What about webm? This is where I actually had some success and was able to get my content to render in chrome in a html5 video tag within subsonic. Initially very existing new, it turned out to be somewhat disappointing due to the poor performance in the libvpx video ffmpeg encoder. My setup was to basically use subsonic to invoke ffmpeg to convert to web format and output to the stream.m streamer available here:
http://code.google.com/p/stream-m/. Then using a html5 video tag in videoPalyer jsp i could connect to the output. On my quad core intel q6700 server, 720p content failed to downsample and resize to 100k stream efficiently. The encoding process was just to slow. For comparison on this machine using a build of ffmpeg from 3-7-12 h264 seemed nearly 5-8x as fast. I also noticed that while this feed played fine in the latest version of chrome, ff had troubles, and for the love of God IE I DO NOT WANT TO DOWNLOAD THE FILE.
This leaves ogv. The first thing i did here was to test the encoding performance. It did seem much better than webm, but most of the reading I have done seems to purvey that this format although as accepted as webm has been trumped by it. I'm sure stream.m could be adapted to stream this format, but why jump on a sinking ship when compatibility is involved.
Seeming pretty frustrated with html5 video, there are still options. JWPlayer may or may not be a part of this future (the benefit is that is can downgrade to flash easily), but video.js looks nice as well. What we are left with is HTTP live streaming of the files and RTP streaming. These options provide true streaming of the files and not just progressive downloading and we have traditionally seen in the flv streaming we have become accustomed to. There are some commercial RTP streaming options, but I will look at some POC java code for getting the job done.
Overall, html5 video is not right for subsonic now, but perhaps with better adopted codecs or real streaming of videos there may be hope.
Thanks,
ddubaya