音视频内容识别,即借助 AI 对音视频内容进行智能识别,是一种离线任务。使用音视频内容识别,可以识别出视频画面中的人脸、文字、片头片尾、语音中的文字并翻译为目标语言。根据音视频内容识别的结果,您可以准确高效地管理视频。音视频内容识别包括以下功能:
功能名称 | 功能说明 | 用途举例 |
人脸识别 | 识别画面中出现的人脸 | 标注明星在画面中出现的位置。 排查画面中出现的相关人物。 |
语音全文识别 | 识别语音中出现的全部文字 | 为演讲内容生成字幕。 对视频的语音内容做数据分析。 |
文本全文识别 | 识别画面中出现的全部文字 | 对画面中的文字做数据分析。 |
语音关键词识别 | 识别语音中存在的关键词 | 排查语音中的敏感词。 检索语音中提到的特定关键词。 |
文本关键词识别 | 识别画面中存在的关键词 | 排查画面中的敏感词。 检索画面中出现的特定关键词。 |
视频片头片尾识别 | 识别视频的片头和片尾 | 进度条中标注片头、片尾和正片的位置。 批量对视频掐头去尾。 |
语音翻译识别 | 识别语音中出现的全部文字,同时翻译为指定语言 | 为短剧生成翻译字幕。 对跨国音视频会议录制文件生成多语言字幕。 |
部分内容识别功能需要依赖素材库,有公共库和自定义库两种:
公共库:点播预置好的素材库。
自定义库:用户自行创建和管理的素材库。
音视频内容识别模板
音视频内容识别集成了多项识别功能,需要通过参数进行精细化控制,控制的目标如:
启用的识别类型:启用内容识别中的哪几项功能。
使用的素材库:对于人脸识别,使用公共库还是自定义库。
指定过滤分数:人脸识别的置信度达到多少分的结果才返回。
指定过滤标签:人脸的标签在什么范围内的结果才返回。
任务发起
以下是各种方式发起音视频内容识别任务的说明:
调用服务端 API ProcessMedia 发起任务:在请求中的
AiRecognitionTask
参数指定 音视频内容识别模板 的模板 ID。通过控制台对视频发起任务:调用 服务端 API 创建任务流,任务流中配置音视频内容识别任务(
MediaProcessTask.AiRecognitionTask
中指定);在控制台使用该任务流 发起视频处理。服务端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置音视频内容识别任务(
MediaProcessTask.AiRecognitionTask
中指定); 申请上传 中的procedure
参数指定为该任务流。客户端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置音视频内容识别任务(
MediaProcessTask.AiRecognitionTask
中指定);在 客户端上传签名 中的procedure
指定该任务流。控制台上传:调用 服务端 API 创建任务流,任务流中配置音视频内容识别任务(
MediaProcessTask.AiRecognitionTask
中指定);通过控制台上传视频,选择 上传的同时对视频进行处理操作 并指定视频上传后执行该任务流。结果获取
发起音视频内容识别任务后,您可以通过异步等待 结果通知 和同步进行 任务查询 两种方式获取视频内识别任务的执行结果。下面是发起内容识别任务后,普通回调方式下结果通知的示例(省略了值为 null 的字段):
{"EventType":"ProcedureStateChanged","ProcedureStateChangeEvent":{"TaskId":"1400155958-Procedure-2e1af2456351812be963e309cc133403t0","Status":"FINISH","FileId":"5285890784363430543","FileName":"集锦","FileUrl":"http://1400155958.vod2.myqcloud.com/xxx/xxx/aHjWUx5Xo1EA.mp4","MetaData":{"AudioDuration":243,"AudioStreamSet":[{"Bitrate":125599,"Codec":"aac","SamplingRate":48000}],"Bitrate":1459299,"Container":"mov,mp4,m4a,3gp,3g2,mj2","Duration":243,"Height":1080,"Rotate":0,"Size":44583593,"VideoDuration":243,"VideoStreamSet":[{"Bitrate":1333700,"Codec":"h264","Fps":29,"Height":1080,"Width":1920}],"Width":1920},"AiRecognitionResultSet":[{"Type":"FaceRecognition","FaceRecognitionTask":{"Status":"SUCCESS","ErrCode":0,"Message":"","Input":{"Definition":10},"Output":{"ResultSet":[{"Id":183213,"Type":"Default","Name":"张三","SegmentSet":[{"StartTimeOffset":10,"EndTimeOffset":12,"Confidence":97,"AreaCoordSet":[830,783,1030,599]},{"StartTimeOffset":12,"EndTimeOffset":14,"Confidence":97,"AreaCoordSet":[844,791,1040,614]}]},{"Id":236099,"Type":"Default","Name":"李四","SegmentSet":[{"StartTimeOffset":120,"EndTimeOffset":122,"Confidence":96,"AreaCoordSet":[579,903,812,730]}]}]}}}],"TasksPriority":0,"TasksNotifyMode":""}}
回调结果中,
ProcedureStateChangeEvent.AiRecognitionResultSet
有Type
为FaceRecognition
的识别结果,代表人脸识别。Type
为FaceRecognition
的结果显示,Output.ResultSet
中包含了两个识别出的人物,分别是张三
和李四
。SegmentSet
表示人脸出现在视频中的时间段(由StartTimeOffset
和EndTimeOffset
确定)和在画面中的坐标(由AreaCoordSet
确定)。