Enabling video & audio recording in the browser.
Introduction
At Mozilla Labs, we’re constantly trying to push the boundaries with respect to what the browser can do. We’ve experimented with audio recording in the browser as part of the Jetpack prototype earlier, and want to revisit the idea. There have been great strides on video playback recently, but there’s still some work to be done before users can create multimedia content for the web, on the web.
The Rainbow add-on for Firefox is an early developer prototype that enables web developers to access local video and audio recording capabilities using just a few lines of JavaScript. The add-on generates files encoded in open formats: Theora (for video) and Vorbis (for audio) in an Ogg container. The resulting files are accessible in DOM using HTML5 File APIs, which may be used to upload them to a server. Check out the included example to see how simple it really is!
This pre-alpha version of the add-on only works with the Firefox nightly builds on a Mac. We’re working hard to extend support to Windows, Linux and 64 bit platforms as soon as possible (there are currently no plans to support earlier versions of Firefox). We recommend going through the README, which lists known issues.
Get Involved!
Here are a few things we plan to work on in the near future:
- Support for Windows and Linux.
- Allow live streaming of video feeds.
- Implement a robust permissions mechanism.
- Support WebM/VP8 video encoding as an alternative to Ogg/Theora.
- Make Rainbow a restartless addon so users can get going instantly.
As with any Mozilla project, we will develop Rainbow in the open, and the sources are available for everyone to hack on. We welcome contributions from one and all: please feel free to report issues on the Github tracker, or even send us pull requests!
We’re excited about the possibilities Rainbow will open up for content creation the web. If there is something in particular you’d like to see happen in this context, we’d be more than happy to hear about it! Catch us on IRC at #labs (irc.mozilla.org), or the Labs discussion forum.