全部产品

转码模板

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

初始化客户端

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

添加转码模板组

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

var transcodeTemplateList = [
    {
        //视频流转码配置
        Video: {
            Width: 640,
            Bitrate: 400,
            Fps: 25,
            Remove: false,
            Codec: 'H.264',
            Gop: '250'
        },
        //音频流转码配置
        Audio: {
            Codec: 'AAC',
            Bitrate: '64',
            Channels: '2',
            Samplerate: '32000'
        },
        //封装容器
        Container: {
            Format: 'mp4'
        },
        //条件转码配置
        TransConfig: {
            IsCheckReso: false,
            IsCheckResoFail: false,
            IsCheckVideoBitrate: false,
            IsCheckVideoBitrateFail: false,
            IsCheckAudioBitrate: false,
            IsCheckAudioBitrateFail: false
        },
        // // 加密配置(只支持m3u8)
        // EncryptSetting: {
        //     EncryptType: 'Private'
        // },
        //清晰度
        Definition: 'LD',
        //模板名称
        TemplateName: 'testtemplate',
        //水印ID(多水印关联)
        WatermarkIds: ['USER_DEFAULT_WATERMARK','789456bdc1ff65782f8995c6dd45****']
    }
];
client.request("AddTranscodeTemplateGroup", {
    // 转码模板组名称
    Name: 'grouptest',
    // 转码模板配置数据
    TranscodeTemplateList: JSON.stringify(transcodeTemplateList)
}, {}).then(function (response) {
    console.log('TranscodeTemplateGroupId = ' + response.TranscodeTemplateGroupId);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

修改转码模板组

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

var transcodeTemplateList = [
    {
        // 转码模板ID
        TranscodeTemplateId: '9875824423bca267f931d3b25687****',
        // 视频流转码配置
        Video: {
            Width: 640,
            Bitrate: 500,
            Fps: 25,
            Remove: false,
            Codec: 'H.264',
            Gop: '250'
        },
        // 音频流转码配置
        Audio: {
            Codec: 'AAC',
            Bitrate: '64',
            Channels: '2',
            Samplerate: '32000'
        },
        // 封装容器
        Container: {
            Format: 'mp4'
        },
        // 条件转码配置
        TransConfig: {
            IsCheckReso: false,
            IsCheckResoFail: false,
            IsCheckVideoBitrate: false,
            IsCheckVideoBitrateFail: false,
            IsCheckAudioBitrate: false,
            IsCheckAudioBitrateFail: false
        },
        // // 加密配置(只支持m3u8)
        // EncryptSetting: {
        //     EncryptType: 'Private'
        // },
        // 清晰度
        Definition: 'LD',
        // 模板名称
        TemplateName: 'testtemplate',
        // 水印ID(多水印关联)
        WatermarkIds: ['USER_DEFAULT_WATERMARK','854325bdc1ff65782f8995c6dd85****']
    }
];
client.request("UpdateTranscodeTemplateGroup", {
    TranscodeTemplateGroupId: '789458252788dfd94e27d7358b254****',
    TranscodeTemplateList: JSON.stringify(transcodeTemplateList)
}, {}).then(function (response) {
    console.log('TranscodeTemplateGroupId = ' + response.TranscodeTemplateGroupId);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询转码模板组列表

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("ListTranscodeTemplateGroup", {}, {}).then(function (response) {
    if (response.TranscodeTemplateGroupList && response.TranscodeTemplateGroupList.length > 0){
        for (var i=0; i<response.TranscodeTemplateGroupList.length; i++){
            var transcodeTemplateGroup = response.TranscodeTemplateGroupList[i];
            console.log('The ' + i + ' TranscodeTemplateGroup.');
            //转码模板组ID
            console.log('TranscodeTemplateGroupId = ' + transcodeTemplateGroup.TranscodeTemplateGroupId);
            //转码模板组名称
            console.log('Name = ' + transcodeTemplateGroup.Name);
            //转码模板组创建时间
            console.log('CreationTime = ' + transcodeTemplateGroup.CreationTime);
            //转码模板组最近修改时间
            console.log('ModifyTime = ' + transcodeTemplateGroup.ModifyTime);
            //是否是默认转码模板组
            console.log('IsDefault = ' + transcodeTemplateGroup.IsDefault);
        }
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询单个转码模板组

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("GetTranscodeTemplateGroup", {
    TranscodeTemplateGroupId: '81553142788dfd94e27d7358b285****'
}, {}).then(function (response) {
    console.log(response);
    if (response.TranscodeTemplateGroup){
        // 转码模板组ID
        console.log('TranscodeTemplateGroupId = ' + response.TranscodeTemplateGroup.TranscodeTemplateGroupId);
        // 转码模板组名称
        console.log('Name = ' + response.TranscodeTemplateGroup.Name);
        // 转码模板组创建时间
        console.log('CreationTime = ' + response.TranscodeTemplateGroup.CreationTime);
        // 转码模板组最近修改时间
        console.log('ModifyTime = ' + response.TranscodeTemplateGroup.ModifyTime);
        // 转码模板信息
        if (response.TranscodeTemplateGroup.TranscodeTemplateList && response.TranscodeTemplateGroup.TranscodeTemplateList.length > 0){
            for (var i=0; i<response.TranscodeTemplateGroup.TranscodeTemplateList.length; i++){
                var transcodeTemplate = response.TranscodeTemplateGroup.TranscodeTemplateList[i];
                console.log("The " + i + " TranscodeTemplate.");
                // 转码模板ID
                console.log('TranscodeTemplateId = ' + transcodeTemplate.TranscodeTemplateId);
                // 转码模板名称
                console.log('TemplateName = ' + transcodeTemplate.TemplateName);
                // 转码模板清晰度标记
                console.log('Definition = ' + transcodeTemplate.Definition);
                // 转码模板封装格式配置
                console.log('Container = ');
                console.log(transcodeTemplate.Container);
                // 转码模板视频转码配置
                console.log('Video = ');
                console.log(transcodeTemplate.Video);
                // 转码模板音频转码配置
                console.log('Audio = ');
                console.log(transcodeTemplate.Audio);
                // 转码模板条件转码配置
                console.log('TransConfig = ');
                console.log(transcodeTemplate.TransConfig);
                // 转码需要压制的水印对应ID
                console.log('WatermarkIds = ');
                console.log(transcodeTemplate.WatermarkIds);
            }
        }
    }

    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

设置默认转码模板组

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("SetDefaultTranscodeTemplateGroup", {
    // 转码模板组ID
    TranscodeTemplateGroupId: '45628142788dfd94e27d7358b258****'
}, {}).then(function (response) {
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

删除转码模板组

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

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

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("DeleteTranscodeTemplateGroup", {
    TranscodeTemplateGroupId: '12356442788dfd94e27d7358b285****'
}, {}).then(function (response) {
    console.log(response);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});