OGG

You are currently browsing the archive for the OGG category.

Lawrence Lessig by Joi Ito, CC-BY

Lawrence Lessig by Joi Ito, CC-BY

The Open Video Alliance will be hosting an online chat with Lawrence Lessig tomorrow at 6pm eastern time / 3pm pacific time (see more time zones here.)

There are a lot of events in person as well. I will be at the event near San Francisco.

The event will also be broadcast live with open video, thanks to Fluendo. The best client for you to watch it in will be either Firefox or VLC. More instructions on clients can be on the openvideo wiki.

There was a recent post on LWN suggesting that three specific Nokia patents may cover Theora. A deeper analysis indicates that’s just not true.

Two of the patents 6,950,469 and 7,263,125, are post-VP3 and therefore not relevant because the patent filing dates are after the invention and introduction of VP3 (the basis for Theora.) Thus, Theora predates these patents and could not infringe.

The other patent, 6,504,873, requires the affirmative step of defining a “linear equation” between two reference pixels. Theora does not use such an equation; thus it doesn’t satisfy the limitations of the claims and does not infringe.

Today at the Mozilla all hands I saw two cool things:

1. A decent sized (600×400 or so) Theora video playing on a Nokia N900, decoding on the DSP with the main CPU kept at around 50%. (Pulseaudio is about 10-15% of that, and the rest of Vorbis decoding and some work to get the video onto a fullscreen texture.) This is based on David Schleef’s Theora-on-DSP work and it’s showing real promise.

2. With Bas’ Direct2D windows build, I’m able to play a 1080p Theora (test here) video on my Lenovo X200s and it’s smooth as butter. Fully scaled, full framerate, full screen, no drops. Pretty amazing. And he’s only doing scaling in that code, not yet doing the YUV->RGB conversions so there’s still a huge amount of room to improve here.

All good improvements for HTML5 and open video.

The open video alliance has put up a wonderful little video up that tries to talk about all of the issues around open video and why it’s important. It’s based on Interviews that were done at the recent Open Video Conference.

I switch back and forth between Linux and Windows 7 pretty regularly these days.  But I have has this problem with Linux. I can’t run Firefox 3.6 nightlies (which are nicer than the 3.5 release) and Weave and Flash all at the same time. I can run Firefox 3.5 and I can have Flash, but Weave doesn’t work. Or I can run 3.6 with Weave but then Flash crashes the browser. It turns out that for me Weave is way more important than Flash but I still miss being able to watch the occasional Youtube video.

If you’ve ever run Linux for any period of time, you’ve had this kind of experience.

Anyway, I decided to try and make it so that I could easily play Youtube videos without having to use Flash. (Flash – in many ways – is the weak link in the chain.  In this case it’s because I can’t fix/hack it, although I’m happy to not have it because my browser is a lot more reliable.)

Theora + Youtube = Love

Theora + Youtube = Love

I wrote a greasemonkey script called Theoratube that connects to the Firefogg extension. It’s based very heavily on the really great Youtube without Flash Auto user script that lets you embed videos as a plug-in. But in my case I decided to use native Theora and HTML5 video because it’s more reliable, has controls and doesn’t require any additional software to start working.

How does it work?  It pulls down the video, uses Firefogg to transcode it, and then stuffs it back into the browser via a private URL.  It’s slow because it has to pull + encode the entire video, but it works surprisingly well for something that is as hacky as it is.

The worst part is the delay in between loading it and the first time you can play the video.  It needs a few changes to make it more usable:

1. It needs to download the video, start transcoding it and stream it into the browser as soon as possible.  This shouldn’t really be a problem and will probably be a pretty good experience.  Youtube bursts its traffic to start and then throttles it way back and at least on my machine the encoder can keep up pretty easily to transcode live.  This means taking it out of greasemonkey and putting into a proper extension to get everything inline properly.

2. The current Firefogg stuff works pretty well but it isn’t really designed for this use case.  For example, once you start a download of a file there’s no way to cancel it.  Same with encoding.  Also it needs an event feedback system instead of polling, which is what the greasemonkey script has to do right now.  But if you’re moving it to an extension above anyway this is probably pretty easy to do – just download in the extension directly and then include Firefogg for the encoding part.

3. Firefogg can only encode directly on a file instead of being part of a stream.  Not sure if ffmpeg2theora can handle this across platforms or not – I suspect so, but it’s something that needs to be fixed.

4. It really needs a big online cache to store data once you’ve downloaded it and encoded it to a free format.  Think of it as collaborate transcoding in the cloud.  Download, transcode, re-upload so that others can benefit as well.  You’ve already got the Youtube ID and the format it came from – that would make it pretty easy to key off of and do a quick lookup before trying to re-download the video and re-encode it.*

