FOMS Workshop and the State of Open Web Video

The 2012  FOMS workshop took place in Paris, France. The working meeting consisted of focused sessions dedicated to bridging gaps among browser vendors and ensuing associative APIs meet the needs of developers that are making use of them. Browser vendors represented included Google Chrome, Mozilla Firefox, and Opera. Players platforms such as Youtube, BrightCove / VideoJS, Long tail / jwPlayer and of course Kaltura were also represented.

Organised by Siliva, the meeting has long severed as a great space to hack and ‘get things done‘ in the open media standards and software space. This year was no exception. In this post I highlight some of the sessions that took place and provide a rough summery of the state of associated web video APIs.

WebRTC aims to deliver real time communication to the browser and encompeses a few diffrent apis and technologies; getUserMedia , MediaStream, PeerConnection and DataChannel. Together they will enable powerful new peer to peer applications; everything from video chat to real-time in browser multi-player gaming. Getting started with WebRTC is easy but presently its only really supported in Chrome. At FOMS, session on WebRTC, implementation differences between Firefox and Chrome were discussed and some concerns about limitations raised, like improving media selection support ( instead of only providing a 640×480 stream ) and setting goals to specify a Recording API.
Can I use this? While we may be able to connect one Firefox with one Chrome by the end of 2012, a fully interoperable WebRTC with peer data channel multi party support and capture / record flexibility probably won’t exist in shipping browsers till late 2013, and even then there will likely be large gaps ( such as codec’s or different apis ) in implementations. i.e its not likely iOS and windows 8 will support the vp8 / webm transport format, and microsoft has proposed their own RTC browser api.

Media Source Extensions / MediaStream Processing API

One area where the future is not so clear is the eventual protocol that will be adopted to support adaptive streaming and potentially a whole host of other media processing use cases ( playlists, video editors, live audio filters, gapless ad insertion etc ). Mozilla has backed the more complete MediaStream Processing API, and has a few working demos. Google has taken a more direct path toward supporting adaptive streaming with Media Source Extensions. Both include adaptive streaming as a use case. At the FOMS workshop the Media Source Extensions api was discussed in detail, and some impressive demos were shown; stringing together webm files via XHR requests to keyframe byte boundaries.
Can I use this? It appears cross platform consistent experience for a adaptive streaming api is some time off, and again no indication that Apple and Microsoft are on board towards a shared standard.  On the bright side, the Mozilla implementation may be robust enough to capture the subset of features described in googles implementation. Both implementation with javascript level byte muxing capabilites; should be robust enough to support something like DASH in JavaScript ( if not supported by the browser proper ) In the case of mobile chrome, a JavaScript Apple HLS remuxer may be possible & a desirable midleware library. ( If google does not ship native HTML5 HLS support in Android > 4.1 first ). All in all it will be an interesting space for midleware libraries that will have to abstract away platform differences to reduce costs and increase accessibility of adaptive stream distribution in the absence of the flash platform; with some platforms giving more fluid experiences then others.


WebVTT, like FOMS is pretty well organised ;) While the spec has grown away from vanilla srt files, its on track to be widely supported, or otherwise easily integrated with javascript libraries. Jeroen showed some nice demos, he also wrote a good TimedText Summary for FOMS which is worth checking out. The session summary has some summary as well.

Can I use this? yes. Libraries like captionatorjs can help. And I am sure more WebVTT js libs and player plugins will be blossoming over short period of time. Native browser support is nice, but won’t seriously limit adoption in the same way as lower level HTML5 technologies require closely coordinated interoperability at the browser level.

New Codecs


The new codec discussion at FOMS touched on the successful opus efforts, what could make up the next version of “webm” and transOgg container format.  Timothy Terriberry highlighted both opus and the goals of Daala / VPnext. Daala already has some presence and stated goals of besting H.265 ( the successor to royalty bearing h.264 )
Can I use this?
Not yet, but the point here is that important work is being done to create a royalty free challenger to the  H.265, so it will be difficult for mpegla to charge heavy royalties with a competative royalty free alternative.

This entry was posted in Codecs, Firefox, html5, JavaScript, Microsoft, webRTC. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">