Hi Folks
I'm seeing a level of packet loss sufficient to cause macroblocking when I play a stream from an RTSP server. If I turn on debug for the jitterbuffer, I see warnings about packet loss coincident with the macroblocking. I have experimented with a minimal pipeline consisting of rtspsrc ! fakesink and I still see packet loss. I'm trying to figure out what elements are created by rtspsrc and how they are connected, in order to track down in which element the packets may be being lost. I took a look at the README in the gstrtspsrc folder and that talks about creating an rtpdec element, however I think that may be a bit out of date. Can anyone help me with a block diagram of which elements make up an rtspsrc and how they are connected, assuming the simplest case? Thanks Stewart ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Administrator
|
Something like this: http://dl.dropbox.com/u/11507187/player-rtsp-success.png Try writing a simple program, which would create a pipeline, set it to play, then call GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(pipeline), GST_DEBUG_GRAPH_SHOW_ALL, filename);macro. Set environment variable GST_DEBUG_DUMP_DOT_DIRto some path before running this program. |
Also a good trick is to increase the default kernel UDP buffer size.
The next version of rtspsrc will by default set the size much bigger, which helps a lot. Wim On Wed, Jan 19, 2011 at 11:56 AM, wl2776 <[hidden email]> wrote: > > > Stewart Hardwick wrote: >> >> Can anyone help me with a block diagram of which elements make up an >> rtspsrc >> and how they are connected, assuming the >> simplest case? >> > > Something like this: > http://dl.dropbox.com/u/11507187/player-rtsp-success.png > > Try writing a simple program, which would create a pipeline, set it to play, > then call > GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(pipeline), > GST_DEBUG_GRAPH_SHOW_ALL, filename); > macro. > > Set environment variable GST_DEBUG_DUMP_DOT_DIR to some path before running > this program. > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Elements-in-rtspsrc-pipeline-tp3224990p3225021.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Stewart Hardwick
> Something like this: ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
> Also a good trick is to increase the default kernel UDP buffer size.
> The next version of rtspsrc > will by default set the size much bigger, which helps a lot. I took a look at the latest plugins_good rtspsrc, and modified mine to add g_object_set (G_OBJECT (stream->udpsrc[0]), "buffer-size", (100 * 1024), NULL); in gst_rtspsrc_stream_configure_udp. However, the debug from udpsrc still shows a buffer size of 50K (note confusing factor of 2 due to kernel overhead): udpsrc gstudpsrc.c:784:gst_udpsrc_start:<udpsrc0> allocating socket for 0.0.0.0:0 udpsrc gstudpsrc.c:795:gst_udpsrc_start:<udpsrc0> got socket 37 udpsrc gstudpsrc.c:797:gst_udpsrc_start:<udpsrc0> setting reuse 0 udpsrc gstudpsrc.c:804:gst_udpsrc_start:<udpsrc0> binding on port 0 udpsrc gstudpsrc.c:873:gst_udpsrc_start:<udpsrc0> have udp buffer of 106496 bytes udpsrc gstudpsrc.c:906:gst_udpsrc_start:<udpsrc0> bound, on port 32836 udpsrc gstudpsrc.c:909:gst_udpsrc_start:<udpsrc0> notifying port 32836 I was expecting to see "setting udp buffer of 102400 bytes" somewhere. Looking at the udpsrc code, in gst_udpsrc_start it looks like src->buffer_size must be zero. Possibly the call in rtspsrc is being made after gst_udpsrc_start has run and set the buffer size? Cheers Stewart ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |