The Open Video Conference is an annual event that brings together video creators, intellectual property scholars, and developers for a weekend of creating, remixing, and hacking. The conference was combined with the Foundations of Open Media Software workshop which attracted the developers of Opera, Firefox, and Webkit (Perhaps Microsoft should keep an eye out for next year’s conference?).
2011’s OVC departed from last year’s monolithic format of session on top of session, opting for a smaller crowd with tracks devoted to getting things done. Around 400 of us were privileged to attend, and we were able to shift between the creative, copyright, and development tracks as needed to effectively share knowledge between these disparate but related fields–and did we get things done!
This post focuses on the development sessions at #ovc2011.
Stay tuned to our news feed for information more attuned to video
Popcorn.js was the focus of a few working groups. Over the past year Popcorn has graduated from Bocoup’s open source incubator and with the assistance of Mozilla it has become a project in its own right within the Mozilla Web Made Movies initiative.
The Popcorn Maker expands on Butter to provide multitrack timeline editing for composing Google Maps, Wikipedia, Twitter, and other Popcorn plugin data assigned to html divs.
Jonathan McIntosh, Zohar Babin, and Boaz Sender began the conference with a development session geared toward making an HTML5/popcorn.js video version of the Gendered Advertising Remixer. McIntosh’s advertisement remixer uses the regimented timing of children’s toy advertisements to encourage viewers to swap audio and video from male and female ads–showcasing how gender is taught via mass media. Try the demo for yourself, and fork the project on GitHub to reuse it for your own projects.
Rick Waldron, Cole Gillespie, Drew Cimino, and I made use of the popcorn plugin sprint to begin outlining a simple development server for developers and content creators to quickly get up and running with the Node.js, web sockets, Popcorn Maker, media storage, and JSON metadata storage for popcorn scripts and plugin data.
Developers from CISCO, Mozilla, and Google put together an exciting demo and brainstorming session session for WebRTC (Real Time Communications). WebRTC aims to provide streaming access for data transfer between browsers with no server required–all communications are transferred between peers. Check the slides from the presentation
WebRTC has been in development for a year and it is expected to land in development versions of Opera, Mozilla, and Webkit by the end of September.
Advanced Media Stream Manipulation in HTML5
There are many use cases for quickly switching video streams within a single video element: adaptive streaming requires that transitions from one bitrate stream to another be seamless, video editing within the browser will require the same, presenting transformative video in a gamified news paradigm, and content protection will be able to build on stream switching to allow securely transmuxing encrypted streams.
A few selected notes from the Adaptive Streaming Session:
Netflix is implementing the MPEGLA Dynamic Adaptive Streaming over HTTP (DASH) manifest format (download the draft spec here) for adaptive streaming and content protection.
- multiple tracks / accessibility
- trick modes (e.g. deal with fast forward by dropping to lower framerate)
- 3D, multi-view, scalable video
- protected content
webkitSourceAppend is a recenlty introduced addition to Chromium/Webkit that provides a similar funtionality to the video tag that Flash allows with it’s AppendBytes and NetStream.
- This implementation is weeks old and needs better error handling as well as extensive testing.
webGL has quickly become the preferred method of adding complex video filters to the video and canvas elements on top of its basic usage as a three dimensional modeling and gaming environment within the browser.
The reason for using webGL for advanced video processing is that it is the best way to take advantage of multicore graphical processing units on mobile and tablet devices. As in the case of providing adaptive streaming, being able to harness the incredible throughput of the GPU rather than the central processing unit saves clients battery power (as we move forward the CPU becomes used more for scheduling GPU rendering and processing than for performing complex calculations). And using the GPU to combine and render video elements saves video broadcasters bandwidth and provides viewers with a malleable viewing environment.
Check out these great demos in Firefox:
- Seriously.js is a framework for applying video filters to video tags and and canvas element. Fork the project on GitHub.
- No Comply is a demo of using video, the audio api, and webGL to provide an interactive music video with video game elements that the viewer controls.
And in addition to Seriously.js, check out these libraries for making use of webGL now:
It was very powerful to see the creative exchange of ideas for future web video applications taking place between OVC participants on one side of the room, at the same time that the technical, legal and political foundations for enabling these application was actively being built on the other. This fusion of creativity that takes place at OVC will continue to enable truly magical experiences on the web; from the mash up projects built at conference, to dreaming up web video applications of the future.
The task at hand for the Open Video Alliance its nothing short of ensuring web video as a medium continues its transcendence from the constrained heritage of TV and Film. With this conference we can see participants continue to rise to the challenge, making really cool experiences you won’t see on TV!
All session notes from the conference are conveniently stored on OpenEtherPad.org.