我有一个 MEVO 摄像头,用于通过我的 debian nginx rtmp 服务器将视频流式传输到 OBS。我还有一个 USB 网络摄像头直接连接到我的运行 OBS 的 PC,我通过同一个 nginx rtmp 服务器和一个名为 Larix Broadcaster 的应用程序将视频从我的智能手机流式传输到 OBS。OBS PC的CPU使用率:15%;nginx rtmp 服务器:2%。
MEVO > nginx-rtmp > OBS
USB webcam > OBS
Smartphone (Larix) > nginx-rtmp > OBS
这可行,但流彼此不同步。MEVO 和 OBS 之间有大约 2-5 秒的延迟(Larix 和 OBS 之间也有不同的延迟)。网络摄像头是即时的。我不介意 2 秒的延迟 - 我可以在网络摄像头的 OBS 中设置手动异步延迟,以将其与 MEVO 同步。问题是延迟不一致。每次我开始播放 MEVO 时,它都会发生变化!
然后,当我终于设法同步流时(幸运的镜头),在流式传输时它们也会同步进出(抖动)。仅在 100-200ms 范围内,但足以可见。
看着MEVO,我相信它只支持RTMP。所以转向另一个协议对我不起作用。
抖动和延迟变化的原因可能是什么?会不会是网络?MEVO 和 OBS 都在一个快速的 1Gbps 有线网络上。
我尝试将 OBS 中的网络缓冲设置为 1MB、2MB 或其他大小,但没有帮助。我也尝试更改 nginx.conf 中的 buflen,但无济于事。
nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
buflen 1000ms;
application live {
live on;
record off;
max_connections 20;
}
}
}
- 我正在将 MEVO 流式传输到 rtmp://10.0.0.1/live/mevo(mevo 是流键)
- 我正在将 Larix 流式传输到 rtmp://10.0.0.1/live/larix (larix 是流密钥)
请帮我修复 OBS 中的抖动和变化的延迟!谢谢。
在我尝试修复不断变化的启动滞后时进行更新:
- 我尝试将 chunk_size 设置为 2048,但这没有帮助。
- 当我添加:wait_key on; 我从来没有让流在OBS中显示。
有任何想法吗?