5. It needs to match particular quality formats to bitrates for the encoder.  Right now it just encodes everything at top quality since it’s just local and it’s the least loss you can buy.

6. The copyright issues here are…interesting.  There’s some content on Youtube for which the uploader actually has the copyright on that particular work.  (I mean, we’re talking about Youtube.  Your source for 15 remixes of Drunkest Guy Ever.)  And this is mostly about accessibility, not downloading.  So we’ll see if anyone gets upset.

7. It doesn’t handle youtube embedded videos on the web.  This will be a little trickier, but certainly not impossible.  Just need some more greasemonkey to help there.  Probably have to transform the object embeds into something else.

8. Seeking might be a little challenging, but not impossible.  There’s a parameter to the get_video call that lets you specify where to start pulling the video.  Probably offset in the number of seconds.  But needs some investigation/work.

So this is certainly 0.1 software.  But it raises an interesting tactic in making content more accessible in open formats – even without the participation of the original party.  Sometimes the work around isn’t what you expected.  (Note: I would like this for t61 as well.)

* No fooling, I wonder if Google would be willing to host such an archive?  People are willing to transcode to work around their lack of support for open formats – maybe they could at least provide a valid archive for them to work together?  Or maybe the Internet Archive?

the theora cookbook

Adam Hyde and a small team of people got together in Berlin and wrote up a really great cookbook for people who want to understand Theora, codecs and the issues around open video.

It apparently clocks in at a whopping 212 pages. Hats off to Adam and his crew!

Today Dailymotion, one of the world’s largest video sites, announced support for open video. They’ve put out a press release, a blog post on the new openvideo site as well as a demo site where you can see some of the things that you can do with open video and Firefox 3.5.  They are automatically transcoding all of the content that their Motion Makers and Official Users create and expect to have around 300,000 videos transcoded into the open Ogg Theora and Vorbis formats.  You can view the site they have up at openvideo.dailymotion.com.

I’d like to personally thank the wonderful people at Dailymotion, along with Paul and Tristan who helped bring this project to the point where it is today.  Dailymotion has been an excellent test case for us because they haven’t just encoded with the formats that we support but also built a full-fledged player using HTML, CSS and JavaScript that looks, feels and acts like the flash-based players we see on the web today.  They also make it possible to embed open video using an clever <object> tag that loads the video content safely in an HTML page.

Standing on the twin pillars of the HTML5 video API and royalty-free codecs, the movement to bring open video to the web is well underway. Dailymotion, along with Wikipedia and the Internet Archive, have all committed to start serving up open video.  The free encoders are getting better and better over time and we’re starting to see more interest in the technologies.

Dailymotion, Mozilla and a large number of other partners will be at the Open Video Conference on June 19th and 20th.  If you’re interested in talking with us you might want to come down to the conference and learn what’s happening with video on the web.

Monty posted another update on the work that’s been going on to improve the Theora encoder. It’s worth re-posting here because I think that it includes some compelling images and graphs that show you improvements. So I would suggest that people wander over and have a look at his update.

The headlines include:

1.  They have made substantial improvements to Theora’s encoder.  The images which I include below really show off the improvements in sharpness at the same bitrate.

2. That the encoder is now creating higher-quality streams than H.264 at many bitrates. The data includes some comparison with x264 without ffmpeg bugs which show on this test that x264 does do better than Theora in this particular test. However, there’s an important side note worth reading on this topic.

3. That the original tests that gave Theora such a bad name were done with incredibly bad tools.  See the squiggly line on the graph in monty’s post for evidence of that.

Anyway, a picture speaks a thousand words so I’ll include them here.  Open them up in two tabs and switch between them for the full effect.

Theora 1.0:



Theora.next:



Monty points out that this was largely other people’s work and they should get most of the credit. So Greg, Tim and many others – thanks. Keep up the great work.

On June 19th and 20th, there will be a conference in New York City on open video.  If you’re interested in the problems around open video and want to talk with other people, many of whom are working on solutions, this will be the place to be.  Ryanne Hodson and Jay Dedman of Ryanishungry.com recently posted a video based on short interviews that were done at a recent open video roundtable.  It’s worth checking out.

•Direct video link: [OGG] [MP4]

Also consider following the openvideo twitter user, identi.ca user and facebook group.

Chris Double posted about this but I thought it might be worth it to put together a simple video screencast of what this actually looked like in practice. It’s a damn neat idea and opens up all kinds of possibilities. Once again, with video as a first class citizen on the web, what can people dream up?

« Older entries