Nginx rtmp 模块重流到动态地址
Posted
技术标签:
【中文标题】Nginx rtmp 模块重流到动态地址【英文标题】:Nginx rtmp module restream to a dynamic address 【发布时间】:2021-12-08 22:42:39 【问题描述】:一些流,例如:
rtmp://mysite:3939/app/aaaaaa;bbbb
rtmp://mysite:3939/app/wewewe;ffff
rtmp://mysite:3939/app/zeiwew;uuuu
来到我的 nginx。我想将它们重新流式传输到这些地址:
rtmp://localhost:1935/app/aaaaaa
rtmp://localhost:1935/app/wewewe
rtmp://localhost:1935/app/zeiwew
我有这个 rtmp 配置,但我不能使用 map 来制作目标地址。 我应该使用 $name 变量吗?如何?感谢您的帮助
rtmp
server
listen 3939;
ping 30s;
notify_method get;
application app
live on;
push rtmp://localhost:1935/app/;
【问题讨论】:
【参考方案1】:有一种解决方法,使用 FFmpeg 拉取和重命名流:
ffmpeg -f flv -i rtmp://localhost:1935/app/bbbb \
-c copy -f flv rtmp://localhost:1935/app/aaaaaa
注意:您可以使用
on_publish
挂钩来启动您的FFmpeg 进程,或者exec
也应该可以工作。
处理流的非常强大的模式,不仅可以重命名流,还可以转码或转发到多个服务器等
不过引入 FFmpeg 有点复杂。
【讨论】:
以上是关于Nginx rtmp 模块重流到动态地址的主要内容,如果未能解决你的问题,请参考以下文章
centos使用一键lnmp+nginx-rtmp-module插件,使用obs推流到nginx
Windows使用Nginx+ffmpeg搭建RTMP服务器
无人机之眼 | ROS图像RTMP协议推流到地面站,CPU表示软件解码