Achieving <400ms latency with x264enc

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Achieving <400ms latency with x264enc

ch3rryc0ke
Hello,

I'm wondering if it is possible to achieve <400ms latency with streaming video using x264enc. I'm using gstreamer to stream video (server) to VLC (client) on another machine within the same local network.

My pipeline is as follows (on the server machine):

ximagesrc ! video/x-raw-rgb,framerate=10/1 ! videorate ! ffmpegcolorspace ! videoscale method=1 ! video/x-raw-yuv,width=480,height=300,framerate=5/1 ! x264enc byte-stream=true bitrate=195 tune=0x00000004 ! mpegtsmux ! rtpmp2tpay ! udpsink port=1500 host=192.168.2.197

Note that I'm using the tune=zerolatency (which sets several values, according to http://mewiki.project357.com/wiki/X264_Encoding_Suggestions) to achieve low latency.

My client machine is simply running VLC with rtp://:1500

With this setting-- I'm seeing about 2.5 seconds of latency from an action taken on the server to being seen in the video stream by the client.

If you've achieved low latency with x264enc, can you share your settings?

Thanks!
Suneet

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Achieving <400ms latency with x264enc

timothe jahan
Hi,
I am not a gstreamer expert at all but I am working quite a lot on live streaming.
I would advice to check the buffer settings of VLC. Usually the client always have some buffer to hide network ups and downs. A few seconds is common.

Regards,
Timothe

On Mon, Jan 3, 2011 at 9:35 AM, Suneet Shah <[hidden email]> wrote:
Hello,

I'm wondering if it is possible to achieve <400ms latency with streaming video using x264enc. I'm using gstreamer to stream video (server) to VLC (client) on another machine within the same local network.

My pipeline is as follows (on the server machine):

ximagesrc ! video/x-raw-rgb,framerate=10/1 ! videorate ! ffmpegcolorspace ! videoscale method=1 ! video/x-raw-yuv,width=480,height=300,framerate=5/1 ! x264enc byte-stream=true bitrate=195 tune=0x00000004 ! mpegtsmux ! rtpmp2tpay ! udpsink port=1500 host=192.168.2.197

Note that I'm using the tune=zerolatency (which sets several values, according to http://mewiki.project357.com/wiki/X264_Encoding_Suggestions) to achieve low latency.

My client machine is simply running VLC with rtp://:1500

With this setting-- I'm seeing about 2.5 seconds of latency from an action taken on the server to being seen in the video stream by the client.

If you've achieved low latency with x264enc, can you share your settings?

Thanks!
Suneet

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel