As title.
GStreamer packages on ubuntu are old (1.24.2).
https://gstreamer.freedesktop.org/download/#linux
What is the best way to update GStreamer to the latest version available (1.24.8) without breaking dependencies?
As title.
GStreamer packages on ubuntu are old (1.24.2).
https://gstreamer.freedesktop.org/download/#linux
What is the best way to update GStreamer to the latest version available (1.24.8) without breaking dependencies?
Download here and build it yourself
The whole thing is then installed to /usr/local.
If you are not satisfied, simply delete the stuff from /usr&local and go back to the old way.
That is the nice thing about Linux.
I installed it as follows, but you might complain that there are still packages missing that you have to install with apt-get
.
You have to adjust Ninja and Meson to your paths
meson ../gstreamer-1.24.8 -Dtests=disabled
ninja -j20
ninja install
Linux distribution owners are responsible for the maintenance of their packages. Historically, GStreamer had rolling releases and no stable branches. It would seem that Unbuntu maintainer have maintained a maintenance model that limits to a single release onto which they choose what to backport. This was appropriate in the GStreamer 0.10 erra. Users shall try to engage a discussion with them to try and change this model, and adopt the tracking of GStreamer stable branches.
An alternative is to develop your software in a way you keep control of your dependencies. Creating software notably using flatpak and it’s runtimes. This will ensure that your software is run against the GStreamer you have chosen and tested, but also help you distribute your software across multiple distributions, without having to rebuild and adapt for each.
It is generally a mistake to solely rely on the distribution-shipped version of GStreamer if you are working on a production app. You will usually move at a faster pace than the distro packages are updated.
Installing into /usr/local is an easy option, but it’s very easy to get into dependency hell. The most fool-proof way is to use a docker/podman image for deployment, and if you need access to the GPU or to your Wayland/X11 session, you can use x11docker
.