Ideal pipe for streaming live with minimal delay

Wim Taymans wim.taymans at gmail.com
Tue Mar 13 13:40:06 PDT 2012


On 03/13/2012 08:59 PM, W.A. Garrett Weaver wrote:
> Thank you for replying.
>
> I originally had the pipeline without sync=false, without it, the 
> video was very choppy, with it, I got a very consistent, high frame 
> rate. I've found leaving it in is important.
>
> I tried playing around with the gstrtpjitterbuffer latency. So you're 
> saying that increasing the latency would give smoother play back? I 
> tried reducing it to try to reduce the receiving delay.
>
> Example: ! gstrtpjitterbuffer latency=100 !
>
> But reducing gstrtpjitterbuffer latency has no (noticeable) effect on 
> reducing delay.
>
> You are right about latency being either from the network or the 
> sender. In my case it is from the sender. Changing the sender script 
> dramatically reduced latency. The thing that was changed was adjusting 
> the speed-preset option in the x264enc. My latest sender script is:
>
> gst-launch-0.10 v4l2src ! 'video/x-raw-yuv,width=640,height=480' ! 
> x264enc bitrate=500 speed-preset=superfast ! rtph264pay ! udpsink 
> host=244.1.1.1 port=5000 auto-multicast=true

If you are using x264enc you should consider using tune=zerolatency as well.

Wim

>
> Which has a latency of about 1 second (on a 2.8 Ghz core 2 duo). I can 
> make the encoder speed even faster, but that causes the video quality 
> to be reduced to unacceptable levels.
>
>
> On Tue, Mar 13, 2012 at 2:52 AM, Wim Taymans <wim.taymans at gmail.com 
> <mailto:wim.taymans at gmail.com>> wrote:
>
>     On 03/13/2012 06:19 AM, garrett wrote:
>
>         Hello, I came across this thread doing research about
>         gstreamer video
>         streaming. Since this thread hasn't developed a definitive
>         answer concerning
>         OP's query, it'd like to give it a bump so that it could help
>         others in the
>         future.
>
>         I am trying to do a similar thing. I'm trying to transmit
>         video, using RTP
>         packets but it's over UDP, not TCP. I am getting a constant
>         latency of about
>         4 seconds. I'd like to be able to reduce that latency as much
>         as possible.
>
>         Is there any way to possibly drop frames in a receiving
>         pipeline so that
>         only the most recent video is displayed? What follows is my
>         current
>         gstreamer receiving pipeline.
>
>         /gst-launch-0.10 udpsrc multicast-group=224.1.1.1
>         auto-multicast=true
>         port=5000 caps=application/x-rtp ! gstrtpjitterbuffer !
>         rtph264depay !
>         ffdec_h264 ! xvimagesink sync=false/
>
>
>     You need to first remove sync=false, it will result in choppy
>     playback. Depending
>     on the H264 encoding and framerate, you might need to increase the
>     gstrtpjitterbuffer
>     latency property to get smooth playback.
>
>     In that pipeline the latency between receiving the packet from the
>     network and playing
>     the decoded frame is determined by gstrtpjitterbuffer, which has a
>     200ms latency by default.
>     There could also be a 1 frame delay in the H264 decoder. This
>     pipeline will certainly not
>     have a 4 second latency so your problem is either on the network
>     or more likely on the sender.
>
>     Wim
>
>
>
>         If anyone gives me any suggestions: I'd be happy to let you
>         know how they
>         turn out.
>
>         --
>         View this message in context:
>         http://gstreamer-devel.966125.n4.nabble.com/Ideal-pipe-for-streaming-live-with-minimal-delay-tp2314936p4468266.html
>         Sent from the GStreamer-devel mailing list archive at Nabble.com.
>         _______________________________________________
>         gstreamer-devel mailing list
>         gstreamer-devel at lists.freedesktop.org
>         <mailto:gstreamer-devel at lists.freedesktop.org>
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
> -- 
> *W.A. Garrett Weaver *
> weaverg at email.arizona.edu <mailto:weaverg at email.arizona.edu>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list