视频水印

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

初始化客户端

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

添加水印

调用AddWatermark接口,完成添加水印功能。

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

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

//图片水印的位置配置数据
var watermarkConfig = {
    Dx: '8',   //水印的横向偏移距离
    Dy: '8',   //水印的纵向偏移距离
    Width: '55',  //水印显示的宽
    Height: '55',  //水印显示的高
    ReferPos: 'BottomRight',  //水印显示的相对位置(左上、右上、左下、右下)
    //水印显示的时间线(开始显示和结束显示时间)
    Timeline: {
        Start: '2',  //水印开始显示时间
        Duration: 'ToEND'  //水印结束显示时间
    }
};
//文字水印的位置配置数据
// var watermarkConfig = {
//     Content: 'testwatermark',  //文字水印显示的内容
//     FontName: 'SimSun',  //文字水印的字体名称
//     FontSize: 25,  //文字水印的字体大小
//     FontColor: 'Black',  //文字水印的颜色(也可为RGB颜色取值,例如:#000000)
//     FontAlpha: '0.2',    //文字水印的透明度
//     BorderColor: 'White',  //文字水印的字体描边颜色(也可为RGB颜色取值,例如:#ffffff)
//     BorderWidth: 1,  //文字水印的描边宽度
//     Top: 20,  //文字水印距离视频画面上边的偏移距离
//     Left: 15  //文字水印距离视频画面左边的偏移距离
// };

client.request("AddWatermark", {
    Name: 'addwatermark',  //水印名称
    // 获取水印文件在oss的URL, 图片水印必传图片文件的oss文件地址,水印文件必须和视频在同一个区域.
    // 例如:华东2视频,水印文件必须存放在华东2
    FileUrl: 'http://test-bucket.oss-cn-shanghai.aliyuncs.com/watermark/test.png',
    WatermarkConfig: JSON.stringify(watermarkConfig),
    Type: 'Image'
}, {}).then(function (response) {
    if (response.WatermarkInfo){
        //水印ID
        console.log('WatermarkId = ' + response.WatermarkInfo.WatermarkId);
        //水印的位置、效果配置数据
        console.log('WatermarkConfig = ' + response.WatermarkInfo.WatermarkConfig);
        //水印文件的FileUrl(文字水印该字段值为空)
        console.log('FileUrl = ' + response.WatermarkInfo.FileUrl);
    }
    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);
});

修改水印

调用UpdateWatermark接口,完成修改水印功能。

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

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

//图片水印的位置配置数据
var watermarkConfig = {
    Dx: '8',   //水印的横向偏移距离
    Dy: '8',   //水印的纵向偏移距离
    Width: '55',  //水印显示的宽
    Height: '55',  //水印显示的高
    ReferPos: 'BottomRight',  //水印显示的相对位置(左上、右上、左下、右下)
    //水印显示的时间线(开始显示和结束显示时间)
    Timeline: {
        Start: '2',  //水印开始显示时间
        Duration: 'ToEND'  //水印结束显示时间
    }
};
//文字水印的位置配置数据
// var watermarkConfig = {
//     Content: 'testwatermark',  //文字水印显示的内容
//     FontName: 'SimSun',  //文字水印的字体名称
//     FontSize: 25,  //文字水印的字体大小
//     FontColor: 'Black',  //文字水印的颜色(也可为RGB颜色取值,例如:#000000)
//     FontAlpha: '0.2',    //文字水印的透明度
//     BorderColor: 'White',  //文字水印的字体描边颜色(也可为RGB颜色取值,例如:#ffffff)
//     BorderWidth: 1,  //文字水印的描边宽度
//     Top: 20,  //文字水印距离视频画面上边的偏移距离
//     Left: 15  //文字水印距离视频画面左边的偏移距离
// };

client.request("UpdateWatermark", {
    WatermarkId: 'WatermarkId',
    Name: 'updatewatermark',  //水印名称
    WatermarkConfig: JSON.stringify(watermarkConfig)
}, {}).then(function (response) {
    if (response.WatermarkInfo){
        //水印ID
        console.log('WatermarkId = ' + response.WatermarkInfo.WatermarkId);
        //水印的位置、效果配置数据
        console.log('WatermarkConfig = ' + response.WatermarkInfo.WatermarkConfig);
        //水印文件的FileUrl(文字水印该字段值为空)
        console.log('FileUrl = ' + response.WatermarkInfo.FileUrl);
    }
    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);
});

删除水印

调用DeleteWatermark接口,完成删除水印功能。

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

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

client.request("DeleteWatermark", {
    WatermarkId: 'WatermarkId'
}, {}).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);
});

查询水印列表

调用ListWatermark接口,完成查询水印列表功能。

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

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

client.request("ListWatermark", {}, {}).then(function (response) {
    if (response.WatermarkInfos && response.WatermarkInfos.length > 0){
        for (var i=0; i<response.WatermarkInfos.length; i++){
            //水印ID
            console.log('WatermarkId = ' + response.WatermarkInfos[i].WatermarkId);
            //水印的位置、效果配置数据
            console.log('WatermarkConfig = ' + response.WatermarkInfos[i].WatermarkConfig);
            //水印文件的FileUrl(文字水印该字段值为空)
            console.log('FileUrl = ' + response.WatermarkInfos[i].FileUrl);
        }
    }
    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);
});

查询单个水印

调用GetWatermark接口,完成查询单个水印功能。

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

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

client.request("GetWatermark", {
    WatermarkId: 'WatermarkId'
}, {}).then(function (response) {
    if (response.WatermarkInfo){
        //水印ID
        console.log('WatermarkId = ' + response.WatermarkInfo.WatermarkId);
        //水印的位置、效果配置数据
        console.log('WatermarkConfig = ' + response.WatermarkInfo.WatermarkConfig);
        //水印文件的FileUrl(文字水印该字段值为空)
        console.log('FileUrl = ' + response.WatermarkInfo.FileUrl);
    }
    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);
});

设置默认水印

调用SetDefaultWatermark接口,完成设置默认水印功能。

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

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

client.request("SetDefaultWatermark", {
    WatermarkId: 'WatermarkId'
}, {}).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);
});