智能擦除接入

最近更新时间:2025-02-27 17:11:22

我的收藏

智能擦除功能简介

智能擦除能够对视频画面中的Logo、字幕、人脸和车牌等元素进行模糊、马赛克或无痕化处理,从而便于内容的传播和分享。该功能广泛应用于短剧平台、短视频平台、跨境电商以及自媒体工作室等多个领域。

技术优势

多种场景支持:能够自动识别并处理十多种常见Logo,此外,还可以针对字幕以及人脸和车牌等敏感信息进行擦除,提供模糊、马赛克和无痕化等多种效果,满足不同场景的需求。
高可定制性:支持针对您的具体的视频场景,对模型参数进行定制化调整,从而提高擦除的准确率和处理效果,确保最终呈现的画面更加自然流畅。

效果演示

使用智能擦除功能,可以去除源视频中的字幕,并转译为具有英文字幕、英文配音的视频。


接入方式一:API 接入

调用 媒体处理接口 ,选择 AiAnalysisTask 任务,将 Definition 设置为 24(预设智能擦除模板),ExtendedParameter 填额外的扩展参数,通过该参数实现特定的能力,常见取值见下文 ExtendedParameter常用参数(用于指定擦除场景)
说明:
若您期望给自定义智能分析模板开启智能擦除功能,可以联系我们并同步模板 ID,腾讯云媒体处理开发人员将为您配置并启动智能擦除功能。




1. ExtendedParameter 常用参数(用于指定擦除场景)

以下介绍了不同的擦除场景如何通过 ExtendedParameter 传参来指定。
说明:
目前每次请求只能选择其中一种场景能力,不支持多选。如有多种能力组合使用的需求,请联系我们评估支持。

场景一:去 Logo

ExtendedParameter 不填,则默认为去 Logo-基础版场景。如需近无痕的效果,请 联系我们,使用去 Logo-高级版。
目前,我们支持十多种 Logo 的识别和擦除。对于不在支持范围内的 Logo,我们也提供定制化训练服务,这将单独收取模型训练费用。

场景二:视频转译(去字幕+字幕翻译+音频翻译)

功能描述
该场景可一站式完成原始字幕擦除、字幕提取并翻译多语言、语音翻译替换等,实现对原始视频的转译,助力视频出海传播,广泛适用于短剧平台、短视频平台、跨境电商和自媒体工作室。使用该场景能力,将对输入视频按以下步骤依次处理:
1. 识别原始视频画面中的字幕,然后进行擦除;
2. 识别原始视频的音频,生成字幕文件,并对其进行翻译,再对翻译后的字幕:
2.1 渲染到原视频画面字幕位置;
2.2 通过语音合成,替换原有视频的音轨。
3. 生成新的视频。
说明:
该场景是多功能的组合,若您仅需要使用其中某个功能,如只需要擦除字幕,可以参考下文其他场景说明。
参数
// 目标语言英语
{\\"delogo\\":{\\"cluster_id\\":\\"gpu_pp\\",\\"CustomerAppId\\":\\"audio_subtitle_replace\\",\\"subtitle_param\\":{\\"translate_dst_language\\":\\"en\\"}}}
效果示例
左图:原始中文短视频;右图:处理后输出视频具有英文字幕、英文配音。
左图:原始中文短视频;右图:处理后输出视频具有英文字幕、英文配音。


场景三:擦除指定区域

功能描述
用于将参数指定区域进行擦除,生成新的视频。
参数
{\\"delogo\\":{\\"custom_objs\\":{\\"type\\":0,\\"time_objs\\":[{\\"objs\\":[{\\"type\\":1,\\"value\\":\\"customobjs\\",\\"score\\":99,\\"rect\\":{\\"lt_x\\":120,\\"lt_y\\":75,\\"rb_x\\":395,\\"rb_y\\":158}}]}]}}}

