我希望能够做一些简单的低延迟屏幕共享。我知道点对点将是最低延迟,但似乎使用中间服务器更容易设置。我发现了这个很棒的小库,它设置了一个 RTSP 服务器,我在我的数字海洋服务器上运行它。我然后:
- 设置 OBS 以使用 RTP 以 libx264 编码在端口 8558 上流式传输到服务器。
ffmpeg -re -stream_loop -1 -i rtp://127.0.0.1:8558 -c:v libx264 -c:a aac -f rtsp rtsp://localhost:8554/mystream
在服务器上运行。rtsp://<server ip>:8554/mystream
在 VLC 上打开。
但是,延迟似乎相当高。用我蹩脚的互联网,它一定是半分钟。有更好互联网的朋友看到它在 4-15 秒之间波动。此外,视频上似乎有很多伪影(编码问题?我不确定为什么会发生这些情况?)
我附在我的 OBS 设置下面,以及一个工件示例。
我的问题是:OBS 和 ffmpeg 上是否有一些设置可以使其具有尽可能低的端到端延迟,同时又不会有太多不良工件?我对视频编码和流媒体不是很精通,所以这对我来说都是全新的。我愿意学习!