libgdx / gdx-video

A libGDX cross platform video rendering extension
Apache License 2.0
147 stars 50 forks source link

Support VP8 and WebM on desktop #13

Closed mnn closed 8 years ago

mnn commented 8 years ago

It would be nice to have one format of video which could be used on desktop and Android (after all e.g. tablets and desktops are closing fast). From what I read FFmpeg library can be compiled with VP8 and WebM support (unfortunately I have no clue how to do that).

RBogie commented 8 years ago

It is technically really easy to include. However, because we are no lawyers, and it's really hard licensing wise, we didn't include anything other than theora support. If you are 100% certain that the licenses for this are right, we can include support for it quite easily.

mnn commented 8 years ago

Oh, I was reading wiki and it seemed fine.

In May 2010, after the purchase of On2 Technologies, Google provided an irrevocable patent promise on its patents for implementing the VP8 format, and released a specification of the format under the Creative Commons Attribution 3.0 license.[6] That same year, Google also released libvpx, the reference implementation of VP8, under a BSD license.

But I'm also not a lawyer... :/

mnn commented 8 years ago

From http://www.webmproject.org/about/faq/#licensing (I'm assuming it's an official page):

WebM and the codecs it supports (VP8/VP9 video and Vorbis/Opus audio) require no royalty payments of any kind. You can do whatever you want with the WebM code without owing money to anybody.

RBogie commented 8 years ago

I will try to change the parameters for the ffmpeg build next weekend. You can try it as well (Maybe you already have a file to test against?) by simply changing the parameters in each of the build-ffmpeg-*.xml files. Building can then be done by running {desktop-project}/jni/build.xml through ant.

RBogie commented 8 years ago

I will update the file that can be found in #2 to be up to date with these changes.

mnn commented 8 years ago

@Robbiedobbie Thank you for changes and for compiling it. I tried it myself few days ago, but after "successful" build resulting in empty jars I gave up (got no previous knowledge of Ant, so I probably broke something).