全部产品

转码模板

本篇文档提供了PHP SDK转码模板模块相关功能的API调用示例。包含添加转码模板组、修改转码模板组、删除转码模板组、查询转码模板组、设置默认转码模板组等。

初始化客户端

使用前请先初始化客户端,请参见初始化

添加转码模板组

调用AddTranscodeTemplateGroup接口,完成添加转码模板组功能。

接口参数和返回字段请参见AddTranscodeTemplateGroup。调用示例如下:

/**
 * 构建转码模板配置数据
 * @return
 */
function buildTranscodeTemplateList() {
    $transcodeTemplateList = array();
    $transcodeTemplate = array();

    //视频流转码配置
    $video = array();
    $video["Width"] = 640;
    $video["Bitrate"] = 400;
    $video["Fps"] = 25;
    $video["Remove"] = false;
    $video["Codec"] = "H.264";
    $video["Gop"] = 250;
    $transcodeTemplate["Video"] = $video;

    //音频流转码配置
    $audio = array();
    $audio["Codec"] = "AAC";
    $audio["Bitrate"] = 64;
    $audio["Channels"] = 2;
    $audio["Samplerate"] = 32000;
    $transcodeTemplate["Audio"] = $audio;

    //封装容器
    $container = array();
    $container["Format"] = "mp4";
    $transcodeTemplate["Container"] = $container;

    //条件转码配置
    $transconfig = array();
    $transconfig["IsCheckReso"] = false;
    $transconfig["IsCheckResoFail"] = false;
    $transconfig["IsCheckVideoBitrate"] = false;
    $transconfig["IsCheckVideoBitrateFail"] = false;
    $transconfig["IsCheckAudioBitrate"] = false;
    $transconfig["IsCheckAudioBitrateFail"] = false;
    $transcodeTemplate["TransConfig"] = $transconfig;

    //加密配置(只支持m3u8)
    //$encryptSetting= array();
    //$encryptSetting["EncryptType"] = "Private";
    //$transcodeTemplate["EncryptSetting"] = $encryptSetting;

    //清晰度
    $transcodeTemplate["Definition"] = "LD";

    //模板名称
    $transcodeTemplate["TemplateName"] = "testtemplate";

    //水印ID(多水印关联)
    $watermarkIdList= array();
    $watermarkIdList[] = "263261bdc1ff65782f8995c6dd52****";
    //USER_DEFAULT_WATERMARK 代表默认水印ID
    $watermarkIdList[] = "USER_DEFAULT_WATERMARK";
    $transcodeTemplate["WatermarkIds"] = $watermarkIdList;
    $transcodeTemplateList[] = $transcodeTemplate;

    return json_encode($transcodeTemplateList);
}

/**
 * 添加转码模板组配置
 */
function addTranscodeTemplateGroup($client) {
    $request = new vod\AddTranscodeTemplateGroupRequest();
    // 转码模板组名称
    $request->setName("grouptest");
    // 转码模板组信息
    $request->setTranscodeTemplateList(buildTranscodeTemplateList());

    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = addTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}

修改转码模板组

调用UpdateTranscodeTemplateGroup接口,完成修改转码模板组功能。

接口参数和返回字段请参见UpdateTranscodeTemplateGroup。调用示例如下:

/**
 * 构建转码模板配置数据
 * @return
 */
function buildTranscodeTemplateList() {
    $transcodeTemplateList = array();
    $transcodeTemplate = array();

    //视频流转码配置
    $video = array();
    $video["Width"] = 960;
    $video["Bitrate"] = 900;
    $video["Fps"] = 25;
    $video["Remove"] = false;
    $video["Codec"] = "H.264";
    $video["Gop"] = 250;
    $transcodeTemplate["Video"] = $video;

    //音频流转码配置
    $audio = array();
    $audio["Codec"] = "AAC";
    $audio["Bitrate"] = 96;
    $audio["Channels"] = 2;
    $audio["Samplerate"] = 32000;
    $transcodeTemplate["Audio"] = $audio;

    //封装容器
    $container = array();
    $container["Format"] = "mp4";
    $transcodeTemplate["Container"] = $container;

    //条件转码配置
    $transconfig = array();
    $transconfig["IsCheckReso"] = false;
    $transconfig["IsCheckResoFail"] = false;
    $transconfig["IsCheckVideoBitrate"] = false;
    $transconfig["IsCheckVideoBitrateFail"] = false;
    $transconfig["IsCheckAudioBitrate"] = false;
    $transconfig["IsCheckAudioBitrateFail"] = false;
    $transcodeTemplate["TransConfig"] = $transconfig;

    //加密配置(只支持m3u8)
    //$encryptSetting= array();
    //$encryptSetting["EncryptType"] = "Private";
    //$transcodeTemplate["EncryptSetting"] = $encryptSetting;

    //清晰度
    $transcodeTemplate["Definition"] = "SD";

    //模板名称
    $transcodeTemplate["TemplateName"] = "testtemplate";

    //模板ID
    $transcodeTemplate["TranscodeTemplateId"] = "214a67fab9fdf920f486faa7752****";

    //水印ID(多水印关联)
    $watermarkIdList= array();
    $watermarkIdList[] = "263261bdc1ff65782f8995c6dd52****";
    //USER_DEFAULT_WATERMARK 代表默认水印ID
    $watermarkIdList[] = "USER_DEFAULT_WATERMARK";
    $transcodeTemplate["WatermarkIds"] = $watermarkIdList;
    $transcodeTemplateList[] = $transcodeTemplate;

    return json_encode($transcodeTemplateList);
}

/**
 * 修改转码模板组配置
 */
function updateTranscodeTemplateGroup($client) {
    $request = new vod\UpdateTranscodeTemplateGroupRequest();
    // 转码模板组名称
    $request->setName("grouptest1");
    // 转码模板组ID
    $request->setTranscodeTemplateGroupId("014a67fab9fdf920f486faa7752****");
    // 转码模板组信息
    $request->setTranscodeTemplateList(buildTranscodeTemplateList());

    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = updateTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}

查询转码模板组列表

调用ListTranscodeTemplateGroup接口,完成查询转码模板组列表功能。

接口参数和返回字段请参见ListTranscodeTemplateGroup。调用示例如下:

/**
 * 查询转码模板组列表
 */
function listTranscodeTemplateGroup($client) {
    $request = new vod\ListTranscodeTemplateGroupRequest();
    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = listTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}

查询单个转码模板组

调用GetTranscodeTemplateGroup接口,完成查询单个转码模板组功能。

接口参数和返回字段请参见GetTranscodeTemplateGroup。调用示例如下:

/**
 * 查询单个转码模板组
 */
function getTranscodeTemplateGroup($client) {
    $request = new vod\GetTranscodeTemplateGroupRequest();
    // 转码模板组ID
    $request->setTranscodeTemplateGroupId("014a67fab9fdf920f486faa7752****");

    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = getTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}

设置默认转码模板组

调用SetDefaultTranscodeTemplateGroup接口,完成设置默认转码模板组功能。

接口参数和返回字段请参见SetDefaultTranscodeTemplateGroup。调用示例如下:

/**
 * 设置默认转码模板组
 */
function setDefaultTranscodeTemplateGroup($client) {
    $request = new vod\SetDefaultTranscodeTemplateGroupRequest();
    // 转码模板组ID
    $request->setTranscodeTemplateGroupId("014a67fab9fdf920f486faa7752****");

    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = setDefaultTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}

删除转码模板组

调用DeleteTranscodeTemplateGroup接口,完成删除转码模板组功能。

接口参数和返回字段请参见DeleteTranscodeTemplateGroup。调用示例如下:

/**
 * 删除转码模板组配置
 */
function deleteTranscodeTemplateGroup($client) {
    $request = new vod\DeleteTranscodeTemplateGroupRequest();
    // 转码模板组ID
    $request->setTranscodeTemplateGroupId("014a67fab9fdf920f486faa77352****");

    return $client->getAcsResponse($request);
}

/**
 * 以下为调用示例
 */
try {
    $client = initVodClient('<AccessKeyId>', '<AccessKeySecret>');
    $result = deleteTranscodeTemplateGroup($client);

    var_dump($result);
} catch (Exception $e) {
    print $e->getMessage()."\n";
}