首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VLC以尽可能低的延迟通过RTP流式传输桌面

使用VLC以尽可能低的延迟通过RTP流式传输桌面
EN

Stack Overflow用户
提问于 2013-05-04 09:38:36
回答 1查看 15.3K关注 0票数 9

我一直在试图弄清楚如何使用VLC流式传输我的桌面(通过LAN),并实现尽可能低的延迟(<100ms)。目标是让另一台计算机接收流媒体,并有可能在流媒体的同时玩游戏(即在电视旁边的PC上玩PC1游戏)。

我应该使用什么设置?

编辑:我也愿意使用VLC以外的东西。

EN

回答 1

Stack Overflow用户

发布于 2013-06-10 05:23:09

我也尝试过同样的VLC,但在3秒内无法获得延迟。FFmpeg创造了奇迹,最终提供了低于1秒的延迟。

mpeg2video和UPD提供了最好的结果,RTP延迟感觉有点差,但非常接近。迁移到x264提高了质量,但这实际上取决于有多少动态内容以及CPU的速度。我只让x264与UDP一起工作,但肯定有办法用RTP来做到这一点。

我不确定这对玩是不是可行。服务器将处于繁重的工作负载下,并且延迟会很明显--至少在Linux上是这样,不知道windows的情况。

在Linux上,尝试使用以下命令之一:

代码语言:javascript
复制
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.0.10:1234

代码语言:javascript
复制
$ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec libx264 -preset ultrafast -tune zerolatency -crf 18 -f mpegts udp://192.168.0.10:1234

根据屏幕分辨率(-s <your resolution>)、刷新率(-r <fps>)、带宽(-b:v <bits/s>)、质量(-crf 18-qp 18,越低越好)和目标ip:端口进行调整。

如果运行的是Windows,请用dshow代替x11grab

使用ffplay udp://192.168.0.10:1234ffplay sdp://192.168.0.10:1234观看。

请注意,这些选项都不会流式播放声音。在流式传输音频时,我也无法获得如此低的延迟。这可能是可行的,我只是想不出怎么做。

响应最快的客户端是ffplayVLC引入了太多的延迟,即使它的网络缓存设置为零-使用这样的缓存,它实际上变得更糟,因为它试图‘重新同步’流太频繁。

如果你需要更多的细节,我做了一个关于我的发现的post。希望能有所帮助。我很感谢你的反馈。^_^

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16369745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档