文档中心

查询直播转码状态(getstreamtranlist)

接口描述

该接口用于获取某个推流流名对应的转码任务状态。

请求地址

[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";
}