简介
在某些特定场景,不同的视频需要压制不同的水印信息,例如:短视频需要压制不同用户的昵称等,以表示不同视频版权属于不同的上传用户。
水印动态替换前提
配置转码模板时绑定指定的水印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"); //构建需要替换的水印参数(只有需要替换水印相关信息才需要构建) JSON overrideParams = buildOverrideParams(); //覆盖参数,暂只支持水印部分参数替换(只有需要替换水印相关信息才需要传递) request.setOverrideParams(overrideParams.toJSONString()); SubmitTranscodeJobsResponse response = client.getAcsResponse(request);构建覆盖参数
public static JSON buildOverrideParams() { JSON overrideParams = new JSON (); JSONArray watermarks = new JSONArray(); //图片水印文件地址替换 JSON filewatermark = new JSON (); //模板上面关联需要替换的水印文件图片水印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); //文字水印内容替换 JSON txtwatermark = new JSON (); //模板上面关联需要替换内容的文字水印ID txtwatermark.put("WatermarkId", "d297ba3906e061ac5242d2071bf7"); //需要替换成对应的内容 txtwatermark.put("Content", "用户ID:99999"); watermarks.add(txtwatermark); overrideParams.put("Watermarks", watermarks); return overrideParams;}水印替换效果

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


继续阅读与本文标签相同的文章
-
阿里巴巴20周年年会结束以后,你知道发生了什么吗?
2026-05-18栏目: 教程
-
13年IT老兵:闷头做智能家居体系容易走火入魔
2026-05-18栏目: 教程
-
今天起,我要成为这样的阿里巴巴
2026-05-18栏目: 教程
-
中国智能家居的蝴蝶效应
2026-05-18栏目: 教程
-
2019年回顾 - Joomla前12名SEO扩展和插件
2026-05-18栏目: 教程
