h.264 encoder seems disfunct

Hi everyone,

once again, h.264 makes some trouble: I have vlc, vlc-codecs, x264, libopenh264, gstreamer-0_10-plugin-{bad, base, good, good-extra, libav, ugly} installed (all in the latest PackMan version, my system is oS 13.1, Gnome 3.10). I can play h.264 using VLC media player.
But if I switch to totem or banshee (using gstreamer, to the best of my knowledge) it does not work. Totem will tell me


GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstlibav.so': /usr/lib64/gstreamer-1.0/libgstlibav.so: undefined symbol: gst_video_decoder_release_frame
** Message: Missing plugin: gstreamer|1.0|totem|H.264-Decoder|decoder-video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3, profile=(string)high (H.264-Decoder)
** Message: PackageKit: xid = 33554447
** Message: PackageKit: Codec nice name: H.264-Decoder
** Message: PackageKit: ignoring field named stream-format
** Message: PackageKit: ignoring field named alignment
** Message: PackageKit: ignoring field named level
** Message: PackageKit: ignoring field named profile
** Message: PackageKit: structure: gstreamer1(decoder-video/x-h264)()(64bit)

And then fire up a dialogue to “search” for the gstreamer-plugins and than finishes with not finding them. Banshee just refuses to do anything meaningful. In addition, Firefox will not play h.264-encoded youtube videos…

Is there anything I did wrong/could improve?

Thanks in advance!

0_1 gstreamer is for KDE stuff for gnome stuff you need the 1.xx gstreamer libs.

read the instruction at the top of this sub-forum

This indicates that the gstreamer-plugins-libav does not match to the rest of your gstreamer packages.

Please post the output of:

rpm -qi gstreamer-plugins-libav

and

zypper lr -d

Sure:


Name        : gstreamer-plugins-libav
Version     : 1.2.4
Release     : 1.3
Architecture: x86_64
Install Date: Di 15 Jul 2014 01:30:24 CEST
Group       : Productivity/Multimedia/Other
Size        : 7213843
License     : GPL-2.0+
Signature   : RSA/SHA1, Sa 17 Mai 2014 10:25:46 CEST, Key ID 45a1d0671abd1afb
Source RPM  : gstreamer-plugins-libav-1.2.4-1.3.src.rpm
Build Date  : Sa 17 Mai 2014 08:18:22 CEST
Build Host  : swkj12.site
Relocations : (not relocatable)
Packager    : packman@links2linux.de
Vendor      : http://packman.links2linux.de
URL         : http://gstreamer.freedesktop.org/
Summary     : GStreamer Streaming-Media libav Plug-In


#  | Alias                     | Name                               | Aktiviert | Aktualisieren | Priorität | Typ    | URI                                                                    | Dienst
---+---------------------------+------------------------------------+-----------+---------------+-----------+--------+------------------------------------------------------------------------+-------
 1 | Packman Repository        | Packman Repository                 | Ja        | Ja            |   99      | rpm-md | http://ftp.halifax.rwth-aachen.de/packman/suse/13.1/                   |       
 2 | games                     | games                              | Ja        | Ja            |   99      | rpm-md | http://download.opensuse.org/repositories/games/openSUSE_13.1/         |       
 3 | home:aevseev              | home:aevseev                       | Ja        | Ja            |   99      | rpm-md | http://download.opensuse.org/repositories/home:/aevseev/openSUSE_13.1/ |       
 4 | home:j-engel              | home:j-engel                       | Ja        | Ja            |   99      | rpm-md | http://download.opensuse.org/repositories/home:/j-engel/openSUSE_13.1/ |       
 5 | repo-debug                | openSUSE-13.1-Debug                | Nein      | Ja            |   99      | NONE   | http://download.opensuse.org/debug/distribution/13.1/repo/oss/         |       
 6 | repo-debug-update         | openSUSE-13.1-Update-Debug         | Nein      | Ja            |   99      | NONE   | http://download.opensuse.org/debug/update/13.1/                        |       
 7 | repo-debug-update-non-oss | openSUSE-13.1-Update-Debug-Non-Oss | Nein      | Ja            |   99      | NONE   | http://download.opensuse.org/debug/update/13.1-non-oss/                |       
 8 | repo-non-oss              | openSUSE-13.1-Non-Oss              | Ja        | Ja            |   99      | yast2  | http://download.opensuse.org/distribution/13.1/repo/non-oss/           |       
 9 | repo-oss                  | openSUSE-13.1-Oss                  | Ja        | Ja            |   99      | yast2  | http://download.opensuse.org/distribution/13.1/repo/oss/               |       
10 | repo-source               | openSUSE-13.1-Source               | Nein      | Ja            |   99      | NONE   | http://download.opensuse.org/source/distribution/13.1/repo/oss/        |       
11 | repo-update               | openSUSE-13.1-Update               | Ja        | Ja            |   99      | rpm-md | http://download.opensuse.org/update/13.1/                              |       
12 | repo-update-non-oss       | openSUSE-13.1-Update-Non-Oss       | Ja        | Ja            |   99      | rpm-md | http://download.opensuse.org/update/13.1-non-oss/                      |       

BTW: »Ja« = German for »Yes«, Nein=No

Yes, I know. :wink:

That package seems to be the right one, and your repos look ok too.
Then your other gstreamer packages might not be from Packman, probably you still have the 1.0 versions from the standard repo?

I would suggest to do a vendor change update to Packman:
https://en.opensuse.org/SDB:Vendor_change_update#Full_repository_Vendor_change
F.e.:

sudo zypper dup --from 1

Then it should work.

You might want to additionally install the packages gstreamer-plugins-bad-orig-addon and gstreamer-plugins-ugly-orig-addon as well to have all codecs.
This in itself should pull in all other gstreamer packages from Packman.

Okay, now it

  1. throws this message

(totem:3937): GStreamer-CRITICAL **: gst_element_link_pads_full: assertion 'GST_IS_ELEMENT (dest)' failed
**  Message: Missing plugin: gstreamer|1.0|totem|GStreamer-Element  videoconvert|element-videoconvert (GStreamer-Element videoconvert)
** Message: PackageKit: xid = 29360143
** Message: PackageKit: Codec nice name: GStreamer-Element videoconvert
** Message: PackageKit: structure: gstreamer1(element-videoconvert)()(64bit)

(totem:3937): Grilo-WARNING **: [flickr] grl-flickr.c:387: Wrong token!
**  Message: PackageKit: Did not install codec:  GDBus.Error:org.freedesktop.PackageKit.Modify.transactionCancelled: did  not agree to download
** Message: No installation candidate for missing plugins found.

  1. Works anyway (at least for now)…

Does anyone get it?

“videoconvert” is part of gstreamer-plugins-base, which you should have installed.

You could try to remove the gstreamer plugin cache, maybe that helps. Delete the directory ~/.cache/gstreamer-1.0/.

I do not get that message when using totem, but I get the following, so maybe there’s a general problem with that plugin:

:~> gst-inspect /usr/lib64/gstreamer-1.0/libgstvideoconvert.so
Could not load plugin file: File "/usr/lib64/gstreamer-1.0/libgstvideoconvert.so" appears to be a GStreamer plugin, but it failed to initialize


But it seems you don’t need it anyway.

Hi
Your using the wrong gst inspect;


gst-inspect-1.0 /usr/lib64/gstreamer-1.0/libgstvideoconvert.so

You’re right.

:~> gst-inspect-1.0 /usr/lib64/gstreamer-1.0/libgstvideoconvert.soPlugin Details:
  Name                     videoconvert
  Description              Colorspace conversion
  Filename                 /usr/lib64/gstreamer-1.0/libgstvideoconvert.so
  Version                  1.2.4
  License                  LGPL
  Source module            gst-plugins-base
  Source release date      2014-04-18
  Binary package           GStreamer Base Plug-ins source release
  Origin URL               Unknown package origin


  videoconvert: Colorspace converter


  1 features:
  +-- 1 elements



I thought gst-inspect would call the correct version (either gst-inspect-0.10 or gst-inspect-1.0) but I was wrong.
Sorry.

So the plugin seems to be ok.
I hope removing the cache will help then…

Indeed, deleting the cache solved it then. Thanks!