What Lib-Ray is All About
When we looked for a good choice for releasing a free-culture film in high-definition, we were really disappointed by the options. We could release on Blu-Ray, of course, but there's a whole raft of objections to the DRM, region-coding, and closed/proprietary nature of that standard. Everything about Blu-Ray is antithetical to our business model and way of thinking about media.
On the other hand, just dropping a multimedia file on a flash drive comes nowhere near the rich experience of a DVD or Blu-Ray disk. But it's not really that hard to create that experience using open standards. There are multimedia codecs which are free (Theora, VP8, and Dirac -- with VP8 being a clear technical leader in this area), and the web has given us HTML5, which certainly has everything you need to create the sort of menu features you're used to on DVD and Blu-Ray disks.
There is a little bit of development work to make it happen, of course: we've got to
- write a standard in the sort of unambiguous (but highly technical) format that engineers use to check compatibility;
- create an easy-to-use program to help people master their own videos in the format;
- build a reference implementation of a player that can play the format back on computers, portable devices, or "Home Theater PCs" (later, it might be possible to make a dedicated player);
- master a couple of test releases;
- and document it all with a formal spec and tutorials.
This can all be done on a tiny shoestring budget compared to what was spent on Blu-Ray, because we're doing everything in the open with open source software and open standards. And we're not wasting our time on elaborate schemes of "copy-protection" or "region-coding" or "DRM" -- which are all about preventing playback, not enabling it.
Still, it's more work than I can afford to do in my spare time, especially when I'm working on producing and directing my own project, "Lunatics", and I did not want to burden the Lunatics production budget with being the sole sponsor of this project. If it came to that, we'd probably be better off just dumping MKV files on a flash memory card, and releasing the high definition video that way.
But that would really lack style -- I don't want to offer a technically inferior product in order to keep it free. So I decided to run a separate Kickstarter campaign for Lib-Ray to see if I could attract some interest in developing it as a standard.
And it has attracted quite a bit of interest: the project has been mentioned in Linux Pro Magazine; I've been interviewed by Ars Technica; and I've been supported enthusiastically by Question Copyright's Karl Fogel (who actually suggested the name "Lib-Ray" for the standard). Nina Paley (creator of "Sita Sings the Blues") has been an enthusiastic supporter, mainly because she wants to release her own movies in this format -- she's contributed her film, with her endorsement as one of the reward releases we are offering in the Kickstart. Michael Tiemann, who you may know as one of the founders of Red Hat, supported Lib-Ray with a generous $5000 Corporate Sponsorship in the name of his current business, Manifold Recording. Richard Stallman of the Free Software Foundation has said that it "sounds very good" and has offered design advice to meet our goals of preserving user freedoms with the format.
In fact, I think this is the most popular project I've ever proposed. I don't think I'm the only one dissatisfied with Blu-Ray.
As a result, we've raised over $14,000 in pledges (as I write this, we've just passed 78%, though we only have 5 days left). But we won't see any of it unless we make the $19,000 that we've bid to do this project (there's an explanation of the costs in the FAQ below). That's just how Kickstarter works.
To fund it, we are offering as backer rewards, two releases: Nina
Paley's (creator endorsed) "Sita Sings the Blues" and a "Blender Open
Movies Collection" which will contain all three of the
currently-finished Blender Open Movies: "Elephants Dream", "Big Buck
Bunny", and "Sintel". All will be in a very-high quality high-definition
format (1920x1080 or "1080P" resolution). Like any good movie release
these days, they'll have extras -- information about the
filmmakers, alternate audio in some cases, and subtitle
tracks in many languages ("Sintel" has subtitles in 44 languages; "Sita
Sings the Blues" in at least 18).
These special releases will also contain complete copies of the player software and wizard in their data directories (which is why the releases don't come with the CD-R -- the same data will be on the movie card).
We're close -- there's a decent change we'll make it. If we don't, we might be able to regroup and try again, of course, but it'd likely not be in time for our own release, and it could drag out for a long time after that.
So, if you're willing to pitch in a little on Lib-Ray, we'd really appreciate it. What would really help, though, is if you can just tell everybody you know who might care about a project like this -- because it's really the number of supporters that counts at this point.
- Lib-Ray Home Page
- Lib-Ray Open Source Player Project (Newly minted, there's not a lot there yet)
- Lib-Ray Google Group (for discussing the design of the standard)
Lib-Ray: An Open HD Video Standard for Free Culture and Independent Film
In April of 2011, after exploring the options for releasing a free culture film project in HD Format and finding it wanting ("Five ideas for escaping the Blu-Ray blues"), I started this project to establish a basic standard for HD video that used existing open standards and would give all of the benefits of DVD or Blu-Ray videos (menus, extras, alternate audio tracks, subtitles, and so on) with none of the restrictions. It would also provide some nice features that DVD and Blu-Ray expressly do not provide, such as metadata for easy integration into archival systems (because the old content industry wants to block that kind of use).Karl Fogel, of QuestionCopyright.org, suggested the name "Lib-Ray" for this standard, and so the project was born. After going through some initial prototyping cycles, I now have a very solid idea of what this format will look like:
- Physical Media: MMC/SDHC Flash memory cards
- Video File Format: MKV container file with VP8 video and FLAC or Vorbis audio (this standard is similar, but a little more permissive than WebM, and is optimized for use on fixed media rather than downloads).
- Typical Bitrates: 12-24 Mbps (similar to Blu-Ray or HDTV transmission rates)
- Video Quality: "Full HD" (1920x1080 at up to 30fps (future releases may extend this to 60fps, 3D video, and eventually "4K" video at 4096x2048 pixels -- I'm offering a 4K release of "Sintel" -- 'experimental' because you may have a hard time finding hardware to play it back on).
- Experiments suggest that we can exceed a PSNR of 45 and an SSIM of 95% at these rates -- making this an extremely high-quality format
- Menu system is based on HTML5 -- it's possible to do everything needed by disk menus and then some
- The player will use the Gstreamer and Webkit libraries for video playback and menus, respectively
- The player will be written in Python with the python-gst, pywebkitgtk, and python-gtk
Now All We Have to Do is Build It
At this point, I no longer have any doubt that this format will work. What remains is simply the time it takes to put it all together.
Here's what I propose to create with your help:
- Example releases of free-culture videos in Lib-Ray format: "Sita Sings the Blues" and a "Blender Open Movie Collection" ("Elephants Dream", "Big Buck Bunny", "Sintel")
- A reference-implementation software player (in Python) to provide playback with menus, supporting all of the core features of Lib-Ray. This should be fairly simple since most of the needed functionality is provided by Gstreamer and Webkit libraries, which both have excellent Python APIs available.
- A GNU/Linux-based reference-design Home Theater PC system to run this software and act as a player (could also play DVDs or Blu-Ray with the right software).
- A GTK application wizard to automate the process of mastering a simple Lib-Ray video from your video masters
- A reference book documenting all of the above, including: the technical details of the Lib-Ray standard, the process for creating a Lib-Ray release using existing command-line tools, and how to use the simple GUI-based wizard and player software, as well as the spec for the hardware player
Where Will the Money Go?
The breakdown of the costs on this project are basically:
- about 10% or $1900 for Kickstarter and Amazon Payments
- about 40% goes into materials/manufacturing costs for rewards
- about 50% is the "development budget" of about $9500
Most of the development budget is a stipend for me to cover the estimated three months of work I feel this will represent. I am moderating a design review, making the appropriate design trades, and then writing all of that up in a formal document describing the standard so that engineers can understand it and make sure their own implementations will work. I will then write a reference implementation of a player for this format (a simple python application -- it's basically a customized browser) and a wizard application for creating compliant releases (a python script, using command line tools, with a PyGTK graphical user interface). And then of course, I'm going to write and self-publish a book including the specification and separate tutorials written for developers, filmmakers, and users of Lib-Ray -- it'll be called the "Complete Guide to Lib-Ray".
That's a lot of work, but I can do it in three months.
Since this started as a technical project to support my own free-culture movie release, it should probably not be surprising that I am also going to be working on the production of "Lunatics" during this year. So, there may be some significant pauses in production of Lib-Ray. However, there are gaps which will allow me to work on it.
I actually think I can most likely get this Lib-Ray project finished before the end of 2012 if all goes well, but I am adding an extra six months to the expected dates on the rewards just to allow for unforeseen (but frankly expected) delays or roadblocks in the development process. I'd rather estimate long and deliver early!
- (30 days)