Dirac in the news
The release of VLC with Dirac support (via Schrödinger) and the release of the Dirac research codec (confusingly named dirac-1.0.0, sorry) has caused a bit of news in the geek press. I’ve noticed a few uninformed comments out there, and figured it would be wise to provide real information from a Dirac developer.
- Decoding Dirac takes a lot of CPU. This is true, depending on your definition of “a lot”. It is also on purpose. MPEG-4/ASP uses more CPU than MPEG-2, but gets better compression. Likewise with MPEG-4/AVC vs. MPEG-4/ASP. However, it doesn’t matter. A video stream either plays on a CPU or doesn’t. And most new computers (that aren’t specifically underpowered) are fully capable of playing Dirac at 1080p/30.
- Encoding Dirac can be slow. Right now, you either get slow and good (dirac-research) or fast and crappy (Schrödinger). This is an area of active development.
- Dirac and Theora will likely coexist. For a variety of historical and technical reasons, Theora encoder development has been concentrated on SD and smaller sizes (and corresponding bit rates) and Dirac encoder development has concentrated on SD and HD sizes and bit rates. And each currently appear to be better than the other in their respective areas. Given limited developer resources, I imagine this trend will continue.
- Tools exist for Dirac. Several will be released in the next few months, including both DirectShow and QuickTime plugins. (There are currently a few showstopper bugs remaining.)
- Comparing apples to oranges still doesn’t make sense. Many video encoders cannot be compared to each other because they focus on different problem domains. “1 Mbit/sec” is not a full description of how a particular video was encoded. That could mean CBR with a strict buffer model, or simply (file_size/duration), which are completely different creatures.
Also, there are Dirac demo videos here.
September 21st, 2008 at 2:37 am
I for one like the thought that someone actually is developing a viable alternative. Some day that will be supported by default by many, if not every, environment.
However, your point about virtually every cpu being able to decode, isn’t perhaps a very good approach. Nettops can’t. Nothing like Via Epias or the new Atoms can’t. They have accelerator chips/funtions for wmv9/mpeg4 and they work. For Dirac? Nothing.
Take a higher end computer then. The fact that you have the juice doesn’t mean you should waste it. Many display adapters offer accelerating functions even then for things like colorspace conversions and some parts of crunching the codecs itself.
What Dirac project should really do is to make concise specifications of the functions that should be implemented on hardware in order to accelerate also Dirac. I’m pretty sure Intel and Via could be made to hop on at some point. Then Dirac would be usable for all.
The reason why I personally care about nettops and lower power machines is that I have grown really tired of noisy machines. Computers are something that should be absolutely invisible to the users, and they should all be passively cooled. At some point of the history the development managed to go plain wrong.
September 21st, 2008 at 3:16 am
I do not understand why you think that “it doesn’t matter” that “(d)ecoding Dirac takes a lot of CPU”. There are not just PCs, but also embedded PPCs on the client side, if you want a successful codec - i.e. one that is also used by TV stations.
Also, the Ogg Vorbis desaster should have tought us that hardware resource-saving implementations DO matter.
September 21st, 2008 at 7:45 am
So I personally define 100% CPU on a 2GHz Processor (decoding the smalledst of the demo videos) as *a lot*
Wonder how that works with lower resolutions on mobil devices…
What I really wonder though: Is it the demo videos that have the sound out of sync (a bit to late) or is it the schrödinger in Ubuntu that is broken?
September 21st, 2008 at 12:38 pm
rawsausage:
I read your comment as: “I want an hardware implementation”. The BBC is working on one. Portions of it are in the Numedia hardware boxes. Schrödinger already has an experimental nVidia CUDA backend, which is like hardware, except that it’s not.
I’m sure you’d agree that comparing the CPU usage of a software codec and a hardware codec is a bit silly.
It was also a bit silly that I forgot to restrict the domain of my post to “desktop and laptop CPUs”.
somebody:
Many Internet broadcasters currently allow you to choose among different stream bit rates, not only for people with slower connections, but also for people with older computers and/or people that don’t have hardware decoding.
Florob:
The out-of-sync sound is likely a problem with GStreamer’s ts demuxer.
September 22nd, 2008 at 8:57 pm
[…] First, Dirac, the BBC’s experimental open video codec, recently reached version 1.0. The latest version of VLC will play Dirac, so you can download and watch these sample videos, if you’d like to get a feel for it. More interesting technical details on Dirac developments can be found here. […]