Stream desktop over RTP using VLC with the lowest latency possible

你。 提交于 2019-12-03 07:50:24

问题


I have been trying to figure out how to stream my desktop (over LAN) using VLC and to achieve the lowest latency possible (<100ms). The goal is to have another computer receive the stream and potentially play games while streaming (i.e playing game from PC1 on the PC beside the TV).

What settings should I use? I have tried multiple approaches but have yet to succeed.

EDIT: I am open to using something other than VLC as well.


回答1:


I have also tried the same with VLC and couldn't ever get latency bellow 3 seconds. FFmpeg did wonders and finally provided a latency bellow 1 second.

mpeg2video and UPD provided the best results, RTP latency felt a bit worse but very close. Moving to x264 improves quality in exchange for a bit more latency, but that really depends on how much dynamic content is there and how fast the CPU is. I only got x264 working with UDP, but there must be a way to do it with RTP.

I'm not sure it's feasible for playing. The server will be under a heavy workload and latency will be noticeable - at least on Linux, don't know about windows.

On Linux try one of the following commands:

$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.0.10:1234

or

$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec libx264 -preset ultrafast -tune zerolatency -crf 18 -f mpegts udp://192.168.0.10:1234

Adjust for screen resolution (-s <your resolution>), refresh rate (-r <fps>), bandwidth (-b:v <bits/s>), quality (-crf 18 or -qp 18, the lower the better), and target ip:port.

If running Windows use dshow in place of x11grab.

Watch it using ffplay udp://192.168.0.10:1234 or ffplay sdp://192.168.0.10:1234.

Mind you that none of those options will stream sound. I was unable to get such low latencies when streaming audio as well. It might be doable, I just didn't figured out how.

The most responsive client was ffplay, VLC introduced too much latency even with its network cache set to zero - with such cache it actually got worse, since it tried to 'resync' the stream too often.

If you need further details I made a post about my findings. Hope it helps. I appreciate any feedback. ^_^



来源:https://stackoverflow.com/questions/16369745/stream-desktop-over-rtp-using-vlc-with-the-lowest-latency-possible

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!