If you find this useful and you use bitcoin, please donate:
1JgbMaSV49Z9zaR89ah9NPQjQewvCdDNUj
Thank you.

AWEL GStreamer 1.6.2 Packages for RHEL/CentOS 7

There is a saying that has been going around for awhile, “RHEL on the server, Fedora on the desktop.”

The basic notion of course being that as an end user, you should accept whimsical decisions and software that is bleeding edge opposed to actually being stable and usable without pulling your teeth out. I do not understand the logic of it.

Particularly in the last three or so years when the GNOME developers have started not only removing functionality and hiding functionality so you have to use CSS and JavaScript to do what should be basic options, but they have started taking away features I used on a daily basis and do not want to be without.

I tried doing it their way. I tried using Fedora, I tried using Ubuntu. I really did, but it always ended up being a frustrating experience. No wonder Linux is not growing very much in Desktop adoption when those are the choices new users are told to use.

When I installed CentOS 7 on my Thinkpad T410 while out of town so I could start building packages for my server project, I used the MATE Desktop in order to preserve my sanity, and everything was perfect. Well, almost everything was perfect. The version of GStreamer that ships with CentOS 7 has two fatal flaws:

  1. It is just barely too old to decode the VP9 video codec used in some WebM videos.
  2. It is missing many media plugins that could have been built.

Fortunately GStreamer is one of the better FLOSS projects out there and it is really easy to replace the GStreamer 1.x packages that RHEL/CentOS shipped with with a more complete modern build. So that is what I did, and this software repository is the result. Like Obi-Wan said, ‘Use the source, Luke…’

After enabling this software repository, you will have the same plugins you have available in stock RHEL/CentOS 7 only newer and with some important fixes, like the ability to decode VP9 video in GStreamer based applications.

Additionally, you will have access to many GStreamer plugins that simply are not available in stock RHEL/CentOS 7. Hell, you will even have access to many plugins that are not even available in Fedora’s packaging of GStreamer.

Repository Description

This repository has just about everything GStreamer 1.6.2. In addition to the updated GStreamer itself, it has all the related plugin releases and the RTSP server.

Base Plugins

This package contains the well-maintained base plugins that every GStreamer install should probably have.

Good Plugins

These are plugins where the libraries the plugins link against are LGPL and the quality of the library code is considered to be very good.

Bad Plugins

These are plugins where the libraries the plugins link against are LGPL but the quality of the library code may not be at the same level as in the Good plugins.

Of particular interest to many users would be the gstreamer1-plugins-bad-acc package that allows decoding and encoding of AAC audio from within GStreamer based applications.

Ugly Plugins

These are plugins where the libraries the plugins link against are not LGPL. They are open source, but you might not be allowed to include the plugins with other products due to potential license conflicts. The quality of the library code is usually very good, Ugly only refers to potential license issues for those embedding GStreamer in another application.

Of particular interest to many users would be the gstreamer1-plugins-ugly-mp3 package that allows decoding and encoding of MP3 audio from within GStreamer based applications.

GStreamer LibAV

This plugin is a wrapper to the libav libraries that are part of FFmpeg. With this plugin installed, there will be very few audio/video codecs you can not decode with GStreamer applications.

GStreamer RTSP Server

This is a library that sits on top of GStreamer for building RTSP server applications. It is not needed by most desktop users, it is packaged here simply for completeness.

GStreamer Python

This package contains the Python bindings needed to create GStreamer applications in Python.

Repository Usage

This repository uses the [awel-media] package repository to meet some library dependencies. Make sure you have that repository enabled.

You can then enable this repository by running the following command as root:

yum install awel-gstreamer-release

You can then update your system GStreamer with:

yum clean all && yum update

Repository Repoview

To see the available packages:

Support

I do not offer official support but I do try to help people when I can. Eventually there may be a discussion list, but for now you can just e-mail me, remove the #s and @ the [at] and . the <dot> : alice#wonder[at]shasta#herps<dot>org