0

I am trying to play a simple mp4 file with gstreamer on OpenSuse TW, unfortunately it appears to be a bit of trouble, since it can't find the Quicktime decoder, which yet is installed according to qst-inspect.

The command: gst-launch-1.0 playbin uri=file:///$(pwd)/video2.mp4

The error message:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Missing element: Quicktime demuxer
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/quicktime, variant=(string)iso'.
Additional debug info:
../gst/playback/gsturidecodebin.c(1003): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gsturidecodebin.c(1070): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0:
no suitable plugins found:
../gst/playback/gstdecodebin2.c(4736): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: Quicktime (video/quicktime, variant=(string)iso)

ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: Internal data stream error.
Additional debug info:
../plugins/elements/gsttypefindelement.c(1257): gst_type_find_element_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

Output of qst-inspect-1.0

...
typefindfunctions: video/quicktime: mov, mp4
...

Output of gst-inspect-1.0 | grep -i missing: Nothing

What I did:

  • I installed the following packages gstreamer-plugins-libav gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-ugly-codecs gstreamer-plugins-bad-codecs
  • Recoded the mp4 to mp4 and to mov with ffmpeg, resulting in similar issues
  • rm ~/.cache/gstreamer-1.0/registry.x86_64.bin
  • Asked ChatGPT of course with no benefit
  • Researched for a solution, with almost all of them resulting the same suggestions

Thanks in advance!

1 Answer 1

0

What you show is not a demuxer, but a type identification plugin. And that seems to work, as gstreamer does seem to know what kind of data it's dealing with.

What you need is the isomp4 module, which contains qtdemux, according to gst-inspect-1.0, the "QuickTime demuxer".

I'm pretty certain you have that, because it's in /usr/lib64/gstreamer-1.0/libgstisomp4.so, which is part of (according to rpm -qf /usr/lib64/gstreamer-1.0/libgstisomp4.so) gstreamer-plugins-good-1.24.9-1.1.x86_64, and you did install that.

So, this is something that seems to be local to your machine. Start with uninstalling the bad and ugly plugins. They won't help here anyways, and worst case, something buggy breaks your gstreamer. Then, make sure non of the "GST_*" environment variables that gst-launch-1.0 reacts to are set.

If that doesn't help, I'm afraid I'm out of tricks.

1
  • I uninstalled all the bad and ugly packages and made sure no "GST-*" environment variable is set, yet it didn't work, unfortunately. Nevertheless, thanks for your time. Commented Nov 14, 2024 at 20:37

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.