视频点播开发者实战:视频水印动态替换

简介: 在某些特定场景,不同的视频需要压制不同的水印信息,例如:短视频需要压制不同用户的昵称等,以表示不同视频版权属于不同的上传用户。

简介

在某些特定场景,不同的视频需要压制不同的水印信息,例如:短视频需要压制不同用户的昵称等,以表示不同视频版权属于不同的上传用户。

水印动态替换前提

配置转码模板时绑定指定的水印ID,换暂只替换对已经绑定的水印文件、水印文字的内容进行替换,不支持对未在转码模板上绑定过的水印进行替换。

水印动态替换步骤

1、创建转码模板并绑定水印ID

调用 AddTranscodeTemplateGroup 接口创建转码模板,并设置需要绑定的水印ID列表。

说明:更多接口调用详情请参考 SDK Demo示例

2、提交媒体转码

调用 SubmitTranscodeJobs 接口对指定视频发起转码。

说明:对水印信息的替换都将通过SubmitTranscodeJobs接口的OverrideParams参数来完成,参数详情请参考 OverrideParams

接口请求处理代码示例:

提交媒体转码

SubmitTranscodeJobsRequest request = new SubmitTranscodeJobsRequest();
  //需要转码的视频ID
  request.setVideoId("34a6ca54f5c140eece85a289096d");
  //转码模板组ID(模板组下包含的模板绑定需要替换参数的水印ID)
  request.setTemplateGroupId("e8aa925a9798c630d30cd737d4");
  //构建需要替换的水印参数(只有需要替换水印相关信息才需要构建)
  JSONObject overrideParams = buildOverrideParams();
  //覆盖参数,暂只支持水印部分参数替换(只有需要替换水印相关信息才需要传递)
  request.setOverrideParams(overrideParams.toJSONString());
  SubmitTranscodeJobsResponse response = client.getAcsResponse(request);

构建覆盖参数

public static JSONObject buildOverrideParams() {
    JSONObject overrideParams = new JSONObject();
    JSONArray watermarks = new JSONArray();
    //图片水印文件地址替换
    JSONObject filewatermark = new JSONObject();
    //模板上面关联需要替换的水印文件图片水印ID
    filewatermark.put("WatermarkId", "2ea5875a42fa88e7a1bc8b5742d7");
    //需要替换成对应图片水印文件的OSS地址,水印文件存储源站需要和视频存储源站一致
    filewatermark.put("FileUrl", "https://outin-40564284ef05110163e1403e7.oss-cn-shanghai.aliyuncs.com/watermark/02A1B22DF25D46C4BB84E0C163C725A4-6-2.png");
    //watermarks.add(filewatermark);

    //文字水印内容替换
    JSONObject txtwatermark = new JSONObject();
    //模板上面关联需要替换内容的文字水印ID
    txtwatermark.put("WatermarkId", "d297ba3906e061ac5242d2071bf7");
    //需要替换成对应的内容
    txtwatermark.put("Content", "用户ID:99999");
    watermarks.add(txtwatermark);
    overrideParams.put("Watermarks", watermarks);
    return overrideParams;
}

水印替换效果

c4d1c5f54eb2af2cb83f1d402bb2d3a1

阿里云开年Hi购季,视频直播、视频点播、CDN全线折扣,错过这次,再等一年!点击了解活动详情

image

image

目录
相关文章
|
4月前
|
编解码 缓存 安全
视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题
视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题
140 1
|
9月前
|
SQL 前端开发 JavaScript
基于python的视频点播网站(python+django+vue开发的视频点播网站-视频管理系统)
平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。
182 0
|
编解码 C#
C# 阿里云视频点播--视频转码
C# 阿里云视频点播--视频转码
428 0
C# 阿里云视频点播--视频转码
|
前端开发 JavaScript API
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(三)
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(三)
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(三)
|
存储 编解码 前端开发
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(二)
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(二)
|
XML SQL 前端开发
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(一)
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传
谷粒学院(十一)课程最终发布 | 课程列表 | 阿里云视频点播服务 | 小节实现视频上传(一)
|
编解码 数据安全/隐私保护 对象存储
视频点播服务实战|学习笔记
快速学习视频点播服务实战
89 0
视频点播服务实战|学习笔记
|
开发工具 开发者 微服务
技术点-阿里云视频点播(上传视频) | 学习笔记
快速学习技术点-阿里云视频点播(上传视频)
276 0
|
开发工具 开发者 微服务
技术点-阿里云视频点播 SDK(获取视频凭证) | 学习笔记
快速学习技术点-阿里云视频点播 SDK(获取视频凭证)
265 0
|
存储 Java API
技术点-阿里云视频点播 SDK(获取视频地址) | 学习笔记
快速学习技术点-阿里云视频点播 SDK(获取视频地址)
392 0

热门文章

最新文章