Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for VP9 and Opus free codecs on default builds #52

Open
Ceylo opened this issue Aug 24, 2014 · 24 comments
Open

Support for VP9 and Opus free codecs on default builds #52

Ceylo opened this issue Aug 24, 2014 · 24 comments

Comments

@Ceylo
Copy link
Member

Ceylo commented Aug 24, 2014

No description provided.

@bluekirby0
Copy link

I believe this is something added in my fork already.

@Ceylo
Copy link
Member Author

Ceylo commented Sep 5, 2014

Indeed :)
However if you want it to be integrated, I'll need the data to complete the table at http://sfemovie.yalir.org/legal.php
The user needs to be able to check whether these are really free.

@bluekirby0
Copy link

Opus: Free for any use (as long as you do not participate in patent litigation against Opus)
Reference implementation code is licensed BSD-style.
http://www.opus-codec.org/license/

VP9: As part of the WebM project, it should have similar terms as vp8 but the specific license is not drafted for it yet. These two links provide information about the specifics available at this time: http://www.webm-ccl.org/vp8/faq/
http://www.webmproject.org/vp9/
Libvpx code is licensed BSD-style.

@Ceylo
Copy link
Member Author

Ceylo commented Sep 25, 2014

I did not answer on this but it's enough for these codecs to be officially supported. So it'll depend on when the pull request is ready :) Or I can just take care of this if you're busy.

@feliwir
Copy link
Contributor

feliwir commented Nov 19, 2014

Hope that i did fix this issue :)

@Ceylo
Copy link
Member Author

Ceylo commented Nov 19, 2014

Indeed that should do it but please never commit directly to master >< We'll see when the Jenkins build is finished

@feliwir
Copy link
Contributor

feliwir commented Nov 19, 2014

Okay , sorry :)

@Ceylo
Copy link
Member Author

Ceylo commented Nov 19, 2014

It went fine :) So the only check left (I let you do it if you've time) before closing this issue, is to test playing opus and vp9 streams with the binary produced by the sfeMovieRelease config.

@feliwir
Copy link
Contributor

feliwir commented Nov 20, 2014

Both vp9 and opus were checked

@feliwir feliwir closed this as completed Nov 20, 2014
@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

You did not test with all the binaries from Jenkins. I just tested a vp9 sample and it doesn't work.

Actually if you look at the console output on Jenkins, the vp9 decoder isn't enabled (only the vp9 parser). And actually this is quite normal, because even if you made vp9 part of the default codecs, the build script defines its own set of codecs.

See more precisely the script run by Jenkins: ci/build-all.py. Line 40 to 44 it defines the codecs to build for the "Free" config, which don't contain vp9.

The script design is probably wrong, or the CMake system that allows choosing the codecs is lacking something.

In the first case I mean the script should not overwrite the default free decoders (but what if the default become all decoders? the "Free" Jenkins config would become meaningless). And in the second case, our CMake scripts should allow to choose between "Free" and "All" rather than select the decoders manually. But that's discutable too.

Anyway at the moment we can't close the issue :/

@Ceylo Ceylo reopened this Nov 20, 2014
@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

Considering that the list of free decoders doesn't often change, I guess the easiest solution for now is just to update the script accordingly.

@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

Tested successfully with a vp9 sample and with binaries from Jenkins. However about opus, I always get a "no decoder for opus codec", even if I use a build of sfeMovie that includes ALL the decoders >_> the libopus decoder may not be enough or may not be what we think.

@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

After a quick look to FFmpeg configure options, it looks like Opus can only be decoded from the external libopus library. So it doesn't make a good candidate for a default decoder… sorry

@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

@bluekirby0 you had it working without any external library?

@feliwir
Copy link
Contributor

feliwir commented Nov 20, 2014

I tested on linux, but i guess i has libopus library installed. Ffmpeg also has an internal opus decoder (opus). See that in the docs

@Ceylo
Copy link
Member Author

Ceylo commented Nov 20, 2014

Oh you're right, I ran configure with a newer version of FFmpeg and there is the opus decoder besides libopus. Well I guess that leaves only 1 possibility :)

@bluekirby0
Copy link

If you have a static build of libopus somewhere it can be found by the linker then that works as well. Stick to the internal opus decoder though unless it proves to be deficient.

@Ceylo
Copy link
Member Author

Ceylo commented Dec 24, 2014

Now that FFmpeg has been updated these codecs can be added easily

@feliwir
Copy link
Contributor

feliwir commented Dec 24, 2014

@Ceylo
Copy link
Member Author

Ceylo commented Dec 24, 2014

You're right! And the Python script has them too. So I guess only testing is left to make sure it works fine with these decoders.

@feliwir
Copy link
Contributor

feliwir commented Jan 14, 2015

I tested the following vp9 video succesfully:
http://base-n.de/webm/out9.webm

Unfortunaly i can't test opus support since sfeMovie doesn't allow playing audio only and there was no video with opus as audiocodec. The tool HandBrake, which i usually use to edit videofiles, doesn't support opus

@Ceylo
Copy link
Member Author

Ceylo commented Jan 15, 2015

Arg, here on OS X I can play audio only files. Window creation fails but it doesn't prevent the program from working. I guess you get some kind of fatal error with window creation, am I right ?

@feliwir
Copy link
Contributor

feliwir commented Jan 15, 2015

Yes, i get an X11 error on linux, saying that size can't be 0

@Ceylo
Copy link
Member Author

Ceylo commented May 14, 2015

Audio files should be testable now through the fix in this branch: https://github.com/Yalir/sfeMovie/commits/feature/SampleProgram

Will be merged as soon as it is confirmed to work fine on Linux and Windows (test ok on OS X for now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants