首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用OBS和nginx改变rtmp流的滞后和抖动

用OBS和nginx改变rtmp流的滞后和抖动
EN

Stack Overflow用户
提问于 2020-04-03 20:13:56
回答 1查看 3.4K关注 0票数 0

我有一个MEVO摄像头,我用它通过我的debian nginx rtmp服务器将视频传输到OBS。我也有一个USB摄像头直接连接到我的PC运行OBS,我将视频从我的智能手机通过相同的nginx rtmp服务器和一个名为Larix广播的应用程序流到OBS。OBS PC的CPU使用率: 15%;nginx rtmp服务器: 2%。

代码语言:javascript
复制
MEVO               > nginx-rtmp > OBS
USB webcam                      > OBS
Smartphone (Larix) > nginx-rtmp > OBS

这是可行的,但流之间并不同步。MEVO和OBS之间的延迟约为2-5秒( Larix和OBS之间也有不同的延迟)。摄像头是即时的。我不介意2秒的延迟--我可以在摄像头上设置OBS的手动异步延迟,以将其与MEVO同步起来。问题是延迟不一致。每次我开始流MEVO,它就变了!

然后,当我最终设法同步流(幸运镜头)时,流也会进出同步(抖动)。仅在100至200毫秒范围内,但足够可见。

看看MEVO,我相信它只支持RTMP。所以搬到另一个协议对我没用。

抖动和延迟变化的原因是什么?会不会是电视网?MEVO和OBS都在一个快速的1 1Gbps有线网络上。

我尝试将OBS中的Network设置为1MB、2MB或其他,但这没有帮助。我还试图在nginx.conf中更改buflen,但没有结果。

nginx.conf:

代码语言:javascript
复制
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;
        }
    }
}

  • I将MEVO流到rtmp://10.0.0.1/live/mevo (mevo是流键)
  • I将Larix流到rtmp://10.0.0.1/live/larix (larix是流键)

请帮我修复OBS中的抖动和改变延迟!谢谢。

当我试图修复不断变化的启动滞后时,请进行更新:

  • 我尝试将chunk_size设置为2048年,但这并没有帮助。当我添加: wait_key on时,
  • ;我从未在OBS.

中显示该流。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-07 05:04:54

我来自Softvelum团队,它是Larix广播公司的幕后推手。

我建议将“关键帧频率”改为1秒,并将“最大缓冲项”设置为70。您可以从此页面读取Q13,https://softvelum.com/larix/faq/,以便更多地了解此设置。至于“捕获”同步-这是发生在您开始流附近的关键帧启动。如果你有300件物品在缓冲区里,这大约是3秒,所以你可以进入中间,得到1.5秒后的实时。

尝试使用缓冲区和关键帧,看看它是如何工作的。

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

https://stackoverflow.com/questions/61019734

复制
相关文章

相似问题

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