视频添加字幕
更新时间:2022-12-01
概览
通过视频转码的方式给原始视频添加字幕。
需求场景
视频添加字幕
用户需要将无字幕的视频添加字幕。
方案概述
通过MCP的转码功能,使用SRT字幕文件给视频添加字幕流。添加后视频播放时可带上相关字幕内容。
配置准备
- 转码队列:一个用于执行指定转码任务的任务队列
 - 转码模板:对原始视频分辨率进行修改、去除黑边、视频格式变化、添加字幕等等功能。详情可查看转码模板接口。
 
说明:本实践中只需要用到转码添加字幕功能,但是也要创建一个转码模板用于嵌入。如果添加字幕同时还有转码需求、则可在一个转码任务中完成。
转码队列
MCP控制台可进行新建,用于控制传入的转码视频文件所在bucket、转码后视频文件保存bucket。如果已有队列满足需求可不用新建,直接使用即可

转码模板
如果已有的模板满足视频转码需求,可使用原有模板。
如不满足可创建一个智感高清1080P的Mp4格式模板。

测试验证
本实践以一个Mp4视频添加测试字幕文件进行示例。
控制台的新增转码任务配置中,并没有添加字幕的功能,只能用API调用的方式进行使用。本实践使用APIExplorer的创建视频转码任务接口进行接口调用。   
- 该接口中ak-sk需要自行填写
 - version参数固定【3】
 - Json body参数参考
 
                JSON
                
            
            1{
2    "pipelineName": "test_subtext",    # 前面创建的转码队列名称
3    "source": {
4        "clips": [
5            {
6                "sourceKey": "no_subtext.mp4"  # 保存的待添加字幕文件
7            }
8        ]
9    },
10    "target": {
11        "targetKey": "add_subtext.mp4",  # 生成的带字幕文件
12        "presetName": "to_mp4",          # 创建的转码模板名称
13        "inserts": [                     # 添加字幕操作
14            {
15                "bucket" : "yqx-bj-tool",  # 字幕文件保存bucket
16                "key" : "newTest.srt",     # 字幕文件名称
17                "type": "subtitle",        # 添加字幕类型
18                "layout": {                # 布局
19                    "verticalAlignment" : "bottom",
20                    "horizontalAlignment" : "left",
21                    "verticalOffsetInPixel" : 0,
22                    "horizontalOffsetInPixel" : 0
23                },
24                "timeline" : {
25                    "startTimeInMillisecond" : 1000,
26                    "durationInMillisecond" : 65500
27                }
28             }
29         ]
30    }
31}
            说明:更多参数字段含义参考创建视频转码任务接口。
调用示例如下:

注:转码任务执行根据视频大小不等执行耗时不同,调用完成后可使用返回的jobId查看转码进行,控制台查看方式如下
添加完字幕视频效果截图展示

