php推流,直播推流鉴权方式

本篇以PHP的代码为例

鉴权方式

限时鉴权方式 和无鉴权

描述:主要使用的是 Access_Key / Secret_Key 来做鉴权方式

使用 RTMP 发起推流的地址。

格式:

rtmp:?e=&token=

说明:

参数名称

说明

RTMPPublishDomain

直播空间绑定的 RTMP 推流域名

Hub

直播空间名

StreamKey

流名

ExpireAt

Unix 时间戳表示推流地址的过期时间。

Token

推流凭证

生成推流凭证:

// 构造 RTMP 推流 Path

path = "//"

// 为推流 Path 加上过期时间

path = "//?e="

// 计算 HMAC-SHA1 签名,并对签名结果做 URL 安全的 Base64 编码

sign = hmac_sha1(path, "Your_Secret_Key")

encodedSign = urlsafe_base64_encode(sign)

// 将 AccessKey 与 sign 拼接得到推流凭证

token = "Your_Access_Key" + ":" + encodedSign

示例:

rtmp://publish-rtmp.test.com/PiliSDKTest/streamkey?e=1463023142&token=7O7hf7Ld1RrC_fpZdFvU8aCgOPuhw2K4eapYOdII:-5IVlpFNNGJHwv-2qKwVIakC0ME=

PHP案例

require_once 'autoload.php';

require_once"config.php";

use Qiniu\Auth;

$accessKey=Config::ACCESS_KEY;

$secretKey=Config::SECRET_KEY;

// 推流域名

$dynamic="rtmp://pili-publish.pili.echohu.top";

$time = time()+3600;

//这里是/直播应用名/流名?e=当前的时间戳

$path = "/1314xicong/huxicongp?e=".$time;

// 计算 HMAC-SHA1 签名,并对签名结果做 URL 安全的 Base64 编码

$sign=hash_hmac('sha1',$path,$secretKey,true);

$data=Qiniu\base64_urlSafeEncode($sign);

// /直播的流名?e=

$token = $accessKey.":".$data;

$token=$dynamic.$path."&token=".$token;

var_dump($token);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值