Opensuse Leap 16.0: cannot play MP4-files with VLC

is there a work-around or an application available that would play MP4 files ?

Well … first off, for me, I’m running Leap 16.1 (beta).

However, my habit is to start up the Discover app.
Then I remove the default openSUSE VLC app.

Then I install the Flatpak version while in Discover. I can do both - the removal of base openSUSE and the Flatpak install, while in Discover.

I always use the Flatpak version, because I never have an issue with playing MP-XX / etc files.

I just use MPlayer which works fine with MP4 files.

@osleap-mak

How resp. what of VLC have you installed? Please show (zypper se -s vlc- and especially) zypper se -s -i vlc-codecs.

Background: in openSUSE pool there is NO vlc-codecs. Most people obviously get it by Packman. I get it by https://download.videolan.org/SuSE/. Due to dependency cleanness I advise to get all related VLC stuff by one source (EITHER pool OR Packman OR Videolan). Thus, I get my VLC stuff by Videolan (including vlc-codecs).

2 Likes
zypper se -s vlc-
Dienst 'openSUSE' wird aktualisiert.
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                 | Type  | Version           | Arch   | Repository
---+----------------------+-------+-------------------+--------+----------------
i  | phonon-vlc-lang      | Paket | 0.12.0-bp160.1.17 | noarch | repo-oss (16.0)
v  | phonon-vlc-lang      | Paket | 0.12.0-bp160.1.16 | noarch | repo-oss (16.0)
i  | phonon-vlc-qt5       | Paket | 0.12.0-bp160.1.17 | x86_64 | repo-oss (16.0)
v  | phonon-vlc-qt5       | Paket | 0.12.0-bp160.1.16 | x86_64 | repo-oss (16.0)
i  | phonon-vlc-qt6       | Paket | 0.12.0-bp160.1.18 | x86_64 | repo-oss (16.0)
v  | phonon-vlc-qt6       | Paket | 0.12.0-bp160.1.17 | x86_64 | repo-oss (16.0)
   | vlc-codec-fluidsynth | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
   | vlc-codec-fluidsynth | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
i  | vlc-codec-gstreamer  | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
v  | vlc-codec-gstreamer  | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
   | vlc-devel            | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
   | vlc-devel            | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
   | vlc-jack             | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
   | vlc-jack             | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
i  | vlc-lang             | Paket | 3.0.23-bp160.1.1  | noarch | repo-oss (16.0)
v  | vlc-lang             | Paket | 3.0.21-bp160.1.9  | noarch | repo-oss (16.0)
i  | vlc-noX              | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
v  | vlc-noX              | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
i  | vlc-qt               | Paket | 3.0.23-bp160.1.1  | x86_64 | repo-oss (16.0)
v  | vlc-qt               | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)
   | vlc-vdpau            | Paket | 3.0.21-bp160.1.9  | x86_64 | repo-oss (16.0)

zypper se -s -i vlc-codecs
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Keine passenden Objekte gefunden.

So if Packman is again available also for Leap 16.0, vendor change as usual will be a possible solution. The information that official Videolan is also a potential source for openSUSE is very useful !

I did not find MPlayer in standard repositories for Leap 16.0

Post:
zypper lr -d

ok, looks like a potential solution

zypper lr -d
Dienst 'openSUSE' wird aktualisiert.
#  | Alias                       | Name                          | Enabled | GPG Check | Refresh | Keep | Priority | Type   | URI                                                                          | Service
---+-----------------------------+-------------------------------+---------+-----------+---------+------+----------+--------+------------------------------------------------------------------------------+---------
 1 | Leap                        | Leap 16.0                     | Nein    | ----      | ----    | -    |   99     | rpm-md | hd:/install?device=/dev/disk/by-id/usb-Generic_Flash_Disk_6E7A8CBA-0:0-part2 | 
 2 | Printing                    | Printing                      | Ja      | (r ) Ja   | Nein    | -    |   99     | rpm-md | https://download.opensuse.org/repositories/Printing/16.0/                    | 
 3 | brave-browser               | Brave Browser                 | Ja      | (r ) Ja   | Ja      | -    |   99     | rpm-md | https://brave-browser-rpm-release.s3.brave.com/x86_64                        | 
 4 | home_jirislaby_kotatko      | home:jirislaby:kotatko (16.0) | Ja      | (r ) Ja   | Nein    | -    |   99     | rpm-md | https://download.opensuse.org/repositories/home:/jirislaby:/kotatko/16.0/    | 
 5 | openSUSE:repo-non-oss       | repo-non-oss (16.0)           | Ja      | (r ) Ja   | Ja      | -    |   99     | rpm-md | http://cdn.opensuse.org/distribution/leap/16.0/repo/non-oss/x86_64           | openSUSE
 6 | openSUSE:repo-non-oss-debug | repo-non-oss-debug (16.0)     | Nein    | ----      | ----    | -    |   99     | N/A    | http://cdn.opensuse.org/debug/distribution/leap/16.0/repo/non-oss/x86_64     | openSUSE
 7 | openSUSE:repo-openh264      | repo-openh264 (16.0)          | Ja      | (r ) Ja   | Ja      | -    |   99     | rpm-md | https://codecs.opensuse.org/openh264/openSUSE_Leap_16                        | openSUSE
 8 | openSUSE:repo-oss           | repo-oss (16.0)               | Ja      | (r ) Ja   | Ja      | -    |   99     | rpm-md | http://cdn.opensuse.org/distribution/leap/16.0/repo/oss/x86_64               | openSUSE
 9 | openSUSE:repo-oss-debug     | repo-oss-debug (16.0)         | Nein    | ----      | ----    | -    |   99     | N/A    | http://cdn.opensuse.org/debug/distribution/leap/16.0/repo/oss/x86_64         | openSUSE
