Skip to content


Installing Codecs⚓︎

You need to play online or offline multimedia content, but the content does not play or you receive errors. Usually this is a sign of missing codecs. Due to legal limitations proprietary codecs can't be stored and served directly from the openSUSE/SUSE infrastructure. To install proprietary codec packages you will need to add the Packman repository and install the required software from there. Some commonly used and installed codecs are:

  • ffmpeg
  • gstreamer-plugins-good
  • gstreamer-plugins-bad
  • gstreamer-plugins-libav
  • gstreamer-plugins-ugly
  • libavcodec-full
  • vlc-codecs


Tumbleweed users who only occasionally use codecs (for example through a web browser or a handful of dedicated applications such as VLC or OBS Studio) might find it convenient to avoid the addition of external repositories by using a version of these applications shipping with their own codecs. On Tumbleweed the advantage of this approach is more salient as codecs will be kept separate from system libraries, securing extra stability for the user. Interested readers may refer to this page for explanations.

You could get codecs using Zypper or YaST but you should get them with OBS Package Installer (opi) as there are complications and risks associated with the alternative methods.

Installing the Open Build Service Package Installer (opi)⚓︎

opi can be used to search and install software from the Open Build Service (OBS) and it works on Leap and Tumbleweed. The only limitation is that this method will consider Packman as the unique provider of all codecs — not just the proprietary ones which openSUSE cannot provide. Proceed if this limitation is acceptable for you. If it is not acceptable, consider using flatpaks (see the Info above).

From a terminal:

  1. Install opi, the Open Build Service command line utility: sudo zypper install opi
  2. Run the installer for Packman-provided codecs: opi codecs
  3. Confirm the prompt (y — if your system language is English — and then ENTER).

As of this writing, opi performs the following operations behind the curtains (see here and there for reference):

  1. Add the Packman repository with a higher priority than the official repositories.
  2. sudo zypper ar -cfp 90 '' packman
  3. Upgrade the system exclusively using the Packman repository.
  4. sudo zypper dist-upgrade --from packman --allow-downgrade --allow-vendor-change
  5. Install the codecs to the system.
  6. sudo zypper in --from packman ffmpeg gstreamer-plugins-bad gstreamer-plugins-libav gstreamer-plugins-ugly libavcodec-full vlc-codecs
  7. sudo zypper in gstreamer-plugins-good gstreamer-plugins-good-extra

Upgrading and installing packages using the option --from packman tells the system to set Packman as their unique, permitted provider. This means that updates from the openSUSE official repositories targeting the same packages will no longer be applied. This behaviour is intended for users who agree to have all their codecs provisioned by Packman.

Last update: 2022-05-25