Please help with uridecodebin pipeline (I would like to prevent re-encoding)

Tim Müller tim at centricular.com
Sat Sep 6 04:26:04 PDT 2014


On Fri, 2014-09-05 at 12:55 +0200, stic at free.fr wrote:

Hi,

> I have following pipeline:
> uridecodebin name=uridecodebin ! queue ! matroskamux name=mux ! decodebin ! videoconvert ! videoscale ! eglglessink name=videosink
> 
> The source stream is a rtsp uri transporting h264 video data.
> I try to build this pipeline because I would like then to be able to record to a file the h264 video data BEFORE it is decoded and sent to the videosink (would like to prevent re-encoding !)
> 
> But this fails with following error:
> 
> W/GStreamer+basesrc(2246): 0:00:18.677825943 0x77956860 gstbasesrc.c:2867:gst_base_src_loop:<udpsrc3> error: Internal data flow error.
> W/GStreamer+basesrc(2246): 0:00:18.678039566 0x77956860 gstbasesrc.c:2867:gst_base_src_loop:<udpsrc3> error: streaming task paused, reason not-linked (-1)
> 
> I also tried to return false with uridecodebin autoplug-continue signal to allow it to pass through data, but still same error.
> 
> Please can you give me some hints on how I could achieve this ?
> Any help would be greatly appreciated.

The easiest would probably be to use rtspsrc instead of uridecodebin
then, and do something like:

 gst-launch-1.0 rtspsrc location=rtsp://.. ! rtph264depay ! tee name=t \
    t. ! queue ! (decodebin or h264parse ! avdec_h264) ! videoconvert !
videoscale ! autovideosink \
    t. ! queue ! h264parse ! muxer ! filesink location=recording.foo

 Cheers
  -Tim


-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list