nginx-rtmp-module 权限控制

标签: nginx-rtmp 权限
3980人阅读 评论(2) 收藏 举报
分类:

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

nginx.conf

rtmp {
    server {
        listen 1935;
        ping 30s;
        notify_method get;

        application myapp {
            live on;

            on_publish http://localhost:8080/on_publish.php;
        }
}

然后在on_publish.php中做我们的处理。例如:

on_publish.php

<?php

// ?user=user&pass=pass

$user = isset($_GET['user']) ? $_GET['user'] : '';
$pass = isset($_GET['pass']) ? $_GET['pass'] : '';

if (empty($user) || empty($pass)) {
    echo "wrong query input";
    header('HTTP/1.0 404 Not Found');
    exit();
}

$saveuser = user;
$savepass = pass;

if (strcmp($user, $saveuser) == 0 && strcmp($pass, $savepass) == 0) {
    echo "Username and Password OK";
} else {
    echo "Username or Password wrong";
    header('HTTP/1.0 404 Not Found');
    exit();
}

?>

此代码简单的作了用户验证,也可以改成带数据库验证以及加入更多参数进行验证。

客服端推流设定

以Open Broadcaster Software(OBS)为例:

1、FMS URL:

rtmp://localhost:1935/myapp

2、播放路径/串码流(如果存在):

test?user=username&pass=password

其中test为streamkey,?user=user&pass=pass用来验证的

以上是推流权限设定,同理我们可以设置播放流时的权限限制

播放流时我们可以通过设置 on_play来限定,具体实现跟设置on_publish类似。也可以参考nginx-rtmp的官方wiki:
https://github.com/arut/nginx-rtmp-module/wiki/Directives

查看评论

实施软件质量保障体系CMM/TSP/PSP的建议

实施软件质量保障体系CMM/TSP/PSP的建议 作者:xiaozhou 发布时间:2001/04/10 文章摘要:  本文试着从软件质量保证方向出发,概要阐述CMM(the Capability M...
  • CandyCat
  • CandyCat
  • 2001-05-17 21:38:00
  • 2426

如何给 nginx rtmp 服务加入鉴权机制

目前直播平台非常的火爆。当前有不少的流媒体CDN,基于rtmp,http-flv和hls协议的。 也可以自己搭建私有的流媒体服务器,目前比较常见的有:Live555,EasyDarwin,Red5,...
  • cui918
  • cui918
  • 2016-12-09 17:03:03
  • 2129

阿里云直播鉴权和直播地址算法

URL鉴权功能是通过阿里云CDN加速节点与客户资源站点配合实现的一种更为安全可靠的源站资源防盗方法。由客户站点提供给用户加密 URL(包含权限验证信息),用户使用加密后的 URL 向加速节点发起请求,...
  • Code_Martell
  • Code_Martell
  • 2017-06-29 10:31:46
  • 1981

使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(二)

第二部分 1、昨天已经把网络摄像机的rtsp视频流成功利用FFmpeg和Nginx转换成rtmp流推送到了nginx视频服务器上面,并且通过vlc可以观看到直播视频。 今天继续昨天的工作,将rtsp的...
  • xdwyyan
  • xdwyyan
  • 2015-01-28 14:27:40
  • 6057

nginx rtmp module添加鉴权机制

目前直播平台非常的火爆。当前有不少的流媒体CDN,基于rtmp,http-flv和hls协议的。 也可以自己搭建私有的流媒体服务器,目前比较常见的有:Live555,EasyDarwin,Red5,...
  • liuchen1206
  • liuchen1206
  • 2017-09-04 16:41:21
  • 519

基于EasyDSS流媒体服务器实现的直播流管理与鉴权的后台方案

本文转自EasyDSS团队Marvin的博客:http://blog.csdn.net/marvin1311/article/details/73548929最新版本的EasyDSS流媒体解决方案,加...
  • xiejiashu
  • xiejiashu
  • 2017-06-21 22:47:33
  • 1135

利用nginx搭建RTMP视频点播、直播、HLS服务器

开发环境 Ubuntu 14.04 server nginx-1.8.1 nginx-rtmp-module nginx的服务器的搭建安装nginx的依赖库sudo apt-get update su...
  • kingroc
  • kingroc
  • 2016-03-09 23:48:32
  • 36889

nginx rtmp & hls 直播流服务器搭建+防盗链

1.下载 到http://nginx.org/下载最新稳定版本; 2.下载nginx-http-access    可以在https://github.com/search?q=&type=Repos...
  • huangqbio2
  • huangqbio2
  • 2016-09-18 15:18:33
  • 4418

在自己的电脑下搭建nginx+rtmp的流媒体服务器及用java对推流权限验证

因为公司任务需要让做一个直播的系统,经过一段时间的研究,和方便以后捡起来所以把这个写了下来 下载windows版本的nginx http://nginx-win.ecsds.eu/downlo...
  • CSDN_MrWang
  • CSDN_MrWang
  • 2017-12-14 11:44:21
  • 409

nginx-rtmp-module搭建带推流验证的RTMP+HLS直播服务器

目前来说,我们可以用到的rtmp服务器有以下几种 1.开源类型:red5,crtmpserver,erlyvideo,haXevideo,FluorineFX,simple rtmp server(...
  • cs729298
  • cs729298
  • 2017-04-10 14:14:28
  • 3187
    个人资料
    等级:
    访问量: 6524
    积分: 87
    排名: 151万+
    文章分类
    文章存档
    最新评论