nginx-rtmp-module的发布权限问题

javavip 2014-07-07 08:49:01
使用nginx服务器,支持nginx-rtmp-module模块,做RTMP的直播,但是默认情况下任何人都可以在客户端发起视频直播。

请问,如何配置nginx,限定指定的人才能发起直播?

注:限定的人,指“生成的唯一码”或者“数据库的用户+密码”,验证OK。

谢谢!
...全文
2440 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mubx70 2016-10-23
  • 打赏
  • 举报
回复
可以多路直播: 直播1: rtmp://IP地址:1935/myapp/test1 obs设置 1、FMS URL: rtmp://localhost:1935/myapp 2、播放路径/串码流(如果存在): test1?pass=password1 直播2: rtmp://IP地址:1935/myapp/test2 obs设置 1、FMS URL: rtmp://localhost:1935/myapp 2、播放路径/串码流(如果存在): test2?pass=password2 直播3: rtmp://IP地址:1935/myapp/test3 obs设置 1、FMS URL: rtmp://localhost:1935/myapp 2、播放路径/串码流(如果存在): test3?pass=password3 测试成功
mubx70 2016-10-23
  • 打赏
  • 举报
回复
nginx-rtmp-module 权限控制 分类: rtmp nginx-rtmp-module默认所有客户端都可以推流,那么问题就来了,怎么限制客户端推流呢?nginx-rtmp-module提供了限制发布者以及观看者的IP地址: allow publish 127.0.0.1; deny publish all; allow play 192.168.0.0/24; deny play all; 显然IP地址限制,达不到需求。 但是可以通过在模块配置文件中设置 on_publish 网上的都试了,不行,只好自己研究了一天,做了好多次测试,发现了是参数获取问题,不应该使用 _GET获取,正确的是要用 _POST 方式: 代码如下: 在nginx 模块配置文件中设置 on_publish nginx.conf rtmp { server { listen 1935; ping 30s; notify_method get; application myapp { live on; on_publish http://localhost:8080/on_publish.php; } } 说明: http://localhost:8080/on_publish.php; on_publish.php 要放在 能执行 php的地方就行,端口号也不一定是8080,就是你能运行php的网址和端口 然后在on_publish.php中做我们的处理。例如: on_publish.php <?php @$name = $_POST['name']; @$pass = $_POST['pass']; $savename= test; $savepass = password; if(empty($name) || empty($pass)){ echo "串码流不正确!"; header('HTTP/1.0 404 Not Found'); }else{ if (strcmp($name, $savename) == 0 && strcmp($pass, $savepass) == 0) { echo "串码流正确!"; } else { echo "串码流不正确!"; header('HTTP/1.0 404 Not Found'); } } ?> 此代码简单的作了用户验证,也可以改成带数据库验证以及加入更多参数进行验证。 客服端推流设定 以Open Broadcaster Software(OBS)为例 1、FMS URL: rtmp://localhost:1935/myapp 2、播放路径/串码流(如果存在): test?pass=password 其中test为streamkey串码流的名称,?pass=password用来验证的 (实际使用中需要把 test 改为想要的名, password 改成 自己想要的密码,例如设为 1234567890) 客户端的 RTMP 设置: rtmp://IP地址:1935/myapp/test 本人于2016-10-23 19:00 测试测试成功!
zhxiaom5 2016-04-20
  • 打赏
  • 举报
回复
onpublish 状态码控制
仗剑书生 2016-01-10
  • 打赏
  • 举报
回复
楼主解决了吗,如果有解决方案请告知小弟 root@iamsee.com
sonwayluo 2014-09-16
  • 打赏
  • 举报
回复
不懂呀,可否详细点?谢谢!!
javavip 2014-09-14
  • 打赏
  • 举报
回复
不懂呀,可否详细点?谢谢!
  • 打赏
  • 举报
回复
adding another nginx as the proxy on top of your nginx with RTMP that runs behind the firewall. Add authentication on the proxy that is open to public

1,092

社区成员

发帖
与我相关
我的任务
社区描述
云计算服务器、网络、虚拟化相关讨论
社区管理员
  • 服务器
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