From Fedora Project Wiki

(Added info needed to enable the OpenH264 plugin)
m (Fixed grammatical error on section "Background")
(8 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page contains information on the Cisco OpenH264 firefox plugin.  
This page contains information on the Cisco [http://www.openh264.org/ OpenH264] codec.  


= Background =
= Background =


Cisco provides a binary version of a OpenH264 plugin for firefox. This plugin is needed for WebRTC along with other H264 decoding. This binary is released under this agreement from Cisco: http://www.openh264.org/BINARY_LICENSE.txt
Cisco provides an OpenH264 codec (as a source and a binary), which is their implementation of H.264 codec, and they cover all licensing fees for all parties using their binary. This codec allows you to use H.264 in WebRTC with gstreamer and Firefox. It does '''not''' enable generic H.264 playback, only WebRTC (see Mozilla [https://bugzilla.mozilla.org/show_bug.cgi?id=1057646 bug 1057646]).  


Upstream firefox versions download and install this plugin by default automatically. Due to it's binary nature, Fedora disables this automatic download.
The code source is available at https://github.com/cisco/openh264 under a BSD license. The binary is released under this agreement from Cisco: http://www.openh264.org/BINARY_LICENSE.txt


= Source =
Upstream Firefox versions download and install the OpenH264 plugin by default automatically. Due to it's binary nature, Fedora disables this automatic download.


Source for this plugin is available at https://github.com/cisco/openh264 under a BSD license.  
== Installation from fedora-cisco-openh264 repository ==
 
A <code>fedora-cisco-openh264</code> repository is distributed since Fedora 24 by default (if you have at least <code>fedora-repos-24-0.5</code> package or newer). It contains OpenH264 binary [[Non-distributable-rpms|built inside the Fedora infrastructure]], but distributed by Cisco, so that the all licensing fees are still covered by them. This repository also contains OpenH264 plugins for gstreamer and Firefox. It is enabled by default since Fedora 33. However, if it is not enabled for whatever reason, you can enable it:
<pre>$ sudo dnf config-manager --set-enabled fedora-cisco-openh264</pre>
and then install the plugins:
<pre>$ sudo dnf install gstreamer1-plugin-openh264 mozilla-openh264</pre>
 
Afterwards you need open Firefox, go to menu -> Add-ons -> Plugins and enable OpenH264 plugin.
 
You can do a simple test whether your H.264 works in RTC on [https://mozilla.github.io/webrtc-landing/pc_test.html this page] (check ''Require H.264 video'').


== Manual install of binary ==
== Manual install of binary ==


* View and agree to the http://www.openh264.org/BINARY_LICENSE.txt
* View and agree to the http://www.openh264.org/BINARY_LICENSE.txt
* Download http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip
* Download the appropriate binary for your system here: https://github.com/cisco/openh264/releases
 
Example installation for version 1.1:
 
wget http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip
  mkdir -p ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
  mkdir -p ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
  cd ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
  cd ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
  unzip ~/openh264-linux64-v1.1-Firefox33.zip
  unzip ~/openh264-linux64-v1.1-Firefox33.zip


== Firefox config changes ==
=== Firefox config changes ===


Type about:config into the Firefox address/URL field and accept the warning.
Type about:config into the Firefox address/URL field and accept the warning.


From the Search field type in 264 and a handful of options will appear. Give the following Preference Names a value of true by double-clicking on false:
* From the Search field type in 264 and a handful of options will appear. Give the following Preference Names a value of true by double-clicking on false:


   media.gmp-gmpopenh264.autoupdate
   media.gmp-gmpopenh264.autoupdate
Line 31: Line 44:


* Restart Firefox
* Restart Firefox
* After restarting, the following string in about:config will change to the current version that has been installed from the web:
  media.gmp-gmpopenh264.version

Revision as of 22:12, 28 March 2021

This page contains information on the Cisco OpenH264 codec.

Background

Cisco provides an OpenH264 codec (as a source and a binary), which is their implementation of H.264 codec, and they cover all licensing fees for all parties using their binary. This codec allows you to use H.264 in WebRTC with gstreamer and Firefox. It does not enable generic H.264 playback, only WebRTC (see Mozilla bug 1057646).

The code source is available at https://github.com/cisco/openh264 under a BSD license. The binary is released under this agreement from Cisco: http://www.openh264.org/BINARY_LICENSE.txt

Upstream Firefox versions download and install the OpenH264 plugin by default automatically. Due to it's binary nature, Fedora disables this automatic download.

Installation from fedora-cisco-openh264 repository

A fedora-cisco-openh264 repository is distributed since Fedora 24 by default (if you have at least fedora-repos-24-0.5 package or newer). It contains OpenH264 binary built inside the Fedora infrastructure, but distributed by Cisco, so that the all licensing fees are still covered by them. This repository also contains OpenH264 plugins for gstreamer and Firefox. It is enabled by default since Fedora 33. However, if it is not enabled for whatever reason, you can enable it:

$ sudo dnf config-manager --set-enabled fedora-cisco-openh264

and then install the plugins:

$ sudo dnf install gstreamer1-plugin-openh264 mozilla-openh264

Afterwards you need open Firefox, go to menu -> Add-ons -> Plugins and enable OpenH264 plugin.

You can do a simple test whether your H.264 works in RTC on this page (check Require H.264 video).

Manual install of binary

Example installation for version 1.1:

wget http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip
mkdir -p ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
cd ~/.mozilla/firefox/<yourprofile>/gmp-gmpopenh264/1.1/
unzip ~/openh264-linux64-v1.1-Firefox33.zip

Firefox config changes

Type about:config into the Firefox address/URL field and accept the warning.

  • From the Search field type in 264 and a handful of options will appear. Give the following Preference Names a value of true by double-clicking on false:
 media.gmp-gmpopenh264.autoupdate
 media.gmp-gmpopenh264.enabled
 media.gmp-gmpopenh264.provider.enabled
 media.peerconnection.video.h264_enabled
  • Restart Firefox
  • After restarting, the following string in about:config will change to the current version that has been installed from the web:
 media.gmp-gmpopenh264.version