首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从NGINX RTMP模块向Janus发送RTP流?

如何从NGINX RTMP模块向Janus发送RTP流?
EN

Stack Overflow用户
提问于 2020-07-03 08:53:32
回答 1查看 4.7K关注 0票数 2

这是我在这里的第一篇文章,尽管这个平台已经帮了我很多忙。

因此,我试图创建一个流并在浏览器中显示它。我已经用rtmp模块配置了NGINX,我的流在HLS中运行得很好(延迟时间在5到10秒之间)。

现在,我想设置一个低延迟流,这就是为什么我安装了janus网关webRTC服务器,它允许输入RTP流并提供webRTC流的输出。

下面是我想要遵循的模式:

-> RTMP -> Nginx-rtmp-模块-> ffmpeg -> RTP -> Janus -> webRTC ->浏览器

但我对这部分有一个问题:“nginx-rtmp- But -> ffmpeg -> janus”。

事实上,我的Janus服务器正在运行,演示流在本地主机上运行得很好,但是当我试图提供一个RTP流时,Janus不会在演示中检测到该流(它显示“没有远程视频可用”)。

有人能帮我吗?

资源来源:

  • My janus.plugin.streaming.jcfg配置:

代码语言:javascript
运行
复制
rtp-sample: {
        type = "rtp"
        id = 1
        description = "Opus/VP8 live stream coming from external source"
        metadata = "You can use this metadata section to put any info you want!"
        audio = true
        video = true
        audioport = 5002
        audiopt = 111
        audiortpmap = "opus/48000/2"
        videoport = 5004
        videopt = 100
        videortpmap = "VP8/90000"
        secret = "adminpwd"
}

  • My nginx.conf应用程序:

代码语言:javascript
运行
复制
application test {

        deny play all;

        live on;
        on_publish http://localhost/test/backend/sec/live_auth.php;

        exec ffmpeg -i rtmp://localhost/test/$name -an -c:v copy -flags global_header -bsf dump_extra -f rtp rtp://localhost:5004;

}

如果你需要更多的东西来帮助我,不要犹豫!事先谢谢你,对我的英语不好很抱歉:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-08 10:35:43

最后,我使用以下命令解决了这个问题:

代码语言:javascript
运行
复制
sudo ffmpeg -y -i "rtmp://127.0.0.1/app/stream" -c:v libx264 -profile:v main -s 1920x1080 -an -preset ultrafast -tune zerolatency -g 50 -f rtp rtp://127.0.0.1:5004

不幸的是,当我使用-c:v复制时,它无法工作。它只在使用libx264编码时工作,这会增加延迟,而我的延迟时间在3到4秒之间。

但是,当我安装Janus时,我的目标是要比HLS做得更好,HLS协议的延迟时间为2.5秒。

所以贾纳斯没能满足我的需要。此外,有人警告我,它不是流服务器。在进行了一些研究之后,我遇到了一个名为Github的项目,它是一个流服务器,延迟时间小于1s。文档已在专用站点上完成,适用于此服务器的播放器(烤箱媒体播放器)可在MIT许可下使用。服务器处于GPLv2许可之下。

下面是我的架构的当前模式:

OBS -> Nginx (它允许与on_publish一起流,因为OME还不允许它)。然后将流推送到OME服务器) -> OME ->转换编码中,使用不同的比特率和分辨率(可选) -> OME -> Edge OME (可选) -> player。

如果你有任何问题,不要犹豫,支持是非常友好的!

希望它能帮上忙

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

https://stackoverflow.com/questions/62711875

复制
相关文章

相似问题

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