//注:custom_objs 用于指定要查处的区域,其中 (lt_x, lt_y) 是区域左上点坐标,(rb_x, rb_y) 是区域右下点坐标。
效果示例
左图:原始视频;右图:擦除后输出视频
左图:原始视频;右图:擦除后输出视频


场景四:提取字幕并翻译

功能描述
识别视频画面中的字幕,进行分析校对,然后按指定语言进行翻译,生成原始和翻译后的字幕文件。
参数
{\\"delogo\\":{\\"CustomerAppId\\":\\"ocr_zimu\\",\\"subtitle_param\\":{\\"translate_dst_language\\":\\"en\\"}}}

/*
注:translate_dst_language 用于指定目标语言,设置为空,则不进行翻译,只输出原始字幕;
其他值对应关系为: en-英语、zh-中文
*/
效果示例
左侧:原始视频;右侧:提取出的字幕文件
左侧:原始视频;右侧:提取出的字幕文件


场景五:去字幕

功能描述
自动识别视频画面中部靠下的文字,并通过 AI 模型对其进行檫除,生成新的视频。该功能提供两种版本:
标准版:一般情况下建议选择标准版,去字幕效果相对更好。
sttn 版:功能和标准版一致,速度比标准版快一些,但效果相对不如标准版。
标准版参数
{\\"delogo\\":{\\"cluster_id\\":\\"gpu_pp\\",\\"CustomerAppId\\":\\"zimu\\"}}
sttn 版参数
{\\"delogo\\":{\\"cluster_id\\":\\"gpu_pp\\",\\"CustomerAppId\\":\\"zimu-sttn\\"}}
效果示例
左图:原始视频;右图:标准版去字幕处理效果,近乎无痕。
左图:原始视频;右图:标准版去字幕处理效果,近乎无痕。

左图:原始视频;右图:sttn 版去字幕处理效果。
左图:原始视频;右图:sttn 版去字幕处理效果。


场景六:人脸马赛克

功能描述
识别视频画面中的人脸后,对人脸进行马赛克处理,并生成新的视频。
参数
{\\"delogo\\":{\\"CustomerAppId\\":\\"rennian_msk\\"}}
效果示例
左图:原始视频画面;右图:处理后人脸都被打上马赛克。
左图:原始视频画面;右图:处理后人脸都被打上马赛克。


场景七:人脸模糊

功能描述
识别视频画面中的人脸后,对人脸进行模糊处理,并生成新的视频。
参数
{\\"delogo\\":{\\"CustomerAppId\\":\\"rennian\\"}}
效果示例
左图:原始视频画面;右图:人脸模糊处理
左图:原始视频画面;右图:人脸模糊处理


场景八:人脸+车牌马赛克

功能描述
识别视频画面中的人脸和车牌,并对人脸和车牌同时进行马赛克处理,生成新的视频。
参数
// v1 版本 -- 逐步下线,建议使用 v2
{\\"delogo\\":{\\"CustomerAppId\\":\\"rennian_chepai_msk\\"}}
// v2 版本
{\\"delogo\\":{\\"CustomerAppId\\":\\"rennian_chepai_msk_v2\\"}}
效果示例
左图:原始视频画面;右图:人脸&车牌均被打上马赛克
左图:原始视频画面;右图:人脸&车牌均被打上马赛克


2. 更多扩展参数说明

