Media Content Player (VP8 versus libavcodec)

Discussions About CyanWorlds.com Engine Client & Plugin
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Media Content Player (VP8 versus libavcodec)

Post by JWPlatt »

Hoikas wrote:Fixing any compile issues is gonna be trivial though as we already planned on converting everything over to vp8.
viewtopic.php?p=7564#p7564

This is the first these forums have seen mention of plans to move to Google's VP8. See http://en.wikipedia.org/wiki/VP8

The assumption here has been that we would implement FFmpeg/libavcodec, a multi-format solution that offers compatibility with current content. Before OpenUru.org and H'uru head down yet another divergent path, it might be helpful to discuss the pros and cons of each solution.
Perfect speed is being there.
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Media Content Player

Post by Hoikas »

Over a year ago, I tried implementing libav support into CWE. What I found was a library that a) did not compile on Visual Studio (MSVC does not implement the C99 standard, which libav requires) and b) did not link properly with executables containing a static zlib. This ultimately led me to abandon attempts to port video to libav. Libav also has the disadvantage of having codecs encumbered by patents. While one can compile these out, that requires a separate MinGW build environment, which, IMO, is more work than necessary.

The best free (as in speech) video codecs around are WebM (vp8) and Theora. I had issues compiling Theora for VS2010 a year ago. Futhermore, there have been no new releases of Theora in a very long time, which concerns me. I have not tried anything with vp8, but several of the other H'uru guys seem to like it, so it seems to be the best choice so far.

When the license violation mess started, branan sent a quick email to Chogon suggesting that we replace Bink with VP8 (this was before we knew that plBinkPlayer was in violation). He seemed receptive, so this seems like a great opportunity to rip out another non-free library in favor of something free (as in speech) and unencumbered by patents.
Image
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Media Content Player (VP8 versus libavcodec)

Post by Mac_Fife »

Thanks for raising the point about VP8 Hoikas, even if it was only in passing ;) - It's caused me to dig a bit deeper into the "legals" on this.

Pretty much everything on xiph.org (Ogg, Vorbis, Theora, etc.) seems to have been static for some time, and Theora hasn't had any new tickets raised in about 2 years. You could look at that as either: a) There's no-one using it, b) there's no-one bothering to do any new work or c) It's all really stable and there's no need to spend time on it.

Patents are not in themselves a problem provided that their use is properly licensed, which for our case mostly means that they're free from fees related to their use. So, looking a bit harder at libavcodec, despite being offered under GPL/LGPL licences from http://ffmpeg.org it does seem to include numerous codecs for which the methods may be subject to patents - FFmpeg claim not to know since they never used the patents to develop the codecs, and advise only that doing something for yourself is unlikely to be problematic but things could be different in a commercial environment. I see H.264 (MPEG-4) in there and I could readily see MPEG-LA getting twitchy over that (there are 59 pages of patents involved). Google, however, seem to have made the necessary royalty-free grant of use of the patents they acquired through On2 Technologies for VP8.

[digression] The VLC media player uses libavcodec but, as a French entity, VideoLan claim that software patents are not applicable in Europe under 2(c) of Article 52 of the European Patent Convention: This seems tenuous at best as that only applies to the software code - where the underlying technology "solves a problem" (in this case the efficient streaming of AV data) then that is still patentable, so Article 52 only excludes some of the relevant patents. There are comments around that "VideoLan could have their ass sued out of existence" which seem justifiable, but they don't seem to care. :? [/digression]

Patent rights aside, the build issues that Hoikas reports are a significant concern. Most of the issues could probably be worked out in time but the question is whether it's worth the effort. I think Hoikas has already concluded that it probably isn't. Most of the Windows based C/C++ compilers I've seen don't fully comply with C99, so even getting something pre-compiled and ready to link would be a chore.

That leaves the issue of converting existing video data (or new video content) into the VP8 bitstream format, and it looks like there are several tools (many free) around for that. Ironically, you could use FFmpeg to convert Bink .bik files to VP8 8-) although I'd expect (hope) that Cyan will have the pre-Bink source video files on hand somewhere anyway. If Chogon is not overly concerned about reformatting then that's good enough for me.

Google re-licensed VP8 under the Modified BSD licence (the "3-clause BSD license") which is compatible with GPLv3 (it was originally under the 4-clause BSD license which doesn't play well with GPL), so that's OK and doesn't cause any hiccups with the current CWE license. Removing Bink will leave a redundant additional permission in the CWE license but there's no need to re-license because of that (there are other redundant permissions there just now anyway, "just in case").
Last edited by Mac_Fife on Tue Dec 11, 2012 9:43 am, edited 1 time in total.
Reason: Typo!
Mac_Fife
OpenUru.org wiki wrangler
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Media Content Player (VP8 versus libavcodec)

Post by JWPlatt »

Mac_Fife wrote:I see H.264 (MPEG-4) in there and I could readily see MPEG-LA getting twitchy over that (there are 59 pages of patents involved). Google, however, seem to have made the necessary royalty-free grant of use of the patents they acquired through On2 Technologies for VP8.
There's a great story here of Google's VP8 settlement win over MPEG-LA and the larger issue of codecs generally. The article finishes with the spectre that VP8 is not yet in the clear because of possible Nokia patent action against it.

http://www.infoworld.com/d/open-source- ... res-214525
Perfect speed is being there.
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Media Content Player (VP8 versus libavcodec)

Post by Hoikas »

I think pretty much every software program ever steps on some sort of patent, given the fact that the USPTO tends to allow people to patent blatantly obvious things. I would be surprised if there is not a patent on the proper way to wipe oneself :roll: . Anyway, I would say that it's probably important to stick with technologies that haven't been vigorously targeted by patent trolls or have some entity like Google who is actively trying to work out those legal issues.
Image
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Media Content Player (VP8 versus libavcodec)

Post by Mac_Fife »

I could start a great long monologue on how patenting of the mundane is effectively stifling creativity, particularly in the software world, but I wont, although I'm surprised that someone hasn't tried to patent the 256 different ways you can arrange 1s and 0s in a byte. Instead, I'll just agree with Adam.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Media Content Player (VP8 versus libavcodec)

Post by JWPlatt »

Here's the latest on VP8, Nokia and patent trolls:

http://www.infoworld.com/d/open-source- ... deo-215851

There are a number of interesting links out of the article.
Perfect speed is being there.
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Media Content Player (VP8 versus libavcodec)

Post by Mac_Fife »

There was another blog on Foss Patent's site that set out to present more of Nokia's side of the argument. The main thing I took from that particular discussion was the different ways people use the term "open" - Nokia's argument was that H.264 is more "open" than VP8, this despite H.264 being closed source and VP8 open source. In this case it comes down to H.264 being an "open standard" in that many companies have contributed to it, while VP8 is essentially a solo effort by Google, so Nokia claim that makes H.264 a more appropriate choice for HTML5. And that's the crux of it: Nokia doesn't like the idea of a single company being in charge of something that is a key part of future web technology. They may have a point there, but it's case of wanting to kill VP8 in its entirety in order to stop it being used for one particular application.

H.264 is, in my opinion, crippled by need to pay to license the patents. Anyone creating tools to encode or decode H.264 content needs to pay for privilege, meaning that MPEG-LA (the patent licensor) would want payment from every browser or plug-in creator that plays H.264 content as well the makers of tools that create content. In some cases, they also expect to be paid every time H.264 content is streamed and for every minute of duration, although they conceded that content delivered via the web to users free of charge would not need a license fee. Thinking about the Bink videos in MOULa then that would imply that the videos would only be license-free in H.264 format if they were streamed from the server every time they were played.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Media Content Player (VP8 versus libavcodec)

Post by Hoikas »

Don't forget that Nokia is essentially another arm of Microsoft at this point. :roll:
Image
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Media Content Player (VP8 versus libavcodec)

Post by JWPlatt »

Here's the latest with Simon Phipps' tracking of this VP8 issue and, on behalf of open source developers, he's not entirely happy with Google.

http://www.infoworld.com/d/open-source- ... dom-218765
Perfect speed is being there.
Post Reply

Return to “CyanWorlds.com Engine - Client & Plugin”