Problem with udpsrc in gst-rtsp-server (latency)

Morris Ford morrishford at gmail.com
Tue Mar 1 08:12:55 PST 2011


Doing x264enc tune=zerolatency made the video quite pixelated but really
didn't affect the latency.

A brief explanation of what I am doing:

I am using AppSrc from gstreamer-java to grab rgb buffers from a large java
app and putting them out as x264enc / rtph264pay / udpsink. That is the
stream I am picking up with the test-launch pipeline I am working on. I can
attach a gst-launch pipeline to the AppSrc output and display with very low
latency so the delay is in the test-launch pipeline. I just reduced the size
of the captured buffers in the AppSrc interface from 640x480 to 320x240 with
improved latency so it appears that the amount of data in the pipeline is
important. I have checked cpu usage everwhere with nothing showing over
about 3 -5 % usage. All the involved computers are connected by gigabit
connections.

Morris

On Tue, Mar 1, 2011 at 9:00 AM, Tim-Philipp Müller <t.i.m at zen.co.uk> wrote:

> On Tue, 2011-03-01 at 08:43 -0500, Morris Ford wrote:
> > This morning I cranked up my test and I was seeing about 10 second
> > latency. After rebooting all the systems involved I am still seeing
> > about 7 - 8 second latency. This is really strange.
> >
> > Any insight?
>
> Try: x264enc tune=zerolatency
>
> Cheers
>  -Tim
> >
> > Morris
> >
> > On Tue, Mar 1, 2011 at 8:24 AM, Morris Ford <morrishford at gmail.com>
> > wrote:
> >         I get:
> >         (lt-test-launch:21084): GStreamer-CRITICAL **:
> >         gst_poll_set_flushing: assertion `set != NULL' failed
> >
> >
> >         Morris
> >
> >
> >         On Tue, Mar 1, 2011 at 3:11 AM, Marco Ballesio
> >         <gibrovacco at gmail.com> wrote:
> >                 Hi,
> >
> >                 On Mon, Feb 28, 2011 at 6:14 PM, Morris Ford
> >                 <morrishford at gmail.com> wrote:
> >                 > Thanks a lot for your help. That was the key to
> >                 getting it to run. I now
> >                 > have a working rtsp-server pipe thus:
> >                 > ./test-launch "( udpsrc port=5000 caps=
> >                 \"application/x-rtp,
> >                 > media=\(string\)video, clock-rate=\(int\)90000,
> >                 > encoding-name=\(string\)H264,  payload=\(int\)96,
> >                 ssrc=\(guint\)2396357661,
> >                 > clock-base=\(guint\)2297066863, seqnum-base=\(guint
> >                 \)49439\" ! rtph264depay
> >                 > ! ffdec_h264 ! ffmpegcolorspace ! videoscale !
> >                 x264enc ! rtph264pay
> >                 > name=pay0 pt=96 sync=false )"
> >                 > Problem now is that there is a 3 - 4 second latency
> >                 when playing using that
> >                 > pipeline and playing the resulting video through vlc
> >                 or quicktime.
> >                 > My question: How do I find what is causing the delay
> >                 and what can I do to
> >                 > reduce the delay?
> >
> >
> >                 what if you don't explicitly set clock-base and
> >                 seqnum-base?
> >
> >                 Regards
> >
> >
> >                 > Thanks
> >                 > Morris
> >                 >
> >                 > On Mon, Feb 28, 2011 at 2:33 AM, Marco Ballesio
> >                 <gibrovacco at gmail.com>
> >                 > wrote:
> >                 >>
> >                 >> Hi,
> >                 >>
> >                 >> On Mon, Feb 28, 2011 at 3:05 AM, Morris Ford
> >                 <morrishford at gmail.com>
> >                 >> wrote:
> >                 >> > I am working on receiving an udpsrc stream and
> >                 publishing it as an rtsp
> >                 >> > stream. This gst-launch string works just fine to
> >                 receive the stream:
> >                 >> > gst-launch-0.10 -v udpsrc port=5000
> >                 caps="application/x-rtp,
> >                 >> > media=\(string\)video, clock-rate=\(int\)90000,
> >                 >> > encoding-name=\(string\)H264,  payload=\(int\)96,
> >                 >> > ssrc=\(guint\)2396357661,
> >                 >> > clock-base=\(guint\)2297066863, seqnum-base=
> >                 \(guint\)49439" !
> >                 >> > rtph264depay !
> >                 >> > decodebin ! ffmpegcolorspace ! videoscale !
> >                 xvimagesink sync=false
> >                 >> > but when I try to take that pipeline and put it
> >                 into a test-launch, I
> >                 >> > get
> >                 >> > complaints about not being able to set the caps
> >                 on udpsrc to
> >                 >> > application/x-rtp.
> >                 >> > Like this:
> >                 >> > ./test-launch "( udpsrc port=5000
> >                 caps="application/x-rtp,
> >                 >> > media=\(string\)video, clock-rate=\(int\)90000,
> >                 >>
> >                 >> It's just about bash syntax. The way you're using
> >                 the " make bash
> >                 >> thinking you're passing test-launch a first
> >                 argument like this:
> >                 >>
> >                 >> ( udpsrc port=5000 caps=
> >                 >>
> >                 >> concatenated to:
> >                 >>
> >                 >> application/x-rtp,
> >                 >>
> >                 >> and a second argument like:
> >                 >>
> >                 >> media=\(string\)video,
> >                 >>
> >                 >> useless to say this is not what you should pass to
> >                 the test-launch
> >                 >> command. I suggest you to try replacing the outmost
> >                 pair of " with '
> >                 >> or the innermost ones with \"
> >                 >>
> >                 >> Regards
> >                 >>
> >                 >> > encoding-name=\(string\)H264,  payload=\(int\)96,
> >                 >> > ssrc=\(guint\)2396357661,
> >                 >> > clock-base=\(guint\)2297066863, seqnum-base=
> >                 \(guint\)49439" !
> >                 >> > rtph264depay !
> >                 >> > decodebin ! ffmpegcolorspace ! videoscale !
> >                 x264enc ! rtph264pay
> >                 >> > name-pay0
> >                 >> > pt=96 )"
> >                 >> > ** (lt-test-launch:20772): CRITICAL **: could not
> >                 parse launch syntax ((
> >                 >> > udpsrc port=5000 caps=application/x-rtp,): could
> >                 not set property "caps"
> >                 >> > in
> >                 >> > element "udpsrc0" to "application/x-rtp,"
> >                 >> > ** (lt-test-launch:20772): CRITICAL **: could not
> >                 create element
> >                 >> > I could not find any examples of udpsrc in a
> >                 test-launch line or udpsrc
> >                 >> > in a
> >                 >> > gst-rtsp-server 'c' program so I am not at all
> >                 sure if what I am trying
> >                 >> > to
> >                 >> > do is valid.
> >                 >> > Morris
> >                 >> > _______________________________________________
> >                 >> > gstreamer-devel mailing list
> >                 >> > gstreamer-devel at lists.freedesktop.org
> >                 >> >
> >
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >                 >> >
> >                 >> >
> >                 >> _______________________________________________
> >                 >> gstreamer-devel mailing list
> >                 >> gstreamer-devel at lists.freedesktop.org
> >                 >>
> >
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >                 >
> >                 >
> >                 > _______________________________________________
> >                 > gstreamer-devel mailing list
> >                 > gstreamer-devel at lists.freedesktop.org
> >                 >
> >
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >                 >
> >                 >
> >                 _______________________________________________
> >                 gstreamer-devel mailing list
> >                 gstreamer-devel at lists.freedesktop.org
> >
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110301/1a832e3e/attachment.html>


More information about the gstreamer-devel mailing list