why open video?

[ Note: Mike Shaver gives the short version of this post.  I have done a great job of burying the lead here. There's a post from the Wikimedia Foundation on the topic and a post in the Mozilla Blog as well. ]

[ Update: There's a good note on ajaxian, the most important of which is the last paragraph.  Have a look. ]

Everyone agrees that the open web is becoming more important in our shared human experience.  Our applications, conversations and relationships are moving online and Mozilla finds itself more and more at the heart of defining both the underlying technology and the end-user experience of users of the web.  It’s an important role to have, and it’s one of the reasons why operating as a non-profit with a full understanding of our mission and impact are important.

Taking the long view, the open web as a technology platform isn’t something that we see in human history very often.  The printing press let you replicate knowledge cheaply and easily.  Television and radio lowered the cost of distribution of media.  The web took away the centralization of big media and anyone can produce and distribute.  The costs of replication, distribution and reaction have dropped to near zero.

I personally believe that this is because of the technology choices that were made in the early days of the evolution of the web.  Human-readable formats for documents, simple programs delivered as source code and the ability for anyone to be able to post and create.  There were no ivory towers or professional developers in those early days so the act of creation had to be simple.  Web technology required you to be technical-minded, but didn’t require huge amounts of training to get started.  Mixed with the end-to-end principle of the Internet and the fact that just about anyone could set up a server or a client meant that the web didn’t grow with the backing of huge players, but became a huge shared collection based on the small efforts of thousands of individuals.

The result of that has been an explosion of creativity and investment from single individuals all the way up to the largest companies.  Anyone can have an impact and anyone can affect the technology direction of the web.  Because anyone can build tools without permission that speak the lingua franca of the web, you can find tools to do just about anything.  It’s a truly vibrant marketplace.

There’s one exception to this: video on the web.  Although videos are available on the web via sites like youtube, they don’t share the same democratized characteristics that have made the web vibrant and distributed.  And it shows.  That centralization has created some interesting problems that have symptoms like censorship via abuse of the DMCA and an overly-concentrated audience on a few sites that have the resources and technology to host video.  I believe that problems like the ones we see with youtube are a symptom of the larger problem of the lack of decentralization and competition in video technology – very different than where the rest of the web is today.

In my mind there are two things that help drive that kind of decentralization:

  • You should be able to easily understand how something moves from a computer-readable format to something that is presented to a user.  For example, turning HTML into a document, turning a JPEG file into a picture on the screen or using HTTP to download a file.
  • You must be able to implement and deliver that technology without requiring anyone’s permission or license.  In reality this means that it should be available on a royalty-free basis and without encumbered documentation.

In the video world, there are some formats that fit the first quality:  Some formats are documented, understood and even widely deployed.  But more often than not they are subject to to per-unit royalties, large up-front fees and creating content in those formats (the encoders) are often so expensive as to be prohibitive to all but only the deepest-pocketed corporations or well-funded startups.  And there are very few video formats that meet the second.  This is not the kind of decentralization that made the web thrive.  It is quite the opposite.

So now we get to the Mozilla part of this story: what we’re doing about this.

  • In Firefox 3.1 we’re including support for the OGG container format with the Theora video and Vorbis audio codecs for the <video> element.  They represent one of the few combinations of formats that fits both the criteria above.  They aren’t perfect formats, but they are certainly good enough for how video is used on the web today.  And they are improving with time.
  • We’re also supporting the development of open video with a grant of $100,000 (USD) that will be administered by the Wikimedia Foundation to develop and support Theora.  You should expect to see some really great stuff coming out of that funding.  That work will make its way back into Firefox as well.
  • The other thing we’re able to do is to make video a first class citizen on the web.  This means we can do things with video and let it interact with other types of content (SVG, Canvas, HTML) in ways that haven’t been possible to date.  We hope that by releasing video from the plugin prison and letting it play nice with others we’ll be able to open up a new wave of creativity around video.  But more on that in another post.

We don’t expect that by doing this we’ll change things overnight.  Far from it – changes like this take time.  But we can certainly do our part to at least make it possible for these things to develop.  We want to see a market for video like we’ve seen for the web.  And this is our put to get that process started.

  1. mike’s avatar

    Why didn’t you go for Dirac to get better quality now?

    It’s not just for HD..

  2. James Henstridge’s avatar

    What about promoting human readable video formats? Perhaps you could use RDF as an encoding.

  3. Christopher Blizzard’s avatar

    I believe that Dirac will be rolled into the ogg player library and when that happens we’ll be able to use it. It’s dirac-in-ogg, not an entirely new container format.

  4. Longbow4u’s avatar

    It is great to see two of my favourite Free Software / Open Source projects cooperate in this vital strategic undertaking. Kudos!

  5. john.jones.name’s avatar

    this is great but really really I dont see how video can even work without player controls…

    you get this via SMIL and SVG

    if you add SMIL for the video then stuff works for video but without it things will not work the way content providers want them to and that is a bad thing they wont do the hard work to provide it in a new format if you cant customise the player SMIL is good at this…

  6. Christopher Blizzard’s avatar

    We include some player controls via the video tag that are there if you ask for them. They are very very simple – just a play/pause button and a progress bar to seek around. That’s in line with making things super-easy.

    But it’s possible to control with video tag with JavaScript – stopping, starting, etc. And it can generate events for JS that will tell you when it’s buffering, when you run out of buffer, etc. So it should be very possible to write a player very easily. You can also integrate it with , or what have you, so you can do cool graphic effects over the top of the video.

  7. Matt Cutts’s avatar

    Great stuff! I didn’t even know about Theora, but it sounds like a good way to get more open video out on the web.

  8. Drone’s avatar

    Well, as for me, there is H.264 on other side of the ring. And it is doubtful Theora can beat it. Taking into account there is Adobe who delivers it for free, bar is set. You cannot go lower than that. Beating simple MP4 like DivX is not an interesting goal at all as of 2009. Nobody will widely use your video unless it can compete on par with H.264.

    Which options are there? Imho you can take a look on Dirac, wavelet-based codec developed by BBC and put undeer open-source license and patent-free. Or Snow, another wavelet codec from Xiph. These are at least have chances to fight against H.264 on par if developed properly (it is believed that wavelets have more potential than DCT when it comes tp video compression).

  9. Arx’s avatar

    As for me, if someone haves 100k$ they are better to spend them on development of wavelets like Dirac. Theora can be something like xvid but will have troubles when trying to compete with H.264. And nobody needs yet another xvid-grade codec these days. For network video you have to compete with H.264 and it is a very tough competitor. Theora problem is that it is one generation of codecs older than modern competitors like H.264. It can compete with DivX but there is already H.264 which is better than DivX.

  10. Christopher Blizzard’s avatar

    Dirac is likely to come next. But a lot of that money is going to be spent on improving utility around the formats around the codec, which will benefit both Dirac and Theora.

    Also we don’t have to beat on quality – although the quality for low bit rates is more or less equal with an improved encoder – but what we can do is offer an improved experience for developers and users. Deep integration with the web and transparency are important.

  11. Chris Ball’s avatar

    Hi Chris,

    A curiosity that I haven’t seen answered anywhere else — why is Wikimedia adminstering the grant, rather than Xiph.org?

    Great news, in any case!

    – cjb.

  12. Longbow4u’s avatar

    @Chris Ball
    I think the reason is the main xiph.org / Theora developer is currently working for Wikimedia Foundation, sponsored by Kaltura Inc. So probably his work will continue to be financed, but this time thanks to Mozilla.

  13. Colby Hoke’s avatar

    Well, Monty, over at xiph.org (and employed by Red Hat) has been working on Thusnelda, which will definitely give H.264 a run for its money. We should be seeing some developments coming out very soon and I’m really wondering where this money will go exactly.

    But, I’m hopeful for better encoding when it comes to open video – it sure would make my life easier if I had better tools like this.

    (crosses fingers)

  14. Che Kristo’s avatar

    With Opera already being supportive of this lets hope Google jumps on board as well…leaving MS to follow our lead

  15. Jean-Bernard

    hello :)

    Just to let you know that on the French side of Mozilla we made a
    translation of your post
    Currently on this wiki page
    http://wiki.frenchmozilla.fr/wiki/index.php/Pourquoi_lib%C3%A9rer_la_vid%C3%A9o

    but soon to be published on Framalang site

    … unless you object?

    Just let us know

    Cheers

    - jean-bernard Marcon

    FrenchMozilla & BabelZilla


    Think Global, Make Locales!

  16. Drone’s avatar

    > Also we don’t have to beat on quality –
    Then, who will use it? Google already using MP4 (H.264) on youtube and users are glad to have video with decent quality at low bandwidth.

    While Theora can somehow to try to challenge old generation of codecs like xvid, I see no ways how it can challenge modern heavyweights like H.264 – it simply few generation of technologies older. It was VP3 originally. And I’m thinking On2 already did a fair job on improvements of their codec before releasing it. Now On2 haves VP8. I do not believe that such outdated design as VP3 can anyhow withstand against H.264 and other MODERN codecs. In times when divx 3 and similar bugged stuff was the best of the best, Theora had some chances if it was improved at this time. Today, few technology generations changed and there is H.264. And YouTube already uses it. And Adobe now somehow delivers their flash player with H.264 without charging royalties from users, after all.

    >although the quality for low bit rates
    >is more or less equal with an improved encoder
    More or less equal with which codec? Outdated things like divx and xvid? It actually loses a bit even to xvid. And totally beaten by x264 for example.

    > Deep integration with the web and transparency are important.
    Well, right now Theora can’t beat H.264 picture quality even given DOUBLED bitrate. Who will use it? Only few people shifted on freedoms? As for me I’m really prefer that “freedom” word does not also means something like “second rate” or “poor quality” or “half-baked”.

    Proof link: http://vorbis.org.ru/phpBB3/viewtopic.php?f=2&t=589
    It’s on Russian, sorry, but pictures and measurments still readable to anyone on any language. This is just Theora vs xvid vs x264 clashing on several bitrates. And AFAIK they used improved Theora encoder. You can see, Theora loses to xvid and completely beaten by h.264. Some pictures with H.264 at 800 kbps are looking BETTER than Theora at 1700kbps. That really BAD.

    And the bar is set. Today. Youtube already uses H.264. It is futile to ignore simple facts and will only harm technology adoption as the result.

    I’m sure world will accept codec comparable with H.264 but coming without royalties (everyone hates royalties and patents). But I doubt too much people will use bad codec ONLY because it’s free of royalties and patents (remember GIF files!They are still here, even when patent expired). And to let you think a bit: in my country there is no thing like software patents. And x264 is GPLed. I can legally use it without any fear and royalties. Can you give me at least one reason why I have to resort to noticeable worse codec instead? Do I really care about USA patents? Surely I’m not.

    Dirac at least more recent development and this technology not yet well optimized so I expect there is more room for improvements. Theora is simply too old to compete on par with modern state of art like H264. Especially with frozen bitstream format, etc. Can’t you see, usual MP4 like xvid was not used too much for things like youtube due to bandwidth constraints? What makes people to think that many server administrators, web mastes or users will be happy to spend twice more bandwidth than with H264 and still have worse picture quality?

    As for me, if there is opensource technology without patents and it can compete on par with proprietary stuff or beats it, I’m happy to use it and getting a real proponent of this technology, using this everywhere I can and telling others that it rocks. It is a case with Ogg Vorbis and I’m really using almost only Vorbis (mp3 is old and defective and others like AAC and WMA are fairly unpopular anyway and they still unable to beat Ogg Vorbis). But this is not a case with Theora, unfortunately.

  17. Drone’s avatar

    > What about promoting human readable video formats?
    And what do you planning to *read* in video streams? And how SMILE is bad for these who wants to read things? Video is just a sequence of frames and frames are just a bunch of pixels. And these are binary data by definition, especially after encoding by codecs (unless you’re using ASCII ART output in mplayer which is funny but also useless). These data in their representation are pretty meaningless to humans anyway and only make sense after they are passed to encoder and result is displayed as a a sequence of pictures. And either you will have to convert video data to something like BASE64, losing bandwidth efficiency by 1/3 or you will have crappy half-binary and half-text format plagued by stupid issues on it’s borders where text have to end and binary data have to start.

    For example, what will happen if decoder expects text but server returns data from another position in file and you will get chunk of binary data instead? Binary streams are easy to re-synchronize in such scenarios – with properly crafted binary stream format decoder will just skip bad data and resync at place where valid data starting to appear, this allows significant fault tolerance and graceful recovery from most of networking problems (do not forget that video is a REALTIME data and sometimes it’s even desirable to lose some frames rather than wait for them to arrive so many video casting protocols prefer UDP and HTTP is probably worst possible transport ever for video, but it’s most compatible). For these reasons mpeg streams can be also cut and divided or joined together easily at certain borders and decoders will re-sync at these borders in case of stream damaged or starts from unexpected position. What will offer text format in exchange? Just readability for stuff which is never usually seen by most of human beings anyway? Strange idea, IMHO.

    Why don’t you guys remember simple thing: best intentions often do not lead to best results. And crappy but readable formats with inferior logic or poor but open codecs are NOT what is called best results.

    Let’s open source software be a FIRST CLASS CITIZEN in this world. Not just a boring second-rate stuff which can only offer advantages like “open” or “readable” but NOTHING MORE THAN THAT. Let’s effective and open solutions to rock the world. You will never defeat proprietary stuff if it will be more efficient than opensource things around. But opensource development can be more efficient than proprietary, I believe this is true.

1 · 2 · 3 ·