Thoughts on Cisco's royalty free video codec?
While the Daala team was dragging their feet, Cisco has released Thor, a royalty free, FLOSS friendly video codec: http://blogs.cisco.com/collaboration/world-meet-thor-a-project-to-hammer-out-a-royalty-free-video-codec
Thoughts?
It actually looks like Cisco is collaborating with Daala's developers for the next-generation Internet video codec. See what http://blogs.cisco.com/collaboration/world-meet-thor-a-project-to-hammer-out-a-royalty-free-video-codec#comment-2347691 says in the comments:
The more technology we have to work with the better. The final NetVC codec will be neither Thor, nor Daala. It will be some kind of mix of the various contributions received. (disclosure: I'm in the Daala team at Mozilla)
See https://en.wikipedia.org/wiki/Daala#NetVC for a few more details.
> The next generation codecs are just beginning to emerge. There are two of note – Google’s proprietary VP9 codec, and the industry standard H.265 (HEVC) codec, which is the successor to H.264 (AVC).
wtf lol
From looking at the comments, it seems that he has a weird definition of proprietary :P
Wow. That warms my heart, it does.
"the Daala team was dragging their feet" What? Daala is a brand new design different to almost all other modern video codecs and it aims to be a generation ahead of H.265 and VP9. These things take time!
"These things take time!"
Indeed - I think t3g seriously underestimates the amount of work that is involved in making a codec. These things are usually done over the span of many years.
Take a look at the NetVC schedule - https://en.wikipedia.org/wiki/Daala#Schedule
This schedule is even incomplete, because the last thing listed is "Informational document on test results" which is almost 2.5 years from now, in December 2017.
To get an idea of the complete timeframe for a codec, consider that work began on what would become Opus in November 2007. The final specification was released as RFC 6716 on September 10, 2012 -- almost five years later. Then you need to factor in developers adding support into their programs, and distros adopting it as they go about their usual refreshes and pushing out new versions, and you can start to see that a new codec has a very, very long road ahead of it indeed.
My overall thought about Thor: It's good to have more stuff going into the IETF process but I don't plan to use Thor directly. Rather, it'll be whatever ends up coming out of the IETF process as NetVC several years from now. In the meantime I'll continue pushing the free codecs we have today.
For some shameless self-promotion, I'll point to my APT repository to add VP9 to Trisquel 7: https://jxself.org/webm/
There's also a link on that page to a sample video with WebVTT subtitles (Elephant's Dream) to test it out with VLC.
I went to the original source material and rendered the Sintel trailer in VP9, using constant quality mode (crf 33.) Here it is for your viewing pleasure: http://files.jxself.org/sintel_trailer.webm
The results seem quite good, considering it's 1080p and how low the bitrate remained through it: the high point is 500-something kbit/s.
Isn't the lead developer hired by Mozilla to work on the codec full time? If this was done in his free time only, then the long development time is understandable. Timing is everything as H265 could be pushed even further into our everyday lives while VP9 remains ignored and Daala still stays in development.
The NetVC codec is an interesting concept as it could potentially combine the work of Daala and Thor into a standardized open and royalty free codec. Let's just hope it doesn't take 10 years.
There are actually several people from Mozilla working on it. Now there's help from Cisco too and others. So while there's an army of people working on it, it'll still take years. Opus had people from Mozilla, Microsoft, Broadcom, and etc. and despite that army of people it still took five years of full-time work from all of those people.
HEVC/H.265 is not a magical beast that is merely breathed into existence: Work on what would become that codec can be traced back to 2004 (so in that case we're talking like 11 years) so, as you can see, developing a codec is a very long process with lots of work. I think you don't fully grok the amount of work that is involved here. :)
Finally, to be sure we're all on the same page, please don't expect to see Daala itself ever completed and released. Rather, that work is being folded into NetVC along with Cisco's Thor codec. So keep your eye on NetVC. :)
Right now the free world's answer to HEVC/H.265 is VP9, as it's in a similar state of development, and is actually rather good as I tried to show through my earlier message. :)
Its a shame that VP9 hasn't caught on besides YouTube and even they try to push H.264 when I have the WebM codecs. The only way to get me to force YouTube to use VP9 instead of VP8 is to set "media.mediasource.webm.enabled" to true in about:config.
"Its a shame that VP9 hasn't caught on"
+1 to that. There's a bit of chicken-and-egg with those making stuff and people being able to play stuff. Hence, that APT repo is intended to help change some of that by helping to increase the number of people that can play it. Here's hoping it helps.
Ah, well I need to update what I've said. In browsing the NetVC stuff [0] in more depth I see they have a milestone goal to have a reference implementation of an encoder and decoder in a little under two years, in May 2017. Not bad.
Google is now pushing V10 into their libvpx: https://www.phoronix.com/scan.php?page=news_item&px=Libvpx-VP10-Starts
Makes you wonder if they are going to contribute this to NetVC.
Cisco has hired patent lawyers and consultants familiar with video codecs and
created a development process which they say allows them to work through the
long list of patents in the space, and continually evolve their codec to work
around or avoid other HEVC related patents.
http://www.testbells.com/300-135.html Two weeks ago Cisco open-sourced the
code and contributed it to the Internet Engineering Task Force (IETF), which
already has a standards activity to develop a next-generation royalty free
video codec in its NetVC workgroup. This is a group Mozilla has been active
in and has been working on technology they call Daala, which they want to be
the successor to HEVC.