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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |