H.264 videos not working without Packman?

I tried to do a “dup” in Myrlyn last night, and got a load of errors because it was trying to pull in an ffmpeg package from Packman that’s only intended for building, not for users. While reading around, I found people saying that Packman isn’t necessary for most users these days.

According to the openSUSE Wiki, it should be sufficient to just have openh264 installed from the extra repo. However, I’ve swapped all of my packages away from Packman and can’t get it to work.

ffplay ink.\(2014\).1080p.mp4 gives No decoder could be found for codec h264. gst-play-1.0 … gives:

Press 'k' to see a list of keyboard shortcuts.
Now playing /home/ibboard/Videos/Purchased/ink.(2014).1080p.mp4
Redistribute latency...
Missing plugin: H.264 (Baseline Profile) decoder
WARNING Your GStreamer installation is missing a plug-in.
WARNING debug information: ../gst/playback/gstdecodebin3.c(3263): mq_slot_check_reconfiguration (): /GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0:
Some plugins were missing
WARNING Can't play a text file without video or visualizations.
WARNING debug information: ../gst/playback/gstplaysink.c(3288): gst_play_sink_do_reconfigure (): /GstPlayBin3:playbin/GstPlaySink:playsink:
Have text pad but no video pad or visualizations
Redistribute latency...
** Message: 13:10:28.401: PackageKit: xid = 0
** Message: 13:10:28.401: PackageKit: desktop_id = (null)
** Message: 13:10:28.401: PackageKit: Codec nice name: H.264 (Baseline Profile) decoder
** Message: 13:10:28.401: PackageKit: ignoring field named level
** Message: 13:10:28.401: PackageKit: ignoring field named profile
** Message: 13:10:28.401: PackageKit: ignoring field named coded-picture-structure
** Message: 13:10:28.401: PackageKit: ignoring field named chroma-format
** Message: 13:10:28.401: PackageKit: ignoring field named bit-depth-luma
** Message: 13:10:28.401: PackageKit: ignoring field named bit-depth-chroma
** Message: 13:10:28.401: PackageKit: ignoring field named lcevc
** Message: 13:10:28.401: PackageKit: structure: gstreamer1(decoder-video/x-h264)()(64bit)
** Message: 13:10:28.401: PackageKit: Did not install codec: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
The missing plugins could not be found in the available package repositories.
Redistribute latency...

Other useful output:

$ zypper search -s h264
Loading repository data...
Reading installed packages...

S  | Name                           | Type       | Version              | Arch   | Repository
---+--------------------------------+------------+----------------------+--------+--------------
   | gstreamer-1.20-plugin-openh264 | package    | 1.20.3-1.suse1599.29 | x86_64 | repo-openh264
   | gstreamer-1.20-plugin-openh264 | package    | 1.20.3-1.suse1599.29 | i586   | repo-openh264
   | gstreamer-1.20-plugin-openh264 | srcpackage | 1.20.3-1.suse1599.29 | noarch | repo-openh264
   | gstreamer-1.22-plugin-openh264 | srcpackage | 1.22.2-1.suse1699.1  | noarch | repo-openh264
   | gstreamer-plugin-openh264      | package    | 1.22.2-1.suse1699.1  | x86_64 | repo-openh264
   | gstreamer-plugin-openh264      | package    | 1.22.2-1.suse1699.1  | i586   | repo-openh264
i  | libheif-openh264               | package    | 1.21.2-1.2           | x86_64 | repo-oss
i+ | libopenh264-8                  | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
v  | libopenh264-8                  | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
v  | libopenh264-8                  | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
i  | libopenh264-8-32bit            | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
   | libopenh264-devel              | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
   | libopenh264-devel              | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
   | libopenh264-devel              | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
i+ | mozilla-openh264               | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
v  | mozilla-openh264               | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
   | openh264                       | srcpackage | 2.6.0-2.suse1699.10  | noarch | repo-openh264
   | openh264                       | srcpackage | 2.3.1-2.suse1699.30  | noarch | repo-openh264

$ zypper search -si gst
Loading repository data...
Reading installed packages...

S  | Name                            | Type    | Version     | Arch   | Repository
---+---------------------------------+---------+-------------+--------+-----------
i+ | gstreamer                       | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | gstreamer-32bit                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-devel                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-devtools              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-lang                  | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-libnice               | package | 0.1.23-1.2  | x86_64 | repo-oss
i+ | gstreamer-plugin-cluttergst3    | package | 3.0.27-2.9  | x86_64 | repo-oss
i+ | gstreamer-plugin-pipewire       | package | 1.6.2-1.1   | x86_64 | repo-oss
i+ | gstreamer-plugins-bad           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-bad-lang      | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-base          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-base-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-good          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-extra    | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-gtk      | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-libav         | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | gstreamer-plugins-rs            | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-ugly          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-ugly-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-utils                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libclutter-gst-3_0-0            | package | 3.0.27-2.9  | x86_64 | repo-oss
i+ | libgstadaptivedemux-1_0-0       | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstallocators-1_0-0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstanalytics-1_0-0           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstapp-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstapp-1_0-0-32bit           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstaudio-1_0-0               | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstbadaudio-1_0-0            | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstbasecamerabinsrc-1_0-0    | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstcodecparsers-1_0-0        | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstcodecs-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstcuda-1_0-0                | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstfft-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstgl-1_0-0                  | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgsthip-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstinsertbin-1_0-0           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstisoff-1_0-0               | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstmpegts-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstmse-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstpbutils-1_0-0             | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstphotography-1_0-0         | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstplay-1_0-0                | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstplayer-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstreamer-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstreamer-1_0-0-32bit        | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstriff-1_0-0                | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstrtp-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstrtsp-1_0-0                | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstrtspserver-1_0-0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstsctp-1_0-0                | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstsdp-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgsttag-1_0-0                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgsttranscoder-1_0-0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgsturidownloader-1_0-0       | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstva-1_0-0                  | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstvalidate-1_0-0            | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstvideo-1_0-0               | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstvulkan-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstwayland-1_0-0             | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstwebrtc-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstwebrtcnice-1_0-0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgupnp-dlna-backend-gstreamer | package | 0.12.0-1.19 | x86_64 | repo-oss
i+ | PackageKit-gstreamer-plugin     | package | 1.3.4-1.1   | x86_64 | repo-oss
i+ | typelib-1_0-ClutterGst-3_0      | package | 3.0.27-2.9  | x86_64 | repo-oss
i+ | typelib-1_0-Gst-1_0             | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstAllocators-1_0   | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | typelib-1_0-GstAnalytics-1_0    | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstApp-1_0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstAudio-1_0        | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstGL-1_0           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstPbutils-1_0      | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstRtp-1_0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstRtsp-1_0         | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstSdp-1_0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstTag-1_0          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | typelib-1_0-GstVideo-1_0        | package | 1.28.1-1.1  | x86_64 | repo-oss

I’m running NVidia G06 580.142 drivers on an RTX 4070Ti, but I think that’s only relevant for the separate “Totem shows a green screen” problem and not for the h264 codec problem.

What am I missing? Should I be able to play h264 videos without Packman?

Add the “Open H.264 Codec” Repo in Myrlyn

I just saw (too late) that you already have that. Oops.

Please also show zypper se -s 264

S  | Name                           | Type       | Version              | Arch   | Repository
---+--------------------------------+------------+----------------------+--------+--------------
   | gstreamer-1.20-plugin-openh264 | package    | 1.20.3-1.suse1599.29 | x86_64 | repo-openh264
   | gstreamer-1.20-plugin-openh264 | package    | 1.20.3-1.suse1599.29 | i586   | repo-openh264
   | gstreamer-1.20-plugin-openh264 | srcpackage | 1.20.3-1.suse1599.29 | noarch | repo-openh264
   | gstreamer-1.22-plugin-openh264 | srcpackage | 1.22.2-1.suse1699.1  | noarch | repo-openh264
   | gstreamer-plugin-openh264      | package    | 1.22.2-1.suse1699.1  | x86_64 | repo-openh264
   | gstreamer-plugin-openh264      | package    | 1.22.2-1.suse1699.1  | i586   | repo-openh264
i  | libheif-openh264               | package    | 1.21.2-1.2           | x86_64 | repo-oss
i+ | libopenh264-8                  | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
v  | libopenh264-8                  | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
v  | libopenh264-8                  | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
i  | libopenh264-8-32bit            | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
   | libopenh264-devel              | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
   | libopenh264-devel              | package    | 2.6.0~noopenh264-1.2 | x86_64 | repo-oss
   | libopenh264-devel              | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
   | libplacebo264                  | package    | 5.264.1-5.2          | x86_64 | repo-oss
i+ | mozilla-openh264               | package    | 2.6.0-2.suse1699.10  | x86_64 | repo-openh264
v  | mozilla-openh264               | package    | 2.6.0-2.suse1699.10  | i586   | repo-openh264
   | openh264                       | srcpackage | 2.6.0-2.suse1699.10  | noarch | repo-openh264
   | openh264                       | srcpackage | 2.3.1-2.suse1699.30  | noarch | repo-openh264

It wants to use the openh264 lib through gstreamer, so install the plugin:

zypper in gstreamer-plugin-openh264

Note that this will also install gstreamer-plugins-bad, which is fine. If you don’t want the gstreamer libs you could use a different video player like mpv which I believe should load libopenh264 directly.

Nope. gstreamer-plugin-openh264 is deprecated and isn’t installable without breaking dependencies…simply compare the versions of this package with other gstreamer packages…

2 Likes

I tried that, but gstreamer-plugin-openh264is at v1.22.2 and when I try to install it then it fails because nothing provides libopenh264.so.7()(64bit)(because Tumbleweed is now on libopenh264-8).

repo-openh264 is set to autorefresh and the URL is https://codecs.opensuse.org/openh264/openSUSE_Tumbleweed, which matches the wiki (except for https vs http).

I was just about to edit and say that :smile: If I force it and say “ignore dependencies” then it gives a new conflict and says that gstreamer-plugins-bad-1.28obsoletes streamer-plugin-openh264. So that implies that gstreamer should be seeing it.

Oh I see what you are saying @hui. It would be nice if they updated the package description to mention its obsolete status. So do not use gstreamer-plugin-openh264.

$ zypper if --requires gstreamer-plugin-openh264
Loading repository data...
Reading installed packages...


Information for package gstreamer-plugin-openh264:
--------------------------------------------------
Repository     : Open H.264 Codec (openSUSE Tumbleweed)
Name           : gstreamer-plugin-openh264
Version        : 1.22.2-1.suse1699.1
Arch           : x86_64
Vendor         : obs://build.opensuse.org/openSUSE:Factory
Installed Size : 77.0 KiB
Installed      : No
Status         : not installed
Source package : gstreamer-1.22-plugin-openh264-1.22.2-1.suse1699.1.src
Upstream URL   : https://gstreamer.freedesktop.org
Summary        : Gstreamer openh264 plugin
Description    : 
    GStreamer is a streaming media framework based on graphs of filters
    that operate on media data. Applications using this library can do
    anything media-related,from real-time sound processing to playing
    videos. Its plug-in-based architecture means that new data types or
    processing capabilities can be added simply by installing new
    plug-ins.

    This package provides the openh264 plugin.
Requires       : [11]
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libstdc++.so.6(GLIBCXX_3.4)(64bit)
    libopenh264.so.7()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgstpbutils-1.0.so.0()(64bit)
    libgstreamer-1.0.so.0()(64bit)
    libgstvideo-1.0.so.0()(64bit)
    libc.so.6(GLIBC_2.14)(64bit)
    gstreamer-plugins-bad >= 1.22.2

So nowadays, gstreamer-plugins-bad should load libopenh264-8.so without a separate plugin.

Again, forget about gstreamer-plugin-openh264, remove it, in fact. You should only need libopenh264 and gstreamer-plugins-bad.

The short answer is YES.
You have two routes to h264:

  • the libopenh264 route
  • the h264 HW decoding provided by the Nvidia G06 driver on the RTX 4070Ti.
    Answering the “what am I missing” part might be tricky, I would start by uninstalling
i  | libopenh264-8-32bit            | package    | 2.6.0~noopenh264-1.2 | x86_64 | re

and trying again.
If that doesn’t work, please post the result of

zypper se -si gstreamer ffmpeg

@more-coffee I think the obsolete hint is in the version numbers. The plugin’s version numbers are well behind gstreamer versions!

@OrsoBruno - If I uninstall the 32-bit package that then it wants to uninstall Steam. I’ve chosen to “break dependencies” on Steam, but I don’t see why the 32-bit package would affect 64-bit apps. And it still gives the same errors.

$ zypper se -si gstreamer ffmpeg
Loading repository data...
Reading installed packages...

S  | Name                            | Type    | Version     | Arch   | Repository
---+---------------------------------+---------+-------------+--------+-----------
i+ | ffmpeg-4                        | package | 4.4.6-11.2  | x86_64 | repo-oss
i+ | gstreamer                       | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | gstreamer-32bit                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-devel                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-devtools              | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-lang                  | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-libnice               | package | 0.1.23-1.2  | x86_64 | repo-oss
i+ | gstreamer-plugin-cluttergst3    | package | 3.0.27-2.9  | x86_64 | repo-oss
i+ | gstreamer-plugin-pipewire       | package | 1.6.2-1.1   | x86_64 | repo-oss
i+ | gstreamer-plugins-bad           | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-bad-lang      | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-base          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-base-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-good          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-extra    | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-gtk      | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-good-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-plugins-libav         | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | gstreamer-plugins-rs            | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-ugly          | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | gstreamer-plugins-ugly-lang     | package | 1.28.1-1.1  | noarch | repo-oss
i+ | gstreamer-utils                 | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgstreamer-1_0-0              | package | 1.28.1-1.1  | x86_64 | repo-oss
i  | libgstreamer-1_0-0-32bit        | package | 1.28.1-1.1  | x86_64 | repo-oss
i+ | libgupnp-dlna-backend-gstreamer | package | 0.12.0-1.19 | x86_64 | repo-oss
i+ | libheif-ffmpeg                  | package | 1.21.2-1.2  | x86_64 | repo-oss
i+ | PackageKit-gstreamer-plugin     | package | 1.3.4-1.1   | x86_64 | repo-oss

How many years ago was this system originally installed? Please uninstall ffmpeg-4 and install ffmpeg-8. You will be asked to solve a bunch of dependencies, uninstall the ffmpeg-4 ones and install the ffmpeg-8 ones, zypper or Myrlyn should do that automatically, maybe only asking for confirmation.
Then try again.
From what I see you should already be able to play h264 with gstreamer players, if not so some further debugging is in order.

sudo btrfs subvolume show /.snapshots|grep Creation says October 2017. It’s Tumbleweed. It kept rolling. And Snapper has always been enough to fix any software issues :grin:

Switching to ffmpeg-8 didn’t require any dependency changes. It just adds libavdevice62.

ffplay now works! But Totem is still broken.

Do you use the open driver? The version number seems to suggest proprietary but if you want the open libs presumably you use the open driver. If you do happen to use the proprietary driver, NVDEC would be my preferred decoder choice anyway for the energy savings. However, in that case the question would by why GStreamer isn’t using it.

Maybe it’s not important but normally developers are quite explicit about deprecation warnings. In this case, it looks like it’s only encoded in the meta data, specifically the obsoletes field of gstreamer-plugins-bad. Ideally the obsolete package should also carry a warning as part of its description. And when possible zypper should mention that a to-be-installed package is obsolete. In general, you can’t assume from a version mismatch that a package is deprecated. (As an example of being very explicit, consider old school networking tools. In this important case, the openSUSE folks even put them in a separate package with -deprecated being part of the package name to try to ensure that no one misses the warning.)

In your case, it does look like something specific to your install is borked with GStreamer. I just tested migrating from Packman-provided codecs to openSUSE ones on a recent TW install and for me videos play fine with both mpv and totem, the latter being GStreamer-based. lsof shows the openh264 lib is loaded when hardware acceleration is disabled in totem’s settings.

I’m using the proprietary driver (or at least not intentionally using the open driver) because my system is old enough that “open” wasn’t an option. I still remember “the hard way” being the only reliable way for Tumbleweed, because otherwise the kernel got ahead of the pre-built modules!

I’m happy to use NVDEC and the proprietary drivers. I’ve just never heard of it and don’t know what the setting is (and a quick Google isn’t immediately turning anything up). I was only trying to swap to the open libs for video playback so that I could drop Packman and avoid future sync issues if things have moved on and it’s no longer necessary.

I just tried reinstalling gstreamer-plugins-vaapi and libvdpau_va_gl1 after uninstalling them because of suggestions that they might be causing the green screen with the working Packman config. But vainfo seems to be reporting errors.

vainfo
Trying display: wayland
libva info: VA-API version 1.23.0
libva info: User environment variable requested driver 'vdpau'
libva info: Trying to open /usr/lib64/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_1_23
libva error: /usr/lib64/dri/vdpau_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

That might be a separate issue, though.

Opening a h264 file and running lsof gives me:

$ sudo lsof -c totem|grep "gst\|264"
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1001/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse.portal file system /run/user/1001/doc
      Output information may be incomplete.
totem   169810 ibboard mem       REG               0,39    1395928 26644731 /usr/lib64/libopenh264.so.2.6.0
totem   169810 ibboard mem       REG               0,39     264400 28016775 /usr/lib64/libass.so.9.4.1
totem   169810 ibboard mem       REG               0,39      39112 28073625 /usr/lib64/gstreamer-1.0/libgstaudioresample.so
totem   169810 ibboard mem       REG               0,39      43048 28073649 /usr/lib64/gstreamer-1.0/libgstvolume.so
totem   169810 ibboard mem       REG               0,39     150592 28083761 /usr/lib64/gstreamer-1.0/libgstaudioparsers.so
totem   169810 ibboard mem       REG               0,39      43488 28073622 /usr/lib64/gstreamer-1.0/libgstaudioconvert.so
totem   169810 ibboard mem       REG               0,39  134264344 28014952 /usr/lib64/libLLVM.so.21.1
totem   169810 ibboard mem       REG               0,39     896112 28073608 /usr/lib64/libgstcodecparsers-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     281440 28087400 /usr/lib64/gstreamer-1.0/libgstlibav.so
totem   169810 ibboard mem       REG               0,39     369032 28084037 /usr/lib64/gstreamer-1.0/libgstvideoparsersbad.so
totem   169810 ibboard mem       REG               0,39     692384 28083781 /usr/lib64/gstreamer-1.0/libgstisomp4.so
totem   169810 ibboard mem       REG               0,39     194680 28083675 /usr/lib64/libgstrtp-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39      63520 28083531 /usr/lib64/libgstriff-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     115480 28073645 /usr/lib64/gstreamer-1.0/libgsttypefindfunctions.so
totem   169810 ibboard mem       REG               0,39        556 26905161 /usr/share/locale/en_GB/LC_MESSAGES/gst-plugins-base-1.0.mo
totem   169810 ibboard mem       REG               0,39     137256 28083794 /usr/lib64/gstreamer-1.0/libgstpulseaudio.so
totem   169810 ibboard mem       REG               0,39     352640 27949359 /usr/lib64/libgssapi_krb5.so.2.2
totem   169810 ibboard mem       REG               0,39     100616 28076928 /usr/lib64/libgstapp-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     475680 28072867 /usr/lib64/gstreamer-1.0/libgstcoreelements.so
totem   169810 ibboard mem       REG               0,39      71736 28072860 /usr/lib64/libgstcontroller-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     355904 28073635 /usr/lib64/gstreamer-1.0/libgstopengl.so
totem   169810 ibboard mem       REG               0,39     642872 28074073 /usr/lib64/libgstgl-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     676720 28073640 /usr/lib64/gstreamer-1.0/libgstplayback.so
totem   169810 ibboard mem       REG               8,19    4767552   264937 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86_64.cache-9
totem   169810 ibboard mem       REG               0,39      35264 28083763 /usr/lib64/gstreamer-1.0/libgstautodetect.so
totem   169810 ibboard mem       REG               0,39      42976 28083683 /usr/lib64/libgstfft-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     166208 28083760 /usr/lib64/gstreamer-1.0/libgstaudiofx.so
totem   169810 ibboard mem       REG               8,19     335384   264821 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86_64.cache-9
totem   169810 ibboard mem       REG               0,39      67768 28083819 /usr/lib64/gstreamer-1.0/libgstgtk.so
totem   169810 ibboard mem       REG               8,19      80792   264947 /var/cache/fontconfig/d42e465d3d703735db7577b46e8d64be-x86_64.cache-9
totem   169810 ibboard mem       REG               8,19      44672   264942 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86_64.cache-9
totem   169810 ibboard mem       REG               8,19      44984   264945 /var/cache/fontconfig/4b31aef11cb0687b6d280d34cbe23592-x86_64.cache-9
totem   169810 ibboard mem       REG               8,19     637448   264946 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86_64.cache-9
totem   169810 ibboard mem       REG               8,19     638208   264862 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86_64.cache-9
totem   169810 ibboard mem       REG               8,19     286640   264849 /var/cache/fontconfig/7e1fba7718b83835f0117a869412581c-x86_64.cache-9
totem   169810 ibboard mem       REG               0,39      55264 27975381 /usr/lib64/glibc-hwcaps/x86-64-v3/libbrotlidec.so.1.2.0
totem   169810 ibboard mem       REG               0,39     431264 28012665 /usr/lib64/liblcms2.so.2.0.17
totem   169810 ibboard mem       REG               0,39      38968 28073654 /usr/lib64/libgstallocators-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     563248 28072856 /usr/lib64/libgstbase-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     932536 28073658 /usr/lib64/libgstvideo-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39    1526416 28072864 /usr/lib64/libgstreamer-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     272584 28076392 /usr/lib64/libgsttag-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     575968 28076396 /usr/lib64/libgstaudio-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39     293080 28076793 /usr/lib64/libgstpbutils-1.0.so.0.2801.0
totem   169810 ibboard mem       REG               0,39      10631 27895319 /usr/share/locale/en_GB/LC_MESSAGES/gstreamer-1.0.mo

So it is loading libopenh264. And rpm -q --whatprovides says that it’s coming from libopenh264-8-2.6.0-2.suse1699.10.x86_64

Please define “broken”. If you mean “does not use HW decoding”, yes you are right, but please consider that with CPUs built in the last 10 years HW decoding is no more a big deal.
If you mean “doesn’t play any h264 video”, no, there is something wrong in your system.
Please don’t mix and match incompatible and/or obsolete packages unless you know what you are doing.
There should be no need for gstreamer-plugins-vaapi or libvdpau_va_gl1, Nvidia GPUs simply do not use vaapi which is mainly an Intel thing.
Check vdpauinfo instead.
AFAIK the NVDEC is not the current choice, most HW decoding on Nvidia is done via Vulkan libraries with the G06 proprietary driver, but I don’t really know if there are still corner cases where NVDEC might still be a viable choice.
If Totem doesn’t suit you, try showtime (AKA the new Gnome Video Player) which makes a better use of available HW decoding. Or one of the many players based on ffmpeg , for instance mpv or SMPlayer.

1 Like

I mean it isn’t working. The issue that I reported at the start of the thread persists. It is still refusing to play h264 videos with a GStreamer error about not having a decoder.

I didn’t. As I posted, I ignored the warning to see what would happen and then hit an “obsoletes” warning, hence why I was pointing out that the version number was behind.

It’s a separate issue. I’ll post a new thread if the green screen persists after I fix the h264 problem.

Who said anything about Totem not suiting me? It’s Gnome Video. I don’t have much in the way of requirements. It’s rare that I watch videos on my PC. But when I do then I want it to work. So the basic app that’s been installed since my system was installed eight years ago (and on most systems that I’ve installed since the early days when xine was still a primary option) has been sufficient. If it works.

If Showtime still uses GStreamer then it’s not going to fix the “gstreamer isn’t picking up h264” problem, even if it is Gnome’s replacement for Totem.

///
///

Since this is getting off-track, let’s reset and summarise.

  • ffmpeg was out of date. It is now at ffmpeg-8 and plays h264
  • GStreamer (and hence Totem) still fails to play videos with “Missing plugin: H.264 (Baseline Profile) decoder”
  • Running lsof shows that there is a h264 library loaded by totem
  • Zypper “search” results seem to be showing the right packages (or at least no-one has spotted any wrong/missing packages yet)
  • There are extra GStreamer packages in the Codecs repository, but they’re out of date and explicitly obsoleted by the latest gstreamer-plugins-bad package (but still relevant if you were somehow using the old versions)
  • There was a noopenh264 version of a package, but a) it was the …-32bit package (so shouldn’t affect 64-bit Totem), b) the non-32bit version does NOT have that in the version number and c) removing the 32-bit package forces me to uninstall Steam or break its dependencies (I guess it will either refuse to play some videos or crash, depending on how it tries to load it) and as expected hasn’t fixed anything
  • There is a separate problem in Totem that may or may not be hardware acceleration related, but I’ll deal with that separately

Please don’t randomly tell people to remove something they may need. We still have Software in Factory which need ffmpeg-4 (we also have other ffmpeg versions available because of that reason)

> osc whatdependson openSUSE:Factory ffmpeg-4 standard x86_64
ffmpeg-4 :
      ardour
      aubio
      dvbcut
      leechcraft
      libav
      lightmediascanner
      moc
      python-librosa:test
      qtractor
      replay-sorcery
      silan
      tupitube
      tvheadend
      xine-lib

Hopefully we can move software off of 4 and 7, but at least we are now only on 4,7,8 in Factory which is actually not that bad in comparison to the past

Try:

gst-launch-1.0 -v playbin3 uri=file:///home/bruno/Videos/Jobs_HD.mp4

(please adjust the path to a file you have locally); the -v option spits out a bunch of diagnostics so if something is wrong it should be visible.
Among those lines you should see something like:

Got context from element 'nvh264dec0': gst.cuda.context=context, gst.cuda.context=(GstCudaContext)"\(GstCudaContext\)\ cudacontext1", cuda-device-id=(uint)0;

if you have a working G06 Nvidia proprietary driver and gstreamer is using the GPU for decoding.
If the gstreamer pipeline is OK, you may try

totem --gst-debug-level=4 Videos/Jobs_HD.mp4

(again, adjust the path to the video file) but since --gst-debug-level=4 is very verbose it might not be trivial to spot what is going wrong.

There’s a couple of bits from gst-launch. But nothing immediately jumping out as a fixable problem. All that I can particularly see is:

Missing element: H.264 (Baseline Profile) decoder
WARNING: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gstdecodebin3.c(3263): mq_slot_check_reconfiguration (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0:
Some plugins were missing

But that just tells us what we already know because mq_slot_check_reconfiguration() is in the first logs that I posted, and this thread is the first result on DuckDuckGo when you search for it!

Full GST Launch logs
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata; meta/x-klv; meta/x-id3; meta/x-st-2038; application/x-ass; application/x-ssa; application/x-subtitle-avi; application/x-subtitle; application/x-subtitle-sami; application/x-subtitle-tmplayer; application/x-subtitle-mpl2; application/x-subtitle-dks; application/x-subtitle-qttext; application/x-subtitle-lrc; application/x-subtitle-vtt; application/x-ogm-text
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstFileSrc\)\ filesrc0"
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3: current-uri = file:///home/ibboard/Videos/Purchased/ink.(2014).1080p.mp4
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3: current-suburi = (null)
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = video/quicktime, variant=(string)iso
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/quicktime, variant=(string)iso
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
Redistribute latency...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:sink_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:sink_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0.GstParsePad:src_1.GstProxyPad:proxypad4: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0.GstParsePad:src_1.GstProxyPad:proxypad4: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0.GstParsePad:src_1.GstProxyPad:proxypad4: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:sink_2: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0.GstParsePad:src_2.GstProxyPad:proxypad5: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:sink_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstParseBin:parsebin0.GstParsePad:src_3.GstProxyPad:proxypad6: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0.GstGhostPad:src_2: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstMultiQueue:multiqueue1.GstMultiQueuePad:src_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0.GstGhostPad:src_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0.GstGhostPad:src_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_3: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0.GstGhostPad:src_3.GstProxyPad:proxypad13: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_0.GstProxyPad:proxypad8: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_2.GstProxyPad:proxypad12: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity1.GstPad:src: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity1.GstPad:sink: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_1.GstProxyPad:proxypad10: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:sink_3.GstProxyPad:proxypad14: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity3.GstPad:src: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity2.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstIdentity:identity2.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: group-id = 4
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_1: group-id = 2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_2: group-id = 16
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_3: group-id = 16
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_2: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_2: caps = text/x-raw, format=(string)utf8
Missing element: H.264 (Baseline Profile) decoder
WARNING: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gstdecodebin3.c(3263): mq_slot_check_reconfiguration (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0:
Some plugins were missing
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_2: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:src_3: caps = text/x-raw, format=(string)utf8
WARNING: from element /GstPlayBin3:playbin3-0/GstPlaySink:playsink: Can't play a text file without video or visualizations.
Additional debug info:
../gst/playback/gstplaysink.c(3288): gst_play_sink_do_reconfigure (): /GstPlayBin3:playbin3-0/GstPlaySink:playsink:
Have text pad but no video pad or visualizations
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:text_0: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3.GstGhostPad:text_0: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:text_sink.GstProxyPad:proxypad17: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:text_sink: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3.GstGhostPad:text_0.GstProxyPad:proxypad22: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:text_0.GstProxyPad:proxypad21: caps = text/x-raw, format=(string)utf8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1190, rate=(int)48000, channels=(int)2
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad15: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad26: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3.GstGhostPad:audio_0.GstProxyPad:proxypad20: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad19: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad24: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad23: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
Redistribute latency...
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad25: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, rate=(int)48000, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstPulseSinkClock
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = false
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: current-device = alsa_output.pci-0000_2d_00.4.analog-stereo
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = false
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: current-device = alsa_output.pci-0000_2d_00.4.analog-stereo
^Chandling interrupt. (0.1 %)
Interrupt: Stopping pipeline ...
Execution ended after 0:00:03.366642904
Setting pipeline to NULL ...
Freeing pipeline ...

The Totem log has a bit more information. But it doesn’t quite make sense. The log says:

0:00:00.611301095 ␛›[32m    210691␛›[00m     212079 ␛›[36mINFO   ␛›[00m ␛›[00;01;36m  GST_PLUGIN_LOADING gstpluginfeature.c:147:gst_plugin_feature_load:␛›[00m Tried to load plugin containing feature 'avdec_h264', but feature was not found.
0:00:00.611308505 ␛›[32m    210691␛›[00m     212079 ␛›[33;01mWARN   ␛›[00m ␛›[00;01;37;41m GST_ELEMENT_FACTORY gstelementfactory.c:530:gst_element_factory_create_with_properties:<avdec_h264>␛›[00m loading plugin returned NULL!
0:00:00.611315715 ␛›[32m    210691␛›[00m     212079 ␛›[33;01mWARN   ␛›[00m ␛›[00m           decodebin gstdecodebin2.c:2356:connect_pad:<decodebin0>␛›[00m Could not create an element from avdec_h264
0:00:00.611383244 ␛›[32m    210691␛›[00m     212079 ␛›[33;01mWARN   ␛›[00m ␛›[00m        uridecodebin gsturidecodebin.c:1006:unknown_type_cb:<uridecodebin0>␛›[00m warning: No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)baseline, codec_data=(buffer)01428028ffe1002a67428028965603c0113f2ffe00020002a100000303e90000bb80e260002932c00066ff3f18e0ed0b177001000468ca8d48, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, pixel-aspect-ratio=(fraction)1/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, lcevc=(boolean)false'.

But gst-inspect-1.0 libav|grep h264 lists avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder. So somehow the Inspect tool knows about it but it fails when loading?

Full log (too long for the post)