Opening a .mkv file gives:
VLC could not decode the format "eac3" (A/52 B Audio (aka E-AC3))
What do I need to install?
Regards, Martin
Opening a .mkv file gives:
VLC could not decode the format "eac3" (A/52 B Audio (aka E-AC3))
What do I need to install?
Regards, Martin
Did you do the “vendor switch to Packman”?
I don’t know! Probably not - too scared to go “off piste”.
mprowe@Gzunder:~> zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias | Name | Enabled | GPG Check | Refresh
---+-----------------------------+----------------------------------------------------------------------+---------+-----------+--------
1 | picoscope | picoscope | Yes | (r ) Yes | Yes
2 | repo-backports-debug-update | Update repository of openSUSE Backports (Debug) | No | ---- | ----
3 | repo-backports-update | Update repository of openSUSE Backports | Yes | (r ) Yes | Yes
4 | repo-debug | Debug Repository | No | ---- | ----
5 | repo-debug-non-oss | Debug Repository (Non-OSS) | No | ---- | ----
6 | repo-debug-update | Update Repository (Debug) | No | ---- | ----
7 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No | ---- | ----
8 | repo-non-oss | Non-OSS Repository | Yes | (r ) Yes | Yes
9 | repo-openh264 | Open H.264 Codec (openSUSE Leap) | Yes | (r ) Yes | Yes
10 | repo-oss | Main Repository | Yes | (r ) Yes | Yes
11 | repo-sle-debug-update | Update repository with updates from SUSE Linux Enterprise 15 (Debug) | No | ---- | ----
12 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 | Yes | (r ) Yes | Yes
13 | repo-source | Source Repository | No | ---- | ----
14 | repo-update | Main Update Repository | Yes | (r ) Yes | Yes
15 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | (r ) Yes | Yes
mprowe@Gzunder:~>
See here for instructions:
https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories
Yes. But which codec(s) am I after? If I try installing the VLC Codec Pack, I get all this?
#### YaST2 conflicts list - generated 2025-03-11 10:29:53 ####
the to be installed vlc-codecs-3.0.21-150600.2.5.pm.4.x86_64 requires 'libavcodec57(unrestricted)', but this requirement cannot be provided
not installable providers: libavcodec57-3.4.13-150600.4.pm.4.x86_64[ftp.gwdg.de-openSUSE_Leap_$releasever]
[ ] Following actions will be done:
install libavcodec57-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libavcodec57-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
install libavformat57-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libavformat57-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
install libavutil55-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libavutil55-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
install libswresample2-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libswresample2-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
install libswscale4-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libswscale4-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
install libpostproc54-3.4.13-150600.4.pm.4.x86_64 from vendor http://packman.links2linux.de
replacing libpostproc54-3.4.2-150200.11.57.1.x86_64 from vendor SUSE LLC <https://www.suse.com/>
[ ] do not install vlc-codecs-3.0.21-150600.2.5.pm.4.x86_64
[ ] break vlc-codecs-3.0.21-150600.2.5.pm.4.x86_64 by ignoring some of its dependencies
#### YaST2 conflicts list END ###
… how is this managed? Or am I going down the wrong path?
Not really:
> LANG=C zypper search --installed-only VLC
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
---+-----------------------------+--------------------------------------------------+--------
i+ | libvlc5 | Shared code for the VLC media player program | package
i+ | libvlccore9 | Shared code for the VLC media player program | package
i+ | phonon4qt5-backend-vlc | Phonon VLC Backend | package
i | phonon4qt5-backend-vlc-lang | Translations for package phonon4qt5-backend-vlc | package
i+ | vlc | Graphical media player | package
i | vlc-codec-fluidsynth | FluidSynth integration for the VLC media player | package
i+ | vlc-codec-gstreamer | GStreamer integration for the VLC media player | package
i+ | vlc-codecs | Additional codecs for the VLC media player | package
i+ | vlc-lang | Translations for package vlc | package
i+ | vlc-noX | VLC without X dependencies | package
i+ | vlc-qt | Qt interface for the VLC media player | package
i+ | vlc-vdpau | Additional vdpau codecs for the VLC media player | package
> LANG=C zypper info vlc-codecs
Loading repository data...
Reading installed packages...
Information for package vlc-codecs:
-----------------------------------
Repository : Packman Repository - Essentials
Name : vlc-codecs
Version : 3.0.21-150600.2.5.pm.4
Arch : x86_64
Vendor : http://packman.links2linux.de
Installed Size : 119.8 KiB
Installed : Yes
Status : up-to-date
Source package : vlc-3.0.21-150600.2.5.pm.4.src
Upstream URL : http://www.videolan.org
Summary : Additional codecs for the VLC media player
Description :
This package enhances the functionality of the VLC media player by
codecs that are not available in the stock openSUSE distribution.
> LANG=C zypper repos 'Packman Repository - Essentials'
Alias : Essentials
Name : Packman Repository - Essentials
URI : https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/Essentials/
Enabled : Yes
GPG Check : (r ) Yes
Priority : 100 (lowered priority)
Autorefresh : On
Keep Packages : Off
Type : rpm-md
GPG Key URI :
Path Prefix : /
Parent Service :
Keywords : ---
Repo Info Path : /etc/zypp/repos.d/Essentials.repo
MD Cache Path : /var/cache/zypp/raw/Essentials
>
A little tip – use YaST – especially for the case of adding repositories and, choosing the correct repository for a specific given package and, for working out what has to be changed due to a new package from an “external” (non openSUSE OpenBuild Service) repository.
BTW, my personal version of VLC (not the codecs) has been installed from the openSUSE repositories –
> LANG=C zypper info vlc
Loading repository data...
Reading installed packages...
Information for package vlc:
----------------------------
Repository : Update repository of openSUSE Backports
Name : vlc
Version : 3.0.21-bp156.2.3.1
Arch : x86_64
Vendor : openSUSE
Installed Size : 1.8 MiB
Installed : Yes
Status : up-to-date
Source package : vlc-3.0.21-bp156.2.3.1.src
Upstream URL : http://www.videolan.org
Summary : Graphical media player
Description :
VLC media player is a multimedia player for many
audio and video files and formats (such as MPEG, DivX, mp3, ogg, ...)
as well as DVDs, VCDs, and various streaming protocols.
It can also be used as a server to stream in unicast or multicast
in IPv4 or IPv6 on a high-bandwidth network.
>
As far as I am concerned, I only ever did the “switch” and after that all “works”.
From YaST → Software → Software Management choose from the View meny → Repositories. Then at left select the Packman repositorie. That will give you a listing of packages at right. Above that list there is the text: Switch system packages to the versions … Click on that link and then Accept.
BTW.
You posted repositories list is useless as there are no URLs there. Please use zypper lr -d
or another one that includes the URLs.
That’s the level of direction I need. Thank you.
Opps… Sorry.
Its doing something now. Looks like it will take some time! Hopefully I’ll not need to come back for more help.
Regards, Martin
Please, keep us informed as to your progress and, if there’s anything else which needs to be worked through then, simply ask again.
A couple of additional hints for ensuring that, all package dependencies are being met –
> LANG=C zypper verify
Root privileges are required to run this command.
>
> LANG=C zypper packages --unneeded
Loading repository data...
Reading installed packages...
No packages found.
>
> LANG=C zypper packages --orphaned
Loading repository data...
Reading installed packages...
No packages found.
>
> LANG=C zypper packages --system
Loading repository data...
Reading installed packages...
S | Repository | Name | Version | Arch
---+------------+------------------+--------------------+-------
i+ | @System | libopenh264-7 | 2.3.1-2.suse1600.1 | x86_64
i+ | @System | mozilla-openh264 | 2.3.1-2.suse1600.1 | x86_64
>
The example worked better than expected –
We can’t expect our package maintainers to foresee every possible Use Case.
Yep. after a lengthy download and install, I rebooted (just from an excess of caution!) and it all worked fine. Thank you all very much.
Regards, M.
I have a question about this part.
Is what you are describing the same as doing:
sudo zypper refresh
sudo zypper dist-upgrade --from packman --allow-vendor-change
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
Or is it the same as just setting up the repo, but only downloading the needed packages from Packman?
Apparently you have an unclear picture about how zypper works.
sudo zypper refresh
sudo zypper dist-upgrade --from packman --allow-vendor-change
switches all installed packages to the version available from packman and is equivalent to what @hcvv suggested.
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
installs (or switches if already installed) only the mentioned packages to the version available from packman; other packages available from packman are not modified (and will not switch during further "zypper dup"s either).
“Only downloading” packages from packman does nothing to the system.
Yes I have! Thank you for the clarification!
So if I understand it correctly:
sudo zypper refresh
sudo zypper dist-upgrade --from packman --allow-vendor-change
Is going to switch all packaged, included the ones that are currently used and openSUSE-based, to their packman version. And from there on, the system (including when updating with zypper update
) is going to source their packages from packman.
if however only:
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
is used, the system will keep it’s own openSUSE based codecs and install the packman codecs on top. These will not be updated when run zypper update
, unless one uses:
sudo zypper update --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
Or a command of sorts? (I am not sure if this is correct)
Correct.
No, doesn’t work that way. That command installs or switches if already installed only those named packages. Once installed or switched those packages are tagged as “vendor = packman” and are updated from packman during a zypper update
.
There is a sort of “vendor stickiness” so that any package remains bound to its “vendor” until you install or dist-upgrade the same package from another vendor with --allow-vendor-change.
So all packages switched “to packman” remain “from packman” until you explicitly change them, updates or upgrades do not change vendor unless you explicitly state so (whether in the same command line or in the zypper config files).
And packages are never installed “on top of each other”; there are some packages that may be installed in different versions (e.g. kernels) but if different packages try to install the same file, zypper prints an error.
Reading man zypper
or simply issuing zypper <command> --help
might give a clearer picture (and if not so, we are here to help).
Okay, so the already installed OpenSUSE packages stick to my openSUSE repository, and the one I additionally installed through
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
would stick to the packman repository if I fire up zypper update
, is that right?
Because I did actually both things:
sudo zypper dist-upgrade --from packman --allow-vendor-change
on my desktop.sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs
(without switching everything to packman) - on my laptop.On my laptop, when updating with zypper update
I now get the following 33 packages are NOT getting installed
. If I understand this correctly, these 33 packages are the packages that are still managed by the openSUSE repo and that I did not switch to the packman repository - hence they stick to the OpenSUSE repository and are NOT getting installed.
Thank you a lot for your clear explanation , I think I finally got it!
However, I am still not sure of the use case, and when to chose one over the other, I guess this depends on the situation, if something is buggy with the base OpenSUSE packages, it would be worth giving it a shot with the Packman packages? Or is it better to just switch everything to the packman repo to avoid compatibility issues?
Yes, I think so.
There is no “one size fits all” rule. Generally speaking, openSUSE packages are not “buggy”, they are just “open” meaning open source software not encumbered by patents or similar restrictions. So some features might be disabled (intentionally, not by a “bug”) and if you need them you need a package “from packman” that may or may not be legally usable in your local legislation, so the check and choice is yours.
With novice users it is usually easier to advise “switch everything” and forget it. If you know what you are doing, switching only those packages you really need makes sense; but don’t expect us (as in “those that try and help people”) to invest several afternoons and endless typing just to understand what you really need and how to get there