上文简要介绍了几种常用的 ExtendedParameter 传参方法,用于指定擦除场景。以下展示了 ExtendedParameter 支持的所有参数及其说明:
"delogo":{
"CustomerAppId": "ocr_zimu", # string;预设场景参数,不同场景可能只用到以下部分参数,一般参数修改需要我们内部确认。
"cluster_id": "", # string;保留字段,用于策略进行集群调度,特定任务需要在特定集群跑,不能随便修改
"output_patten": "{task_type}-{session_id}", # string;输出文件名,不能有特殊字符,长度小于 200,标识 {},支持占位符 task_type、session_id
"als_filter": { # json对象;目标检查分析过滤器
"min_ocr_height": 10, # float,大于等于 0 有效;对于文字识别:文字最小大小,小于 1 表示视频高度比例,大于 1 表示像素
"max_ocr_height": 0.06, # float,大于等于 0 有效;对于文字识别:文字最大大小
"active_areas": [ # json 数组;区域过滤,识别结果中心点在该区域内,才采用
{
"lt_x": 0.1, # float,大于等于 0 有效;区域左上角x坐标,小于 1 表示视频高度比例,大于 1 表示像素
"lt_y": 0.6, # float,大于等于 0 有效;区域左上角y坐标
"rb_x": 0.9, # float,大于等于 0 有效;区域右下角x坐标
"rb_y": 0.95 # float,大于等于 0 有效;区域右下角y坐标
}
]
},
"custom_objs": { # json 对象;自定义区域
"type": 0, # int,填0;指定类型
"time_objs": [# json 数组;时间区域信息
{
"begin_ms": 0, # int;起始时间,单位ms,不填同视频开始
"end_ms": 100, # int;结束时间,单位ms,不填同视频结尾
"objs": [ # json 数组;区域信息
{
"rect": { # json对象;目标区域
"lt_x": 55, # float,大于等于 0 有效;区域左上角x坐标,单位像素
"lt_y": 143, # float,大于等于 0 有效;区域左上角y坐标
"rb_x": 327, # float,大于等于 0 有效;区域右下角x坐标
"rb_y": 192 # float,大于等于 0 有效;区域右下角y坐标
},
"score": 100, # int,此处填100;目标参考分值
"type": 2, # int;目标类型,1 指Logo等目标, 2 指文字
"value": "LUSN" # string;目标取值,例如文字识别则填对应的文字
}
]
}
]
}
"subtitle_param" : { # json对象;字幕相关参数
"margin_bottom": 0.2, # float,大于等于 0 有效;用于字幕文件渲染,字幕距离底边距离,小于 1 表示视频高度比例, 大于 1 表示像素;
"font_size": 50, # float,大于等于 0 有效;用于字幕文件渲染,字幕渲染字体大小,小于 1 表示视频高度比例, 大于 1 表示像素;
"font_type": "simkai", # string;字幕渲染字体:simkai-楷体,hei-黑体,song-宋体;
"translate_dst_language": "en" # string;用于字幕翻译,设置为空,则不进行翻译,只输出原始字幕;其他值对应关系为: en-英语、zh-中文;
}
}

3. API Explorer 快速验证

您可以通过 API Explorer 实现快速验证,进入页面填写相关参数信息后即可发起 API 在线调用。



注意:
使用 API Explorer 时,ExtendedParameter 填写对应 json 即可,不用转换成字符串,API Explorer 会自动转换。
API Explorer 中的传参示例:



直接使用API则需要传入:
{\\"delogo\\":{\\"CustomerAppId\\":\\"rennian\\"}}


4. 查询任务结果

任务回调:在使用 ProcessMedia 发起媒体处理任务时,可以通过 TaskNotifyConfig 参数设置回调信息。当任务处理完成后,会通过配置的回调信息回调任务结果,您可以通过 ParseNotification 解析事件通知结果。
调用 DescribeTaskDetail 接口查询任务结果:
若您是直接使用API关联模板发起任务,即按上文 接入方式一 发起的任务,ProcessMedia 返回的 TaskId 中会包含“WorkflowTask”(例如:24000022-WorkflowTask-b20a8exxxxxxx1tt110253),此时您需要解析 DescribeTaskDetail 接口 -> WorkflowTask ->AiAnalysisResultSet字段获取任务结果;
若您在使用 ProcessMedia 发起任务时,不是按照上文 接入方式一 所述的在AiAnalysisTask -> Definition 中关联模板ID,而是在ScheduleId字段中填入编排ID,则返回的taskid中会包含“ScheduleTask” (例如:24000022-ScheduleTask-774f101xxxxxxx1tt110253),此时您需要解析 DescribeTaskDetail 接口 -> ScheduleTask -> ActivityResultSet 字段获取任务结果;
若您从控制台发起任务,即按下文 接入方式二 发起的任务,在控制台任务管理列表中会显示任务ID。您可以解析 DescribeTaskDetail 接口 -> ScheduleTask -> ActivityResultSet 字段获取任务结果。也可以参考下文在控制台中查找输出文件:
控制台查询任务:进入控制台 点播任务管理,任务列表中会展示刚发起的任务。