10 | openSUSE:repo-oss-source    | repo-oss-source (16.0)        | Nein    | ----      | ----    | -    |   99     | N/A    | http://cdn.opensuse.org/source/distribution/leap/16.0/repo/oss               | openSUSE

So no Packman and no Videolan Repo.

The question is:
do you want it to enable?
There is a discussion about that:

If you don’t want Packman or Videolan Repo, use the VLC-flatpack.

1 Like

The oss vlc on Leap 16.0 plays basic .mp4 (h264) files with the following installed:

S  | Name                | Type    | Version            | Arch   | Repository
---+---------------------+---------+--------------------+--------+---------------------
i  | libopenh264-8       | package | 2.6.0-2.suse1600.2 | x86_64 | repo-openh264 (16.0)
i+ | libvlc5             | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)
i+ | libvlccore9         | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)
i  | phonon-vlc-lang     | package | 0.12.0-bp160.1.17  | noarch | repo-oss (16.0)
i  | phonon-vlc-qt5      | package | 0.12.0-bp160.1.17  | x86_64 | repo-oss (16.0)
i  | phonon-vlc-qt6      | package | 0.12.0-bp160.1.18  | x86_64 | repo-oss (16.0)
i+ | vlc                 | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)
i  | vlc-codec-gstreamer | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)
i+ | vlc-noX             | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)
i+ | vlc-qt              | package | 3.0.23-bp160.1.1   | x86_64 | repo-oss (16.0)

So maybe you are trying to play another format, like HEVC (h265) or HDR media or?
If you can be more specific, maybe we are able to help finding the best setup.

the same packages are installed also on my computer.
But when I open an MP4 file with vlc, vlc “plays” the video by showing just a black screen. When starting vlc in a command line, I get:

vlc
VLC media player 3.0.23 Vetinari (revision 3.0.23)
[000055abb74396a0] main libvlc: VLC wird mit dem Standard-Interface ausgefĂĽhrt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
[000055abb74c8710] main playlist: playlist is empty
[00007fb018011210] gl gl: Initialized libplacebo v5.264.1 (API v264)
[00007fb01cc15b10] main decoder error: buffer deadlock prevented

What does “Codec Information” (CTRL+J) show?
With that setup (openh264) VLC can play H264 - MPEG-4 AVC (part 10) (avc1) streams but might have problems with other H264 streams (for instance vvc streams).

I just installed

Operating System: openSUSE Leap 16.0
KDE Plasma Version: 6.4.2
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.12.0-160000.36-default (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i7-4790K CPU @ 4.00GHz
Memory: 8 GiB of RAM (7.7 GiB usable)
Graphics Processor: llvmpipe
Manufacturer: QEMU

in a VM and tried to play an .mp4-file (Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, bt709), 3840x2160, 11112 kb/s, 23.98 fps, 23.98 tbr, 16k tbn; Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s) and it worked without any problems.

I used

# zypper info vlc
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...


Information for package vlc:
----------------------------
Repository     : repo-oss (16.0)
Name           : vlc
Version        : 3.0.23-bp160.1.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 1.7 MiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : vlc-3.0.23-bp160.1.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.
#

The repositories in use are:

# zypper lr -EuP
Refreshing service 'openSUSE'.
# | Alias                  | Name                 | Enabled | GPG Check | Refresh | Priority | URI
--+------------------------+----------------------+---------+-----------+---------+----------+---------------------------------------------------------------
4 | openSUSE:repo-openh264 | repo-openh264 (16.0) | Yes     | (r ) Yes  | Yes     |   99     | https://codecs.opensuse.org/openh264/openSUSE_Leap_16
5 | openSUSE:repo-oss      | repo-oss (16.0)      | Yes     | (r ) Yes  | Yes     |   99     | http://cdn.opensuse.org/distribution/leap/16.0/repo/oss/x86_64
#

Chances are that any of the codecs (video and/or audio) in your .mp4-container is not supported by the free version of vlc.

file properties:

all three can be seen as options. In the past I used packman. Maybe I now will switch to the official VLC repo (expecting it won’t affect the Leap 16.0 installation). But in the meantime I found that surprisingly even Brave browser and Firefox browser do play the MP4 video, and even the preview in Dolphin can simulate playing the video. (!)

I am using the same repos … (as in your list #4 and #5)

I went thru similar (time wasted) “troubleshooting / adding repos / etc etc” … then I installed the Flatpak version (which took about a minute to install) … and my “playing mpXX issues” were solved … many other folks report the same positive outcome :+1:

I tried to install VLC anew from Videolan, as you suggested, however also this version of VLC cannot play the MP4 files I have been using. Same effect: black screen while the video is “played”
The installation commands were:

sudo zypper ar https://download.videolan.org/SuSE/16.0 VLC
sudo zypper mr -r VLC
sudo zypper in vlc

and it involved de-installation of some SUSE packages…

MPlayer is in the packman repo which I normally add anyway. Interestingly both the standard repo and packman have version 3.0.23 of VLC which several contributors mention.