udpsrc caps

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

udpsrc caps

Arnold Angerer
Hi, I'm streaming videos over RTP to multiple clients. Video output on
the clients needs to be synchronous, as customers are able to view
multiple displays at once.

How can I communicate udpsrc caps from server to clients? Right now I'm
hardcoding the output from gst-launch -v inside the client. I guess I
could parse the output on the server and update clients over tcp.
But this seems awkward, is there a better and more canonical way to
achieve this?

Arnold

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

Re: udpsrc caps

Dušan Poizl
yes there is and it is called RTSP. you need transmit caps off-band as
RTP doesn't transmit them.

Dňa 22.05.2014 10:23, Arnold Angerer wrote / napísal(a):

> Hi, I'm streaming videos over RTP to multiple clients. Video output on
> the clients needs to be synchronous, as customers are able to view
> multiple displays at once.
>
> How can I communicate udpsrc caps from server to clients? Right now
> I'm hardcoding the output from gst-launch -v inside the client. I
> guess I could parse the output on the server and update clients over tcp.
> But this seems awkward, is there a better and more canonical way to
> achieve this?
>
> Arnold
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: udpsrc caps

Arnold Angerer
Is there a tool to create the sdp file? Or do I need to create that by hand?

On 22/05/14 13:21, Dušan Poizl wrote:

> yes there is and it is called RTSP. you need transmit caps off-band as
> RTP doesn't transmit them.
>
> Dňa 22.05.2014 10:23, Arnold Angerer wrote / napísal(a):
>> Hi, I'm streaming videos over RTP to multiple clients. Video output
>> on the clients needs to be synchronous, as customers are able to view
>> multiple displays at once.
>>
>> How can I communicate udpsrc caps from server to clients? Right now
>> I'm hardcoding the output from gst-launch -v inside the client. I
>> guess I could parse the output on the server and update clients over
>> tcp.
>> But this seems awkward, is there a better and more canonical way to
>> achieve this?
>>
>> Arnold
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: udpsrc caps

Sebastian Dröge-3
On Do, 2014-05-22 at 14:47 +0200, Arnold Angerer wrote:
> Is there a tool to create the sdp file? Or do I need to create that by hand?

You can use gst-rtsp-server if you want RTSP. Otherwise if you just want
a plain SDP, take a look at how gst-rtsp-server creates it from the caps
with the help of libgstsdp.

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: udpsrc caps

rachelgomez161999
One way to communicate the udpsrc caps from server to clients is to use the GStreamer RTSP server. You can create an RTSP server on the server-side that serves the video stream, and the clients can connect to the server using RTSP client libraries. The RTSP protocol supports the exchange of the stream's media parameters (including the caps), which can ensure synchronous playback across multiple clients.

Here's a brief overview of how you can achieve this:

Create an RTSP server using GStreamer's GstRTSPServer library on the server-side.
Add a GstRTSPMediaFactory that generates the pipeline for the stream and sets the caps on the GstCapsFeatures of the output element.
Start the RTSP server and bind it to a specific port number.
On the client-side, use a RTSP client library to connect to the server and receive the stream.
Parse the caps received from the server to set the caps of the client's udpsrc element.
Using an RTSP server can simplify the process of exchanging the caps between the server and clients and can ensure synchronous playback across multiple clients.
Regards,
Rachel Gomez