智能擦除功能简介
智能擦除能够对视频画面中的Logo、字幕、人脸和车牌等元素进行模糊、马赛克或无痕化处理,从而便于内容的传播和分享。该功能广泛应用于短剧平台、短视频平台、跨境电商以及自媒体工作室等多个领域。
技术优势
多种场景支持:能够自动识别并处理十多种常见Logo,此外,还可以针对字幕以及人脸和车牌等敏感信息进行擦除,提供模糊、马赛克和无痕化等多种效果,满足不同场景的需求。
高可定制性:支持针对您的具体的视频场景,对模型参数进行定制化调整,从而提高擦除的准确率和处理效果,确保最终呈现的画面更加自然流畅。
效果演示
使用智能擦除功能,可以去除源视频中的字幕,并转译为具有英文字幕、英文配音的视频。
接入方式一:API 接入
调用 媒体处理接口 ,选择 AiAnalysisTask 任务,将 Definition 设置为 24(预设智能擦除模板),ExtendedParameter 填额外的扩展参数,通过该参数实现特定的能力,常见取值见下文 ExtendedParameter常用参数(用于指定擦除场景)。
说明:
若您期望给自定义智能分析模板开启智能擦除功能,可以联系我们并同步模板 ID,腾讯云媒体处理开发人员将为您配置并启动智能擦除功能。


1. ExtendedParameter 常用参数(用于指定擦除场景)
以下介绍了不同的擦除场景如何通过 ExtendedParameter 传参来指定。
说明:
目前每次请求只能选择其中一种场景能力,不支持多选。如有多种能力组合使用的需求,请联系我们评估支持。
场景一:去 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\\"
}
}
效果示例


场景六:人脸马赛克
功能描述
识别视频画面中的人脸后,对人脸进行马赛克处理,并生成新的视频。
参数
{
\\"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 时,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-
开头的文件即为智能擦除处理后的输出文件。

接入方式二:控制台发起任务(零代码)
说明:
1. 创建任务
1.1 进入 媒体处理控制台,依次点击创建任务 > 快速创建点播处理任务。


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


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


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


2. 查询任务结果
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