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

2023-12-23

我一直在尝试找出如何使用 VLC 流式传输我的桌面(通过 LAN)并实现尽可能低的延迟(

我应该使用什么设置?我尝试了多种方法但尚未成功。

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


我也用 VLC 尝试过同样的操作,但延迟始终无法低于 3 秒。 FFmpeg 创造了奇迹,最终提供了低于 1 秒的延迟。

mpeg2video 和 UPD 提供了最好的结果,RTP 延迟感觉有点差,但非常接近。转向 x264 可以提高质量,但会增加一点延迟,但这实际上取决于动态内容的数量以及 CPU 的速度。我只让 x264 使用 UDP,但一定有办法使用 RTP。

我不确定它是否可以玩。服务器将承受繁重的工作负载,并且延迟会很明显——至少在Linux上,不知道Windows上是否如此。

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

$ 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

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

如果运行 Windows 使用dshow代替x11grab.

使用观看它ffplay udp://192.168.0.10:1234 or ffplay sdp://192.168.0.10:1234.

请注意,这些选项都不会传输声音。在流式传输音频时我也无法获得如此低的延迟。可能是可行的,只是我不知道如何实现。

反应最快的客户是ffplay, VLC即使其网络缓存设置为零,也会引入太多的延迟 - 使用这样的缓存,它实际上变得更糟,因为它过于频繁地尝试“重新同步”流。

如果您需要更多详细信息,我做了一个post http://www.waitwut.info/blog/2013/06/09/desktop-streaming-with-ffmpeg-for-lower-latency/关于我的发现。希望能帮助到你。我很感激任何反馈。 ^_^

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 VLC 通过 RTP 流式传输桌面,延迟尽可能低 的相关文章

  • 在 Android 中通过蓝牙接收音频

    我想创建一个能够接收音频流的 Android 应用程序 我想过使用 A2DP 配置文件 但似乎 Android 不支持 A2DP 接收器 看起来有很多人正在寻找这个问题的解决方案 但是接收普通的比特流 然后在应用程序中将数据转换为音频呢 我
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo
  • Java中的媒体播放器库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在评估用于在 Java 中播放音频 视频的库 它不需要 100 Java Java 与本机库的绑定
  • Python 2.7:支持一个端口上多个连接的流式 HTTP 服务器

    我正在寻找一个标准的Python 2 7包 提供一个同时执行的HTTP服务器流媒体同一端口号上的连接 嘿 各位版主 请停止将我的问题标记为想要以非流媒体方式提供服务的问题的重复项 例如 python 中的多线程 Web 服务器 https
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe
  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu
  • std::ifstream::read 或 std::ofstream::write 参数为零?

    是否完全可以 根据标准明确定义的行为 调用 mystream read buffer 0 or mystream write buffer 0 当然 什么也不会被读或写 我想知道在调用这两个函数之一之前是否必须测试提供的大小是否为空 是的
  • .Net StreamWriter.BaseStream,这个定义是什么意思? “获取与后备存储接口的底层流。”

    我正在读关于StreamWriter今天 偶然发现了这个楼盘 BaseStream 我正在寻找定义并发现了这个 获取与后备存储接口的底层流 从这里MSDN StreamWriter BaseStream http msdn microsof
  • 使用 Android Exoplayer 调整 Dash 流音量

    我正在尝试设置一个搜索栏来控制 exoplayer 流式破折号实例的级别 我正在使用的设置是演示项目的修改版本 并且无法确定我应该尝试影响搜索栏输出的哪个元素 即如何正确使用 MSG SET VOLUME 等 任何意见将不胜感激 我正在寻找
  • 将rtsp视频流转换为http流

    我有一个实时视频流的 rtsp URL 我想将其作为 HTTP 流进行访问 有人可以告诉我是否有任何组件可以放在我的服务器上来执行此操作 我不知道如何实现这一点 请注意 Thanks 我想说你最好的选择是使用 FFmpeg 或 VLC 两者
  • 如何指定从 Delphi TStream 读取的组件的所有者?

    我正在从流中读取组件 并且希望能够指定 Owner 属性 var TComponent comp stream Seek 0 soFromBeginning comp stream ReadComponent nil 谁拥有 comp 我该
  • 流媒体性能 - Canvas 与

    我正在开发一个应用程序 需要通过 webSocket 连接以每秒至少 30 帧的速度持续传输图像 我遇到了一些性能问题 并希望尽我所能进行优化 我想知道使用不断更新的图像之间的性能差异是什么 就像这样 img src someDynamic
  • 在 C# 中使用流读取大文本文件

    我有一项可爱的任务 就是研究如何处理加载到我们应用程序的脚本编辑器中的大文件 就像VBA http en wikipedia org wiki Visual Basic for Applications用于我们内部产品的快速宏 大多数文件约
  • 使用 GStreamer 进行流式传输

    我在 System 1 上有一个高清视频 ed hd avi 希望通过网络进行流式传输并播放 System 2 中的内容 我在 Ubuntu 11 04 上使用 GStreamer 对此进行了很多尝试 各种错误使得该目标难以诊断 将感谢获得
  • 如何组合输出流,以便输出同时到达多个位置?

    我想将两个 或更多 流合成为一个 我的目标是任何输出都指向cout cerr and clog也可以与原始流一起输出到文件中 例如 当事情记录到控制台时 关闭后 我仍然希望能够返回并查看输出 我正在考虑做这样的事情 class stream
  • C++ iomanip 库的有效使用

    我创建了一个VectorC 中的类 它非常适合我的问题 我现在正在清理它 我遇到了以下代码 std ostream operator lt lt std ostream output const Vector v output lt lt
  • 将音频从 PC 传输到智能手机?

    2016 年圣诞节 我和我爸爸想用灯光和灯光为我们的社区举办一场灯光秀music We have the lights set up but the music is a problem We don t want to put huge
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • Chrome 在传输一定量的数据后挂起 - 等待可用的套接字

    我有一个浏览器游戏 最近我开始向游戏添加音频 Chrome 无法加载整个页面并卡在 91 requests 8 1 MB transferred 并且不再加载任何内容 它甚至破坏了所有其他选项卡中的网站 说Waiting for avail
  • 通过 WiFi 将视频从一部 Android 手机直播到另一部手机

    我已经在互联网上搜索了好几天关于如何通过 WiFi 连接实现从 Android 手机到另一部 Android 手机的视频流功能 但我似乎找不到任何有用的东西 我查看了 Android 开发人员的示例代码 stackoverflow goog

随机推荐