美文网首页
PHP获取腾讯云直播推流地址

PHP获取腾讯云直播推流地址

作者: 最底层的技术渣 | 来源:发表于2019-12-28 17:26 被阅读0次
    前言

    有做过腾讯云直播的伙伴,都应该清楚,直播这段的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:播放地址设置的时间戳,用以控制台播放地址的有效时间。

    相关文章

      网友评论

          本文标题:PHP获取腾讯云直播推流地址

          本文链接:https://www.haomeiwen.com/subject/pwusoctx.html