Manually constructing rtspsrc pipeline

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Manually constructing rtspsrc pipeline

joakim
Hi,
I'm trying to manually construct the same pipeline in my c application as
the element rtspsrc would construct. My  understanding is that I need
rtpsession and rtpbin in my pipeline. What I don't know is if I need another
element and which pads to use and how they should be linked. A code snippet
of this would be really helpful.

Regards
Joakim



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Manually constructing rtspsrc pipeline

Tim Müller
On Tue, 2019-02-05 at 02:46 -0600, joakim wrote:

Hi,

> I'm trying to manually construct the same pipeline in my c
> application as the element rtspsrc would construct. My  understanding
> is that I need rtpsession and rtpbin in my pipeline. What I don't
> know is if I need another element and which pads to use and how they
> should be linked. A code snippet of this would be really helpful.

You can get a graph of a pipeline using rtspsrc from gst-launch-1.0 or
gst-play-1.0 by setting the GST_DEBUG_DUMP_DOT_DIR environment variable
and then using the graphviz tools or xdot:

https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html#getting-pipeline-graphs

Why do you want to make your own rtspsrc though?

Cheers
 Tim

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

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Manually constructing rtspsrc pipeline

joakim
Ah, I didn't know that. I will try and see if it helps.

I will receive rtsp from several different ip-cameras and store them as HLS.
The core problem I'm trying to solve is how to synchronize these streams. My
solution to this is to set a tag in the playlist (m3u8) file of the HLS
files. This tag corresponds to the absolute time for the start time of the
recording. The application that will receive these HLS files will be able to
synchronise everything if this tag is set. Gstreamer does not set this tag
(at least not as default, maybe gstreamer can be set up to automatically set
this tag? The tag is named "EXT-X-PROGRAM-DATE-TIME").

In conclusion, if i can read the first ntp timestamp from the first RTCP
packet I can set this tag in the HLS playlist file.

I'm open for other approaches on how to solve this though if there's an
easier or better way.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel