关于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推流设置如下