更新时间:2025-05-22 15:09:39
视频添加字幕功能支持硬编码(永久显示)和软编码(观看者可选择)字幕流的配置。
视频格式: MP4、FLV、M3U8、TS、MKV、MOV、WMV、AVI、VP8、VP9、RealVideo、Windows Media Video 等
解码格式: H.265、H.264、H.263、MPEG 等
字幕格式: SRT、MKV内封字幕、视频内嵌字幕流
在请求内容中,请按照以下结构设置 fops 参数:
<op>/<Format>
/subtitle/<value>
/subtitleType/<value>
/subtitleAttr/<value>
|saveas/<Urlsafe_Base64_Encode(bucket:filekey)>
| 参数 | 必填 | 描述 |
|---|---|---|
op |
是 | 操作类型。字幕功能固定使用 avthumb |
format |
是 | 输出的目标格式(如mp4、flv、m3u8等) |
subtitle |
是 | 需要嵌入的字幕文件,采用URL安全的Base64编码,格式为 bucket:path支持的字幕来源: • UTF-8编码的SRT文件 • MKV文件提取的字幕 • 原视频的内嵌字幕流 示例: 存储空间 test 中的字幕文件 1.srt 需编码为 test:1.srt → dGVzdDoxLnNydA==多字幕配置: 用逗号分隔多个编码值 示例: subtitle=aHR0cDovL2VuY29kZS5jaGFodW8uY29tLw,aHR0cDovL2VuY29kZS5jaGFodW8uY29tLw |
subtitleType |
否 | 字幕嵌入模式: • 0 (默认) - 系统自动识别模式• 1 - 软编码:观看者可开关字幕• 2 - 硬编码:永久嵌入视频画面 |
subtitleAttr |
否 | 自适应码率输出(m3u8)时软编码字幕的属性配置 格式: subtitleAttr=base64_encode(lang=xx1,name=yy1)• lang - 语言代码属性• name - 字幕名称或描述多属性配置: 用逗号分隔多个编码值 示例: subtitleAttr=base64_encode(lang=en,name=English),base64_encode(lang=es,name=Spanish)注意: 此参数 subtitleAttr数量必须与字幕文件数量严格匹配 |
saveas |
否 | 输出地址,采用URL安全的Base64编码格式,格式为:Urlsafe_Base64_Encode(bucket:savedfilename) |
本例将存储空间 vod-wcs-test001 中的 zimu.srt 字幕文件添加到 test.flv 视频,转换输出为MP4格式并保存为 test_file.mp4:
伪代码:
curl -v -X POST
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.flv)&fops=Urlsafe_Base64_Encode(avthumb/mp4/subtitle/Urlsafe_Base64_Encode(vod-wcs-test001:zimu.srt)|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_file.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
实际请求:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5mbHY=&fops=YXZ0aHVtYi9tcDQvc3VidGl0bGUvZG05a0xYZGpjeTEwWlhOME1EQXhPbnBwYlhVdWMzSjBDZz09fHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWm1sc1pTNXRjRFFLQ2c9PQ==&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"