ffmpeg 推流 rtsp 到 zlm 服务上,怎么设置地址直接是 ip,不带后缀层级

220 天前
 lizuofei
这边 zlm 提示至少 2 级,我想用 nginx 代理可以吗就是将 rtsp://127.0.0.1:554/live/stream 转为 rtsp://127.0.0.1
我搞了半天,nginx 搞了个 rtmp 模块,好像也没搞对,是不是 rtmp 模块没法代理 rtsp ,求大佬相助
1501 次点击
所在节点    程序员
12 条回复
nuffin
220 天前
rtmp 是另一个协议( flash 用的,adobe 出品),跟 rtsp 没直接关系
lizuofei
219 天前
@nuffin 哦好的,了解了,我想着用 nginx 去反向代理,但是 nginx 好像不支持 rtsp 的,请问这个需求没法实现吗
milzero
219 天前
@lizuofei 用 nginx 的 stream 不可以嘛?
pming1
219 天前
zlm 同时支持 rtsp 、rtmp 的推流,也支持两种协议的互相转换。你最简单的方式就是将 nginx 的 554 端口全协议转到到 zlm 的 554 ,试试 stream 代理
lizuofei
219 天前
@pming1 感谢提示,我这边尝试下
lizuofei
219 天前
@pming1 搞半天还是没搞好,问题是 nginx 中转发的地址不能加后边的路径,这是我要转发的 rtsp://127.0.0.1:554/live/stream
,我想用这个 rtsp://127.0.0.1:8554,现在要想播放还是得用 rtsp://127.0.0.1:8554/live/stream ,还是得加后面的后缀
stream {
server {
listen 8554;
proxy_pass 127.0.0.1:554;
}
}
lizuofei
218 天前
@pming1 如果改为 proxy_pass 127.0.0.1:554/live/stream 就会报这个错误:
nginx: [emerg] invalid host in upstream "rtsp://127.0.0.1:554/live/stream"
....找半天实在不知道怎么改
lizuofei
218 天前
@milzero 刚才试了:
stream {

server {
listen 8554;

proxy_pass 127.0.0.1:554;
}
}
这个 proxy_pass 没法写成 127.0.0.1:554/live/stream,报错:
nginx: [emerg] invalid host in upstream "rtsp://127.0.0.1:554/live/stream",
请问怎么解决,现在访问还是得加后面的资源路径:rtsp://127.0.0.1:8554/live/stream
pming1
218 天前
@lizuofei 嗯,这是 rtsp 的协议路由,属于标准规范。虽然没明白你的场景由来,但如果你硬要实现这种效果,只能代码实现这个代理转发了。
milzero
218 天前
@lizuofei #8 你这种协议应用层代理,nginx 应该是不支持 RTSP 协议的了。
lizuofei
218 天前
@pming1 nginx stream 转发地址没法带后面路径吗?
Belmode
218 天前
用 nodejs 套一层吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1032185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX