VLC does not play .mkv in openSUSE 13.2

I have a fresh instalation of openSUSE 13.2 and wanted to install vlc. Knowing about the issue with vlc requiring some additional codecs I decide to install it by adding vlc 13.2 repo - http://download.videolan.org/pub/videolan/vlc/SuSE/13.2.

I installed **vlc ** and **vlc-codecs **but I still get infamous message:

No suitable decoder module:
VLC does not support the audio or video format “h264”. Unfortunately there is no way for you to fix this.

What else do I need to get this running?

Add the packman repo and remove the vlc repo, then reinstall vlc so it will from the packman repo and install them codecs for vlc

zypper in vlc-codecs

To install the complete restricted formats try this link.

http://opensuse-community.org/

This should be enough.

Maybe you have both Packman and the VLC repo? This will cause problems.

Please post your repo list.

zypper lr -d

I removed the vlc repo and added packamn (btw why is it improper to use vlc open suse repo?)
and reinstalled vlc and vlc codecs but it did not help.

Here is output of zypper se -s vlc

S | Name                           | Type       | Version               | Arch   | Repository           
--+--------------------------------+------------+-----------------------+--------+----------------------
.....
i | libvlc5                        | package    | 2.1.5-231.5           | x86_64 | Packman Repository   
i | libvlc5                        | package    | 2.1.5-231.5           | x86_64 | packman-essentials   
v | libvlc5                        | package    | 2.1.5-2.1.10          | x86_64 | Main Repository (OSS)
v | libvlc5                        | package    | 2.1.5-231.6           | i586   | packman-essentials   
v | libvlc5                        | package    | 2.1.5-231.5           | i586   | Packman Repository   
v | libvlc5                        | package    | 2.1.5-2.1.10          | i586   | Main Repository (OSS)
....
i | libvlccore7                    | package    | 2.1.5-231.5           | x86_64 | Packman Repository   
i | libvlccore7                    | package    | 2.1.5-231.5           | x86_64 | packman-essentials   
v | libvlccore7                    | package    | 2.1.5-2.1.10          | x86_64 | Main Repository (OSS)
v | libvlccore7                    | package    | 2.1.5-231.6           | i586   | packman-essentials   
v | libvlccore7                    | package    | 2.1.5-231.5           | i586   | Packman Repository   
v | libvlccore7                    | package    | 2.1.5-2.1.10          | i586   | Main Repository (OSS)
.....
i | vlc-noX                        | package    | 2.1.5-231.5           | x86_64 | Packman Repository   
i | vlc-noX                        | package    | 2.1.5-231.5           | x86_64 | packman-essentials   
v | vlc-noX                        | package    | 2.1.5-2.1.10          | x86_64 | Main Repository (OSS)
v | vlc-noX                        | package    | 2.1.5-231.6           | i586   | packman-essentials   
v | vlc-noX                        | package    | 2.1.5-231.5           | i586   | Packman Repository   
v | vlc-noX                        | package    | 2.1.5-2.1.10          | i586   | Main Repository (OSS)
  | vlc-noX-debuginfo              | package    | 2.1.5-231.5           | x86_64 | Packman Repository   
  | vlc-noX-debuginfo              | package    | 2.1.5-231.5           | x86_64 | packman-essentials   
  | vlc-noX-debuginfo              | package    | 2.1.5-231.6           | i586   | packman-essentials   
  | vlc-noX-debuginfo              | package    | 2.1.5-231.5           | i586   | Packman Repository   
v | vlc-noX-lang                   | package    | 2.1.5-231.6           | noarch | packman-essentials   
v | vlc-noX-lang                   | package    | 2.1.5-231.5           | noarch | Packman Repository   
v | vlc-noX-lang                   | package    | 2.1.5-231.5           | noarch | packman-essentials   
i | vlc-noX-lang                   | package    | 2.1.5-2.1.10          | noarch | Main Repository (OSS)
i | vlc-qt                         | package    | 2.1.5-231.5           | x86_64 | Packman Repository   
i | vlc-qt                         | package    | 2.1.5-231.5           | x86_64 | packman-essentials   
v | vlc-qt                         | package    | 2.1.5-2.1.10          | x86_64 | Main Repository (OSS)
v | vlc-qt                         | package    | 2.1.5-231.6           | i586   | packman-essentials   
v | vlc-qt                         | package    | 2.1.5-231.5           | i586   | Packman Repository   
v | vlc-qt                         | package    | 2.1.5-2.1.10          | i586   | Main Repository (OSS)
....



And this is for **zypper lr -d

**

#  | Alias                         | Name                               | Enabled | Refresh | Priority | Type   | URI                                                                                     | Service           
---+-------------------------------+------------------------------------+---------+---------+----------+--------+-----------------------------------------------------------------------------------------+--------           
 1 | Packman Repository            | Packman Repository                 | Yes     | Yes     |   99     | rpm-md | http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_13.2/                                |                   
 2 | download.opensuse.org-non-oss | Main Repository (NON-OSS)          | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/non-oss/                            |                   
 3 | download.opensuse.org-oss     | Main Repository (OSS)              | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/oss/                                |                   
 4 | google-chrome                 | google-chrome                      | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64                                     |                   
 5 | libdvdcss repository          | libdvdcss repository               | Yes     | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/13.2/                                                    |                   
 6 | openSUSE-13.2-0               | openSUSE-13.2-0                    | Yes     | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/usb-TSSTcorp_USB_Mass_Storage_Device_SATAHH000000000b617 |                   
 7 | packman-essentials            | packman-essentials                 | Yes     | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_13.2/Essentials/                                  |                   
 8 | repo-debug                    | openSUSE-13.2-Debug                | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/13.2/repo/oss/                          |                   
 9 | repo-debug-update             | openSUSE-13.2-Update-Debug         | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/13.2/                                         |                   
10 | repo-debug-update-non-oss     | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/13.2-non-oss/                                 |                   
11 | repo-source                   | openSUSE-13.2-Source               | No      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/13.2/repo/oss/                         |        
12 | repo-update                   | openSUSE-13.2-Update               | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.2/                                               |        
13 | repo-update-non-oss           | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.2-non-oss/                                       |   

It is not improper to use.
But you should never mix it with Packman, as this will cause problems (they both contain the same libs in different versions).
Everything in the VLC repo is available in Packman anyway.

and reinstalled vlc and vlc codecs but it did not help.

Try to do a “full repository vendor change update” to Packman, i.e. in your case run:

sudo zypper dup --from 1

This will switch all packages to the full multimedia-enabled versions from Packman.
You might have some non-working mixture (of the underlying libraries vlc is using), this should fix it.

You might have some non-working mixture (of the underlying libraries vlc is using), this should fix it.

Yep that did it. 55 packages were upgraded.

It is not improper to use.

Can you please elaborate? I would like to understand the reason.

Also to better understand packman & repositories in general I would like to know:

Is packman repo aimed at a particular Linux distro like openSUSE?
What makes it different from official openSUSE repos and why it is not added when installing the os?
Is packman "on your own risk " repo and does it contain stable packages?

If there are more repos containing the same packages, what logic does zypper follow to chose the package?

As I indicated already, you might have had some incompatible mix of libraries installed.
In particular, as you installed vlc-codecs using the VLC repo first, you might have had packages from there (ffmpeg’s libav* e.g.) which are incompatible with the packages from Packman (different versions).

Is packman repo aimed at a particular Linux distro like openSUSE?

Mostly, but not exclusively.

What makes it different from official openSUSE repos and why it is not added when installing the os?

Well, it is maintained by different people.
It is also not backed up by a company and located in a different country where other laws apply. So it can host things (multimedia-related in particular) which official openSUSE servers cannot.
In the end it’s all a legal thing, mostly about licenses and patents.

It’s not added automatically, because that would be a possible legal problem as well.
But you can find it in the so-called “Community Repositories” list, YaST->Software Repositories->Add->Community Repositories.

Is packman "on your own risk " repo and does it contain stable packages?

Well, everything is “on your own risk” actually, read the openSUSE license… :wink:
But yes, they do try to provide stable packages. And as it is the biggest third party repo (and exists since 10 years or so), it is safe to use.

If there are more repos containing the same packages, what logic does zypper follow to chose the package?

Normally it just takes the one with the highest version number. You can also set priorities to repos, then it takes the packages from the one with the highest priority. You should only do this if you know what you are doing though.
And for updates (zypper up), it does not switch packages to versions from other repos.
You have to use the “zypper dup” for that, which actually means “Distribution UPgrade”, but with the --from switch can be used to force a switch of all packages to a particular repo. The same you can do in YaST btw.:
https://en.opensuse.org/SDB:Vendor_change_update#Full_repository_Vendor_change

For what its worth, I was having the same issue and the solution in this thread worked for me as well.

The most common mistake is adding all the repos that you see either via yast or download.opensuse.org and then you will have mix libraries as mentioned above.
Also after a fresh install most newbies tries to install their favorite software/apps and eventually add repos before doing an update. My advise is

Install
Update
Reboot

Then install add whatever repos/packages you want :slight_smile: