Page 1 of 3

Media Content Player (VP8 versus libavcodec)

Posted: Mon Dec 10, 2012 11:59 pm
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.

Re: Media Content Player

Posted: Tue Dec 11, 2012 12:37 am
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.

Re: Media Content Player (VP8 versus libavcodec)

Posted: Tue Dec 11, 2012 9:41 am
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").

Re: Media Content Player (VP8 versus libavcodec)

Posted: Sun Mar 17, 2013 3:18 am
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

Re: Media Content Player (VP8 versus libavcodec)

Posted: Tue Mar 19, 2013 10:17 pm
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.

Re: Media Content Player (VP8 versus libavcodec)

Posted: Tue Mar 19, 2013 10:26 pm
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.

Re: Media Content Player (VP8 versus libavcodec)

Posted: Fri Apr 05, 2013 3:48 pm
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.

Re: Media Content Player (VP8 versus libavcodec)

Posted: Fri Apr 05, 2013 7:47 pm
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.

Re: Media Content Player (VP8 versus libavcodec)

Posted: Sat Apr 06, 2013 12:33 am
by Hoikas
Don't forget that Nokia is essentially another arm of Microsoft at this point. :roll:

Re: Media Content Player (VP8 versus libavcodec)

Posted: Sun May 19, 2013 6:10 pm
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