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

如何从NGINX RTMP模块向Janus发送RTP流?,nginx,ffmpeg,webrtc,rtmp,janus-gateway,Nginx,Ffmpeg,Webrtc,Rtmp,Janus Gateway,这是我在这里的第一篇帖子,尽管这个平台已经帮了我很多 所以,我尝试创建一个流并在浏览器中显示它。我已经用rtmp模块配置了NGINX,我的流在HLS上运行得很好(延迟在5到10秒之间) 现在我想设置一个低延迟流,这就是为什么我安装了janus gateway webRTC服务器,它允许接收输入RTP流并在输出中提供webRTC流 以下是我想遵循的模式: OBS->RTMP->Nginx RTMP模块->ffmpeg->RTP->Janus->webRTC->浏览器 但我对这部分有一个问题:“ng

这是我在这里的第一篇帖子,尽管这个平台已经帮了我很多

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

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

以下是我想遵循的模式:

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

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

事实上,我的janus服务器正在运行,并且演示流在localhost中运行得很好,但是当我尝试提供RTP流时,janus在演示中没有检测到流(它显示“没有可用的远程视频”)

有人能帮我吗

资源:

  • My janus.plugin.streaming.jcfg配置:
  • 我的nginx.conf应用程序:
如果你还需要什么帮助我,不要犹豫!提前谢谢你们,我的英语很差,很抱歉:)

你们能解决这个问题吗? 我试试控制台 " ffmpeg-irtmp://0.0.0.0:1935/live/test03 -an-c:v copy-flags global_header-bsf dump_extra-f rtprtp://127.0.0.1:5004 " " sudo ffmpeg-i“rtmp://0.0.0.0:1935/live/test03“-map 0:2-c:v libx264-profile:v main-preset ultrafast-tune zerolatency-f rtprtp://127.0.0.1:5005 "


我和你有同样的问题

我最终用以下命令解决了这个问题:

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 copy时,它不起作用。它只在使用libx264编码时起作用,这会增加延迟,我得到了3到4秒的延迟

然而,当我安装Janus时,我的目标是比HLS做得更好,HLS协议的延迟达到2.5秒

所以Janus没有满足我的需要。此外,我还被警告它不是流服务器。经过一些研究,我在Oven Media Engine项目中遇到了Github,这是一个延迟小于1s的流服务器。该文档在专用站点上完成,并且根据MIT许可证提供了适合该服务器的播放器(烤箱媒体播放器)。服务器在GPLv2许可证下

以下是我的体系结构的当前模式:

OBS->Nginx(允许使用on_publish进行流式传输,因为OME还不允许。流随后被推送到OME服务器)->OME->以不同比特率和分辨率进行转码(可选)->OME->边缘OME(可选)->播放器

如果您有任何问题,请不要犹豫,我们的支持非常友好


希望能有帮助

我没有名声。所以我写了答案。 谢谢你的回答 烤箱媒体引擎是我的完美解决方案

OBS->RTMP->OME->webrtc->chrome播放器。 有可能

我有个问题。 我试着

它工作延迟500毫秒,但我看不到什么延迟

ffmpeg -i rtmp://0.0.0.0:1935/live/test03 -an -c:v libx264 -profile:v baseline -preset ultrafast -tune zerolatency -flags global_header -bsf dump_extra -f rtp rtp://0.0.0.0:5006
我经常看到它工作滞后

我知道h246比vp8好。 但就我而言,我想知道vp8是否工作得更好

我们需要录音,所以使用nginx 如何推送nginx->RTMP->OME 推送0.0.0.0:1935/$app/$name;不行 推送0.0.0.0:1935/应用程序/流;工作
什么?

是的,我不知道你是否收到通知,所以请看我的回答很简单:$app是nginx的应用程序名,app是OME的默认应用程序名。因此,如果nginx应用程序和OME应用程序的名称不同,则需要使用以下命令:推送;否则,如果它们具有相同的名称,则可以使用:push;但是为什么要使用FFMPEG呢?OME可以转码:你对janus做了什么设置来完成这项工作。。。我是stuck@dinindu很抱歉,已经一年了,我不记得了,我已经卸载了自Hanks更新以来的所有内容。
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
ffmpeg -i rtmp://0.0.0.0:1935/live/test03 -an -c:v libvpx -flags global_header -bsf dump_extra -f rtp rtp://0.0.0.0:5005
ffmpeg -i rtmp://0.0.0.0:1935/live/test03 -an -c:v libx264 -profile:v baseline -preset ultrafast -tune zerolatency -flags global_header -bsf dump_extra -f rtp rtp://0.0.0.0:5006