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