前言
有做过腾讯云直播的伙伴,都应该清楚,直播这段的SDK只有
IOS
,Android
,微信小程序
这方面的demo,说是说有服务器端的,我看了找了半天,找了一段,好像也没什么大的用处,但是想想有些参数客户端肯定不可以写死,一旦更改的时候,就很麻烦,所以有些东西还是要服务器传输,于是有了这篇文章,内容纯属个人想法,若有不对的地方欢迎指正!
1、腾讯云标准的推流URL格式:
- StreamName(流 ID):推荐用随机数字或者用户 ID。
- txTime(地址有效期):何时该 URL 会过期,格式支持十六进制的 UNIX 时间戳。
- txSecret(防盗链签名):防止攻击者伪造您的后台生成推流 URL
2、函数(因为使用全局模式,此处用一个函数举例)
function get_push_url($streamName)
{
$domain = PUBLISH_HOST;
$key = PLAY_KEY;
//时间这块坑很大,千万别设为当前时间,建议是当前时间加上你的过期时间
$time = date('Y-m-d H:i:s',strtotime('+1 day'));
$txTime = strtoupper(base_convert(strtotime($time), 10, 16));
//txSecret = MD5( KEY + streamName + txTime )
$txSecret = md5($key . $streamName . $txTime);
$ext_str = "?" . http_build_query(array(
"txSecret" => $txSecret,
"txTime" => $txTime
));
return "rtmp://" . $domain . "/live/" . $streamName . (isset($ext_str) ? $ext_str : "");
}
- domain:自有已备案播放域名或者腾讯云分配的域名。
- key:在域名管理=>推流配置=>鉴权配置下的主KEY。(见下图)
- StreamName:流名称,用户自定义,用以标识直播流。
- txSecret:开启播放鉴权后生成的鉴权串。
- txTime:播放地址设置的时间戳,用以控制台播放地址的有效时间。
网友评论