Re: Package FFMPEG with royalty free codes (AV1, THEORA, VPX, OGG, OPUS, SPEEX, ...) for Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andreas Schneider wrote:
> I have electron building offline for Fedora, you can find it here:
> 
> https://build.opensuse.org/package/show/network:im:signal/nodejs-electron

I see from the presence of electron-13-openh264-format-security.patch that 
you are building the bundled OpenH264. This is not going to be allowed on 
Fedora: only the openh264 repository provided by Cisco is allowed to 
distribute OpenH264 for Fedora due to how the H.264 patent license works. 
And as I understand it, you cannot even build against a system OpenH264 
(because that repository is not enabled in the build system). The only 
packages that support OpenH264 within Fedora are those that can dlopen it at 
runtime, which Chromium cannot.

The build of openh264 is also controlled by enable_proprietary_codecs, which 
you unconditionally set to true. So your approach is not going to work on 
Fedora. In fact, you are not even supposed to include openh264 in the 
tarball at all. At least in qt5-qtwebengine, I added an rm -rf line to the 
tarball cleanup script that removes it (some time ago, back when upstream 
had added the bundled copy), I have not checked whether the chromium package 
does that too, but in any case, it should.

This is also another reason why just swapping out ffmpeg will not give you 
fully working support for patent-encumbered codecs, whereas the qt5-
qtwebengine-freeworld approach (just rebuilding the whole thing) will. (qt5-
qtwebengine-freeworld in RPM Fusion does include the bundled OpenH264, as 
there is nothing preventing shipping non-Cisco builds there, the copyright 
license is perfectly fine, it is the patent license that only applies to 
builds shipped by Cisco.) FFmpeg does not include a H.264 encoder at all. It 
has support for using an external libx264, but Chromium does not support 
using that libx264 support, nor using libx264 directly. Instead, Chromium 
relies on OpenH264 for encoding (probably because that ensures that the 
bitstream will only use features that are also supported by the OpenH264 
decoder used by some other browsers, even though Chromium does not use the 
decoder from OpenH264, only the encoder). Hence, Chromium uses OpenH264 
directly (for encoding), which is a compile-time decision based on 
enable_proprietary_codecs and not affected by replacing FFmpeg at all.

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux