这是我在这里的第一篇文章,尽管这个平台已经帮了我很多忙。
因此,我试图创建一个流并在浏览器中显示它。我已经用rtmp模块配置了NGINX,我的流在HLS中运行得很好(延迟时间在5到10秒之间)。
现在,我想设置一个低延迟流,这就是为什么我安装了janus网关webRTC服务器,它允许输入RTP流并提供webRTC流的输出。
下面是我想要遵循的模式:
-> RTMP -> Nginx-rtmp-模块-> ffmpeg -> RTP -> Janus -> webRTC ->浏览器
但我对这部分有一个问题:“nginx-rtmp- But -> ffmpeg -> janus”。
事实上,我的Janus服务器正在运行,演示流在本地主机上运行得很好,但是当我试图提供一个RTP流时,Janus不会在演示中检测到该流(它显示“没有远程视频可用”)。
有人能帮我吗?
资源来源:
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"
}
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;
}
如果你需要更多的东西来帮助我,不要犹豫!事先谢谢你,对我的英语不好很抱歉:)
发布于 2020-07-08 10:35:43
最后,我使用以下命令解决了这个问题:
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。
如果你有任何问题,不要犹豫,支持是非常友好的!
希望它能帮上忙
https://stackoverflow.com/questions/62711875
复制相似问题