文档中心

获取模板详情(getpresetdetail)

描述

该接口用于获取用户已设置的某个模板的内容。

请求地址

[GET] http://videodev-bj.ksyun.com:8091/livetran/getpresetdetail

请求参数

公共参数与签名方式请看

参与计算签名的resource的指定关键参数:method,uniqname,app,preset,即:

{resource} = "app=xxx&method=getpresetdetail&preset=xxx&uniqname=xxx"
参数名 是否必须 描述
app 由2~32位字母、数字、下划线组成
preset 模板名称,由2~32位字母、数字、下划线组成

返回结果

返回的body是json格式

{
    //int, 错误码
    "errno":xxx,
    //string, 处理状态错误描述
    "errmsg":xxx
    //array, 模板详情
    "presetdetail":{
        //模板描述
        "description": "demo", 
        "output":[
            {
                //转码视频输出格式关键参数集合,必选
                "format":{
                    //指定输出视频各项参数
                    "output_format":"xxx",
                    //自定义视频码率
                    "vbr":xxx,
                    //自定义音频码率
                    "abr":xxx,
                    //帧率,不大于30
                    "fr":xxx,
                    //音视频转码选项0,1,2,3
                    "remuxflag": 0
                }
            }
        ]
    }
}

调用示例

//接口api名称
$method = 'getpresetdetail';
//者业务类型标识
$uniqname = 'test';
//业务app名称
$app = 'live';
//开发者自定义模板名称
$preset = '9999';
//用于签名的参数,字典序排列
$arrrsrc = array(
    'app'        => $app,
    'method'    => $method,
    'preset'    => $preset,
    '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,
    'preset'    => $preset,
    '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";
}