当子任务状态为“成功”时,您可以进入 COS Bucket > 输出 Bucket 中,找到您的输出目录,在目录下delogo-开头的文件即为智能擦除处理后的输出文件。




接入方式二:控制台发起任务(零代码)

说明:
控制台发起擦除任务,默认为 去Logo 场景。如需其他擦除场景,请使用 API 接入通过传参指定具体擦除场景,详情参考上文 接入方式一:API 接入

1. 创建任务

1.1 进入 媒体处理控制台,依次点击创建任务 > 快速创建点播处理任务。



1.2 首先指定输入视频文件,目前智能擦除功能支持两种输入来源:腾讯云对象存储(COS)和 URL 下载地址,暂不支持 AWS S3。
1.3 然后,在步骤“处理输入文件”处,加入智能分析节点。



在弹出的智能分析设置抽屉中,选择预设智能擦除模板(模板 ID:24)。若您期望给自定义智能分析模板开启智能擦除功能,可以联系我们并同步模板 ID,腾讯云媒体处理开发人员将为您配置并启动智能擦除功能。
说明:
预设模板(模板ID:24)默认为 去Logo 场景,如需其他擦除场景,请参考上文方式一使用 API 接入。



1.4 最后,指定擦除后的输出视频保存路径后,即可单击创建发起任务。




2. 查询任务结果

任务完成后,进入控制台 COS Bucket > 输出 Bucket 中找到输出文件,或调用 DescribeTaskDetail 接口查询任务结果,详细指引参考上文 查询任务结果

3. 自动触发任务(可选能力)

若您希望实现:在 COS 桶中上传了视频文件,并自动按照预设参数进行智能擦除处理。您可以:
3.1. 在创建任务时单击保存此编排,在弹出的窗口中配置触发Bucket、触发目录等参数。

3.2. 然后进入点播编排列表,找到刚创建好的编排,在启动处开启按钮即可。后续在触发目录下新增的视频文件,将自动按照该编排预设的流程和参数发起任务,并将处理后的视频文件保存到编排配置的输出路径中。
注意:
启用编排成功后,需要3-5分钟才会生效。


常见问题

支持哪些Logo擦除?

该服务通过 AI 识别Logo后进行擦除。目前,我们支持十多种Logo的识别和擦除。对于不在支持范围内的Logo,我们也提供定制化训练服务,但这将单独收取模型训练费用。

没有Logo的视频会收费吗?

会收费。因为即使视频没Logo,服务也会进行正常分析识别,需要消耗计算资源。

是否支持直播?

目前对外接口仅支持点播文件,若有直播流处理需求,请联系开发人员提供。

如何指定擦除输出文件的命名

您可以在扩展参数里通过参数 output_patten 指定输出文件名。
占位标识为 {},占位符支持 task_type、session_id,默认输出 {task_type}-{session_id}
使用示例:
//转译前示例代码,仅适用于在 API Explorer 中使用
{
"delogo": {
"CustomerAppId": "ocr_zimu",
"subtitle_param": {
"translate_dst_language": ""
},
"output_patten": "custom-{task_type}-{session_id}"
}
}
// 若直接使用API,请将上述代码转义为字符串传入:{\\"delogo\\":{\\"CustomerAppId\\":\\"ocr_zimu\\",\\"subtitle_param\\":{\\"translate_dst_language\\":\\"\\"},\\"output_patten\\": \\"custom-{task_type}-{session_id}\\"}}

// 上述参数的输出文件名将是:custom-delogo-02EF93096ADCC84F4ACF156F3A0D1120DD_1721359047292.vtt