视频添加字幕
更新时间:2022-12-01
概览
通过视频转码的方式给原始视频添加字幕。
需求场景
视频添加字幕
用户需要将无字幕的视频添加字幕。
方案概述
通过MCP的转码功能,使用SRT字幕文件给视频添加字幕流。添加后视频播放时可带上相关字幕内容。
配置准备
- 转码队列:一个用于执行指定转码任务的任务队列
- 转码模板:对原始视频分辨率进行修改、去除黑边、视频格式变化、添加字幕等等功能。详情可查看转码模板接口。
说明:本实践中只需要用到转码添加字幕功能,但是也要创建一个转码模板用于嵌入。如果添加字幕同时还有转码需求、则可在一个转码任务中完成。
转码队列
MCP控制台可进行新建,用于控制传入的转码视频文件所在bucket、转码后视频文件保存bucket。如果已有队列满足需求可不用新建,直接使用即可
转码模板
如果已有的模板满足视频转码需求,可使用原有模板。
如不满足可创建一个智感高清1080P的Mp4格式模板。
测试验证
本实践以一个Mp4视频添加测试字幕文件进行示例。
控制台的新增转码任务配置中,并没有添加字幕的功能,只能用API调用的方式进行使用。本实践使用APIExplorer的创建视频转码任务接口进行接口调用。
- 该接口中ak-sk需要自行填写
- version参数固定【3】
- Json body参数参考
{
"pipelineName": "test_subtext", # 前面创建的转码队列名称
"source": {
"clips": [
{
"sourceKey": "no_subtext.mp4" # 保存的待添加字幕文件
}
]
},
"target": {
"targetKey": "add_subtext.mp4", # 生成的带字幕文件
"presetName": "to_mp4", # 创建的转码模板名称
"inserts": [ # 添加字幕操作
{
"bucket" : "yqx-bj-tool", # 字幕文件保存bucket
"key" : "newTest.srt", # 字幕文件名称
"type": "subtitle", # 添加字幕类型
"layout": { # 布局
"verticalAlignment" : "bottom",
"horizontalAlignment" : "left",
"verticalOffsetInPixel" : 0,
"horizontalOffsetInPixel" : 0
},
"timeline" : {
"startTimeInMillisecond" : 1000,
"durationInMillisecond" : 65500
}
}
]
}
}
说明:更多参数字段含义参考创建视频转码任务接口。
调用示例如下:
注:转码任务执行根据视频大小不等执行耗时不同,调用完成后可使用返回的jobId查看转码进行,控制台查看方式如下 添加完字幕视频效果截图展示