该接口用于获取某个推流流名对应的转码任务状态。
[GET] http://videodev-bj.ksyun.com:8091/livetran/getstreamtranlist
参与计算签名的resource的指定关键参数:uniqname,app,method,streamid,即:
{resource} = "app=xxx&method=getstreamtranlist&streamid=xxx&uniqname=xxx"
参数名 | 是否必须 | 描述 |
---|---|---|
app | 是 | 由2~32位字母、数字、下划线组成 |
streamid | 是 | 直播推流名称,由2~128位字母、数字、下划线、或.-#@组成 |
返回的body是json格式
HTTP1.1 200 OK
"Content-type": "application/json"
{
//int, 错误码
"errno":xxx,
//string,错误详情
"errmsg":"xxxx",
//string, 转码任务状态列表
"tranlist":[
{
//int, 转码format
"format":xxx,
//int, 转码状态
"status":xxx
},
{...},
...
]
}
//接口api名称
$method = 'delpreset';
//者业务类型标识
$uniqname = 'test';
//业务app名称
$app = 'live';
//流名称
$streamid = '333';
//用于签名的参数,字典序排列
$arrrsrc = array(
'app' => $app,
'method' => $method,
'streamid' => $streamid,
'uniqname' => $uniqname,
);
$strrsrc = http_build_query($arrrsrc);
//开发者ak/sk,xxxx要替换成客户自己的ak和sk
$accesskey = 'xxxxxxxxxxx';
$secretkey = 'xxxxxxxxxxxxxxxxx';
//过期时间
$expire = time() + 600;
//拼接用于计算签名sign的源字符串
$strtosign = "GET\n$expire\n$strrsrc";
//计算签名
$sign = hash_hmac('sha1', $strtosign, $secretkey, true);
$signature = base64_encode($sign);
//拼接query
$params = array(
'accesskey' => $accesskey,
'expire' => $expire,
'signature' => $signature,
'streamid' => $streamid,
'app' => $app,
'uniqname' => $uniqname,
);
$qstr = http_build_query($params);
//设置并发送http get请求
$srvurl = "http://videodev-bj.ksyun.com:8091/livetran/$method?$qstr";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $srvurl);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
//获取返回结果
$ret = json_decode($res, true);
if (!empty($ret) && $ret['errno'] == 0) {
echo $ret['errmsg'];
} else {
echo "$res\n";
}