In order to record a few desktop sessions on our Fedora GNU/Linux machine, we decided to use the OBS Studio as it appeared to be a very powerful tool.
Unfortunately, this software does not ship with the official repositories so we had to install it from the rpmfusion.org repository using the following commands.
#Enable access to both the free and the nonfree repository #free repository: for Open Source Software (as defined by the Fedora Licensing Guidelines) which the Fedora project cannot ship due to other reasons #nonfree repository: for redistributable software that is not Open Source Software (as defined by the Fedora Licensing Guidelines); this includes software with publicly available source-code that has "no commercial use"-like restrictions sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm; #Perform the installation sudo dnf install obs-studio;
Background:
RPM Fusion provides software that the Fedora Project or Red Hat don’t want to ship. That software is provided as precompiled RPMs.
Codecs in Fedora
By default Fedora does not ship with several codecs whose license is not free.
So we had to install a few packages manually and be able to playback or process sever multimedia formats.
Specifically we installed the following plugins and libraries for GStreamer
(needed for the Totem Movie Player):
gstreamer1-libav
: This package provideslibav-based
GStreamer
plug-ins.
Libav is a free software project, forked from FFmpeg in 2011, that produces libraries and programs for handling multimedia data.gstreamer1-plugins-good
: GStreamer Good Plugins is a collection of well-supported plugins of good quality and under the LGPL license.gstreamer-ffmpeg
: This package provides FFmpeg-based GStreamer plug-ins.
GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. Its plugin-based architecture means that new data types or processing capabilities can be added simply by installing new plugins.
The command to install these packages was:
sudo dnf install gstreamer1-plugins-good gstreamer-ffmpeg gstreamer1-libav;
Additional h264 – h.264 Codec – Optional
Following, we decided to install the OpenH264 codec implementation and its extensions for Firefox
and gstreamer
.
Cisco
provides anOpenH264
codec (as a source and a binary), which is their of implementationH.264
codec, and they cover all licensing fees for all parties using their binary. This codec allows you to useH.264
inWebRTC
withgstreamer
andFirefox.
It does not enable generic H.264 playback, only WebRTC.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.txtUpstream Firefox versions download and install the
OpenH264
plugin by default automatically. Due to it’s binary nature, Fedora disables this automatic download.
To install the codec we performed the three following steps:
sudo dnf config-manager --set-enabled fedora-cisco-openh264; sudo dnf upgrade; sudo dnf install gstreamer1-plugin-openh264 mozilla-openh264; # Afterwards you need open Firefox, go to menu -> Add-ons -> Plugins and enable OpenH264 plugin.
Bonus: Black Screen Issue
If you are having issues with the OBS Studio
black screen bug, have a look at this post, it may be able to help you.
This post is also available in: Αγγλικα