tencent cloud

文档反馈

如何为视频添加字幕

最后更新时间:2024-11-04 10:36:04
    云点播支持为 转自适应码流 输出的 HLS 视频添加(或删除)多种语言的标准字幕文件。播放时,可以切换选择不同语言的字幕进行显示,以提升观看体验。
    使用流程包括两个步骤:对媒体文件添加字幕对目标视频关联字幕
    为便于描述,本文假设如下具体场景:对 FileId(1397757888586312345)的 转自适应码流模板 ID(10) 输出的文件添加中文(zh)和英文(en)字幕,使得播放该文件时,可以选择添加的中文或英文字幕进行显示。

    一、对媒体文件添加字幕

    此步骤实现将字幕添加到 FileId(1397757888586312345)的媒资中,并得到字幕 ID。下一步将使用该字幕 ID 进行字幕关联。
    云点播提供两种方式为媒体文件添加字幕:上传字幕和智能识别自动生成字幕。

    上传字幕

    上传已有的字幕文件,上传成功后自动添加字幕信息到媒资。支持两种方式上传:控制台上传、服务端 API 上传。

    控制台上传

    1. 登录 云点播控制台,进入目标应用的音视频管理页面,对需要处理的媒资单击管理。
    
    
    
    2. 单击字幕信息 > 添加字幕。
    
    
    
    3. 上传所需要的字幕文件,并编辑好语言类型字幕流名称(用于播放器展示),单击确定。
    
    
    
    4. 得到中文、英文字幕 ID 分别为 dfD6OB 和 Yp7DFN。
    
    
    

    服务端 API 上传

    1. 调用服务端 API 修改媒体文件属性,输入参数 AddSubtitles 指定需要上传的字幕:
    "AddSubtitles": [
    {
    "Name": "demo_zh.vtt",
    "Language": "zh",
    "Format": "vtt",
    "Content": "V0VCVlRUCgowMDowMDowMC4wMDAgLS0+IDAwOjAwOjAyLjA0MArkvaDlpb3lkJfvvJ8KCjAwOjAwOjAyLjEwMCAtLT4gMDA6MDA6MDQuOTUwCuaIkeW+iOWlve+8jOiwouiwou+8jOS9oOWRou+8nwoKMDA6MDA6MDQuOTgwIC0tPiAwMDowMDowNi45MDAK5oiR5Lmf5b6I5aW944CCCg=="
    },
    {
    "Name": "demo_en.vtt",
    "Language": "en",
    "Format": "vtt",
    "Content": "V0VCVlRUCgowMDowMDowMC4wMDAgLS0+IDAwOjAwOjAyLjA0MApIb3cgYXJlIHlvdT8KCjAwOjAwOjAyLjEwMCAtLT4gMDA6MDA6MDQuOTUwCkZpbmUsIHRoYW5rIHlvdSwgYW5kIHlvdT8KCjAwOjAwOjA0Ljk4MCAtLT4gMDA6MDA6MDYuOTAwCkknbSBmaW5lIHRvby4K"
    }
    ]
    2. 接口输出示例(省略了其他字段),从中得到中文、英文字幕 ID 分别为 dfD6OB 和 Yp7DFN。
    {
    "Response": {
    "AddedSubtitleSet": [
    {
    "Id": "dfD6OB",
    "Name": "demo_zh",
    "Language": "en",
    "Format": "vtt",
    "Url": "http://123.vod2.myqcloud.com/vodgzp123/1397757888586312345/subtitles/dfD6OB.vtt"
    },
    {
    "Id": "Yp7DFN",
    "Name": "demo_en",
    "Language": "en",
    "Format": "vtt",
    "Url": "http://123.vod2.myqcloud.com/vodgzp123/1397757888586312345/subtitles/Yp7DFN.vtt"
    }
    ],
    "RequestId": "90b40581-bf44-4455-a238-c8fe614c20ca"
    }
    }

    智能识别自动生成字幕

    通过 音视频内容识别,自动生成字幕并添加字幕信息到媒资。使用流程包括:准备 音视频内容识别模板任务发起结果获取,要点如下:

    1. 准备音视频内容识别模板

    支持两种方式创建模板:控制台创建模板及服务端 API 创建模板。
    1.1. 控制台创建模板
    1.1.1. 登录 云点播控制台,进入目标应用后,单击媒体处理设置 > 模板设置 > 智能识别模板,单击创建智能识别模板。
    
    
    
    1.1.2. 支持选择“语音全文识别”输出源语言字幕文件,或选择“语音翻译”输出目标翻译语言的字幕文件。以下截图场景为将源视频语音内容识别并翻译为目标语言字幕文件。
    
    
    
    1.1.3. 创建后,在模板列表可以看到新建的模板 ID 为 102270。
    
    
    
    1.2. 服务端 API 创建模板
    1.2.1. 调用服务端 API 创建音视频内容识别模板,输入参数 AsrTranslateConfigure 指定语音翻译任务参数:
    "AsrTranslateConfigure": {
    "Switch": "ON",
    "SrcLanguage": "zh",
    "DstLanguage": "en",
    "SubtitleFormats": ["vtt"]
    }
    注意,如果不需要翻译字幕,可以使用语音全文识别(AsrFullTextConfigure),指定生成视频源语言的字幕:
    "AsrFullTextConfigure": {
    "Switch": "ON",
    "SrcLanguage": "zh",
    "SubtitleFormats": ["vtt"]
    }
    1.2.2. 根据本文场景,我们指定语音翻译(AsrTranslateConfigure),接口输出示例(省略了其他字段),从中得到模板 ID(10089)。
    {
    "Response": {
    "Definition": 10089,
    "RequestId": "12ae8d8e-dce3-4151-9d4b-5594145287e1"
    }
    }

    2. 任务发起

    支持多种方式发起智能识别任务:
    调用服务端 API
    控制台发起任务流
    上传时指定任务流
    服务端上传
    客户端上传
    控制台上传
    以上方式参考开发指南 任务发起。此外,您还可以直接通过控制台发起智能识别任务,参考如下:
    2.1. 登录 云点播控制台,进入目标应用的音视频管理页面,选中要智能识别生成字幕的 FileId,单击智能识别。
    
    
    
    2.2. 单击选择模板。
    
    
    
    2.3. 选中要使用的识别模板然后单击确定。
    
    
    
    
    
    
    页面会提示创建任务成功:
    
    
    
    2.4. 在任务中心页面可以看到智能识别任务的任务 ID及任务状态。
    
    
    
    当任务状态为已完成,则智能识别字幕已经成功,并且生成的字幕信息已经自动添加到媒资。

    3. 结果获取

    使用上一步任务发起得到的任务 ID,结合开发指南 结果获取,可以得到智能识别结果,位于 ProcedureTask 结构 里的 AiRecognitionResultSet(类型为AiRecognitionResult 数组):
    Type 为 AsrFullTextRecognition 时,表示语音全文翻译结果保存在 AsrFullTextTask
    Type 为 AsrTranslateRecognition 时,表示语音翻译结果保存在 AsrTranslateTask
    AsrTranslateTask 示例:
    {
    "Status": "SUCCESS",
    "ErrCode": 0,
    "ErrCodeExt": "",
    "Message": "SUCCESS",
    "Progress": 100,
    "BeginProcessTime": "2024-10-16T12:21:04Z",
    "FinishTime": "2024-10-16T12:21:47Z",
    "Input": {
    "Definition": 102270
    },
    "Output": {
    "SegmentSet": [
    {
    "Text": "您好吗?",
    "Translation": "How are you?",
    "StartTimeOffset": 0,
    "EndTimeOffset": 2.04,
    "Confidence": 100
    },
    {
    "Text": "我很好,谢谢,您呢?",
    "Translation": "Fine, thank you, and you?",
    "StartTimeOffset": 2.1,
    "EndTimeOffset": 4.95,
    "Confidence": 100
    },
    {
    "Text": "我也很好。",
    "Translation": "I'm fine too.",
    "StartTimeOffset": 4.98,
    "EndTimeOffset": 6.9,
    "Confidence": 100
    }
    ],
    "SegmentSetFileUrl": "http://251000800.vod2.myqcloud.com/6c0f30dfvodgzp251000800/397dbd234424135347904691234/75a7a19e-abaa-4af4-affb-04e76b3bc9bd.txt",
    "SegmentSetFileUrlExpireTime": "2024-10-19T12:21:44.525Z",
    "SubtitleSet": [
    {
    "Id": "dfD6OB",
    "Name": "zh",
    "Language": "zh",
    "Format": "vtt",
    "Url": "https://123.vod-qcloud.com/vodgzp123/1397757888586312345/subtitles/dfD6OB.vtt"
    },
    {
    "Id": "Yp7DFN",
    "Name": "en",
    "Language": "en",
    "Format": "vtt",
    "Url": "https://123.vod-qcloud.com/vodgzp123/1397757888586312345/subtitles/Yp7DFN.vtt"
    }
    ]
    }
    }
    上面示例可以看到生成的中英文字幕 ID 分别为 dfD6OB 和 Yp7DFN。
    任务成功时,生成的字幕信息已经自动添加到媒资。

    二、对目标视频关联字幕

    支持两种方式对目标视频关联字幕:控制台关联字幕和服务端 API 关联字幕。前者只支持对已经生成的转自适应码流输出文件关联字幕,后者同时支持对存量和增量文件关联字幕。

    控制台关联字幕

    1. 登录 云点播控制台,进入目标应用的音视频管理页面。对 FileId(1397757888586312345)媒资单击管理 > 字幕信息 > 关联自适应码流文件。
    
    
    
    
    
    
    2. 单击确定后,页面右上方弹出操作成功提示。即表示关联字幕成功。
    
    
    

    服务端 API 关联字幕

    包括对存量文件和增量文件关联字幕。

    1. 对存量文件关联字幕

    对已经生成的转自适应码流输出文件关联字幕,请调用服务端 API 关联媒体字幕,输入参数示例如下:
    {
    "Action": "AttachMediaSubtitles",
    "Version": "2018-07-17",
    "FileId": "1397757888586312345",
    "Operation": "Attach",
    "AdaptiveDynamicStreamingDefinition": 10,
    "SubtitleIds": ["dfD6OB", "Yp7DFN"]
    }

    2. 对增量文件关联字幕

    发起 转自适应码流 任务时,在转自适应码流任务输入参数里指定字幕 ID 列表:MediaProcessTask -> AdaptiveDynamicStreamingTaskSet -> SubtitleSet
    输入参数 MediaProcessTask 示例如下:
    {
    "AdaptiveDynamicStreamingTaskSet": [
    {
    "Definition": 10,
    "SubtitleSet": ["dfD6OB", "Yp7DFN"]
    }
    ]
    }
    任务完成时,转自适应码流的输出文件即关联了字幕。

    三、播放效果

    为视频添加字幕成功后,播放视频时可选择不同语言的字幕展示,参考效果如下图:
    
    
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持