MENU

SRS 增加推流权限认证

May 2, 2021 • Read: 2812 • Code

关于SRS的介绍就不细说了,可以自行前往 Github 搜索

推流认证

服务器上在配置文件添加以下内容

http_hooks {
        enabled         on;
        on_connect      http://你网站或者服务器IP/api.php;
        on_close        http://你网站或者服务器IP/api.php;
        on_publish      http://你网站或者服务器IP/api.php;
        on_unpublish    http://你网站或者服务器IP/api.php;
        on_play         http://你网站或者服务器IP/api.php;
        on_stop         http://你网站或者服务器IP/api.php;

    }

api.php代码

<?php
$verifyData = file_get_contents("php://input");
//exit("0");
$obj = json_decode($verifyData);

if ($obj->action == "on_connect"){
    echo "0";
}elseif ( $obj->action == "on_close"){
    echo "0";
}elseif ( $obj->action == "on_publish"){
    $str = $obj->param;
    $str = explode("?",$str);
    $str = $str[1];
    $arr_query = convertUrlQuery($str);
    if ($arr_query["user"] == "pub" && $arr_query["pwd"] == "123") {
        echo "0";
    }
    else {
         echo "1";
    }
}elseif ( $obj->action == "on_unpublish"){
    echo "0";
}elseif ( $obj->action == "on_play"){
    echo "0";
}
elseif ( $obj->action == "on_stop"){
    echo "0";
}
elseif ( $obj->action == "on_dvr"){
    echo "0";
}
else{
    echo "1";
}

function convertUrlQuery($query)
{
    $queryParts = explode('&', $query);
    $params = array();
    foreach ($queryParts as $param) {
        $item = explode('=', $param);
        $params[$item[0]] = $item[1];
    }
    return $params;
}

OBS推流设置如下
QQ截图20210502164650.jpg

Archives QR Code
QR Code for this page
Tipping QR Code