= OpenH264 Caleb McKee :revnumber: unknown :revdate: 2021-06-04 :category: Applications :tags: How-to, Multimedia [abstract] This page contains information on the Cisco https://www.openh264.org/[OpenH264] codec. == Background Cisco provides an OpenH264 codec (as a source and a binary), which is their of implementation 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 link:https://bugzilla.mozilla.org/show_bug.cgi?id=1057646[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: https://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 link: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 (if you have at least `fedora-repos-33-0.3` package or newer). In order to install OpenH264, just 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 https://mozilla.github.io/webrtc-landing/pc_test.html[this page] (check _Require H.264 video_). == Manual install of binary * View and agree to the https://www.openh264.org/BINARY_LICENSE.txt * 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//gmp-gmpopenh264/1.1/ + cd ~/.mozilla/firefox//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 .... See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs.