receiving video and onvif rtp streams from rtspsrc
Tim Müller
tim at centricular.com
Sat Mar 28 07:31:27 PDT 2015
On Sat, 2015-03-28 at 15:00 +0100, marc lievens wrote:
Hi,
(please don't forget to add a meaningful subject to your mails)
> From a camera I want to receive the video stream (h264) and the onvif
> data
> I seem to be able to receive both from different pipelines but when I
> combine both with a tee element it does not work.
> Depending of the changes I make I get errors, like :
> /gstPipeline:pipeline0/GstRtspSrc:rtpsrc0:udpsrc3: internal data error
> /gstPipeline:pipeline0/GstRtspSrc:rtpsrc0:udpsrc3: streaming task
> paused, reason not linked.(-1)
>
> I think it has something to do with the caps, but I can't figure out
> what is wrong. Any help is Welkom
> The pipeline is :
> gst-launch-1.0 rtsp:"url' ! tee name=tp ! queue ! rtph264depay !
> h264parse ! matroskamux ! filesink location=test-1.mkv tp. ! queue !
> application/x-rtp, media=application ! fakesink
This doesn't look right at first glance. What you're doing here is take
the first RTP stream coming out of rtspsrc (which might be the video, or
metadata, or audio), and then split it via a tee. Thing is, both of the
split branches of the tee must have the same data, whereas you seem to
want h264 rtp data in one branch and application/x-rtp,media=application
in the other branch. That's imposssible.
rtspsrc will give you one source pad per stream, so I think you don't
want to use the tee element here, but tap the streams directly from
rtspsrc, like (untested):
rtspsrc location=rtsp://.... name=src \
src. ! queue ! rtph264depay ! ... \
src. ! application/x-rtp,media=application ! queue ! fakesink
Cheers
-Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel
mailing list