A few issues with gstreamer

Pedro Côrte-Real pedro at pedrocr.net
Fri Dec 27 15:30:32 PST 2013


Thanks to everyone I've pestered the last two days on #gstreamer.
Here's the current proof of concept code I've been working on:

https://github.com/pedrocr/camerasink

Gstreamer made this much much easier than I was expecting. While
implementing this I've ran into a few issues that seem worth
reporting.

1) Some PPA builds are broken

It seems the Ubuntu PPA doesn't have all the latest versions. Here's
the result of trying to install gstreamer1.0 on Ubuntu 12.04 LTS:

$ dpkg -l | grep gstreamer1.0 | cut -d " " -f 1-30
ii  gstreamer1.0-plugins-bad
1.0.5-1ubuntu1~ubuntu12.04.1~ppa1
ii  gstreamer1.0-plugins-base
1.2.1-2ubuntu1~ubuntu12.04.1~gstdev1
ii  gstreamer1.0-plugins-good
1.0.8-1ubuntu1~ubuntu12.04.1~ppa1
ii  gstreamer1.0-plugins-ugly
1.2.1-1~ubuntu12.04.1~gstdev1
ii  gstreamer1.0-tools                     1.2.1-1~ubuntu12.04.1~gstdev1
ii  libgstreamer1.0-0                      1.2.1-1~ubuntu12.04.1~gstdev1
ii  libgstreamer1.0-dev                    1.2.1-1~ubuntu12.04.1~gstdev

It seems plugins-bad and plugins-good are stuck at earlier versions.
Looking at the build logs the bugs seems to be:

plugins-bad: Missing build dependencies: libplatform-api1-dev
plugins-good: configure: Requested 'libpulse >= 2.0' but version of
libpulse is 1.1

2) gst-rtsp-server doesn't have a 1.0 release

The last release seems to have been 0.10.8 three years ago, but the
git master has 1.2.0 code. it would be great to have a more modern
release of this. Thankfully I only needed this as a test server so I
just built that one against 0.10.

3) Possible regression in 1.2 vs 0.10

This pipeline doesn't work:

$ gst-launch-1.0 -vvv rtspsrc location=rtsp://localhost:8554/test !
rtph264depay ! h264parse ! matroskamux ! filesink location="test.mkv"

giving:
ERROR: from element
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: Internal
data flow error.

Replacing gst-launch-1.0 with gst-launch-0.10 makes it work fine. This
is where I am currently stuck.

Finally I have two questions about gstreamer usage:

1) Is there any way to use uridecodebin without actually decoding the
stream? I want to be able to pass a url to a HTTP or RTSP stream of
mpeg4/mjpeg/h264 into the bin and get the bitstream without decoding
so I can pass it on to a matroskamux.
2) Failing that and for other situations is there any way to build a
pipeline directly from a string like gst-launch does? For flexibility
it would be nice to be able to specify the capture pipeline for my app
as a string.

Thanks,

Pedro


More information about the gstreamer-devel mailing list