实时转码(avcvt)
本文主要介绍实时转码(边转边播)功能。
简介
传统离线转码需要对整个视频进行解码和编码后才能访问处理后的视频,这是一种异步处理模式,需要用户的等待时间较长。然而,实时转码技术可以即播即转、秒级开播,为用户提供全新的转码体验。
功能优势
- 耗时极短:无需等待异步转码完成,即播即转、可以在极短时间内播放实时转码后的视频
- 使用/对接简单:无需接收离线转码任务完成回调、开发复杂业务逻辑,接入简单
- 节约转码成本:只在视频访问时才触发转码处理、非必要不转码,减少转码量
使用限制
- 不支持av1编码格式的视频输入
- 不支持H.265 HDR 编码的视频输入
- 输入封装格式暂时仅支持 mp4、mov,输出封装格式暂时仅支持 m3u8
- 输出分辨率不超过2K(2560×1440)
- 不支持管道命令
- 目前仅限国内华东-浙江、华南-广东、华北-河北区域使用
参数说明
注意:接口规格不含任何空格与换行符,下列内容经过格式化以便阅读。
avcvt/3/<Format>
/segtime/<SegSeconds>
/t/<Duration>
/vcodec/<VideoCodec>
/vb/<VideoBitRate>
/r/<FrameRate>
/s/<Resolution>
/acodec/<AudioCodec>
/ab/<AudioBitRate>
/ar/<SamlingRate>
/output/<Output>
分类 | 参数名 | 类别 | 必填 | 说明 |
---|---|---|---|---|
封装格式 | <Format> |
A/V | Y | 封装格式,只支持输出 m3u8 流(HLS协议) |
切片时长 | segtime/<SegSeconds> |
A/V | N | 音视频切片时长,单位为秒(s),精确到毫秒(ms),取值范围为 2-120 秒,默认为10秒。 |
截取长度 | /t/<Duration> |
A/V | N | 指定音视频截取的长度,单位:秒,支持精确到毫秒,例如1.500s。用于截取(0,Duration] 的音视频流进行切片。 |
视频编码格式 | /vcodec/<VideoCodec> |
V | N | 视频编码格式,支持libx264,libx265等,默认采用libx264 |
视频码率 | /vb/<VideoBitRate> |
V | N | 1、视频码率,单位:比特每秒(bit/s),常用视频码率:128k,1.25m,5m等。 2、默认等于源视频码率,在不改变视频编码格式时,若指定码率大于原视频码率,则使用原视频码率进行转码。 3、参数末尾使用 ! ,如 128k!,可以强制使用指定码率转码, 使平均码率不高于指定值,会牺牲一些视频播放质量;不使用!强制,会在码率与视频质量之间自动平衡。 |
视频帧率 | /r/<FrameRate> |
V | N | 1、视频帧率,每秒显示的帧数,单位:赫兹(Hz),常用帧率:24,25,30 等。 2、默认等于源视频帧率,取值范围[1,30]。 |
分辨率 | /s/<Resolution> |
V | N | 1、指定目标视频分辨率,格式为宽 x 高,长边范围[20,2560],短边取值范围[20,1440]。 2、w、h 都为空时,则和原视频保持一致。 3、w为空,h不为空,则按h的值对原视频等比例缩放。 4、w不为空,h为空时,则按w的值对原视频等比例缩放。 5、w、h都不为空时,则根据w、h来缩放。 |
音频编码格式 | /acodec/<AudioCodec> |
A | N | 音频编码格式,支持:libmp3lame,libfdk_aac等,默认采用libfdk_aac。 |
音频码率 | /ab/<AudioBitRate> |
A | N | 1、音频码率,单位:比特每秒(bit/s),常用码率:64k,128k,192k,256k,320k等。 2、默认等于源音频码率,在不改变音频编码格式时,若指定码率大于原音频码率,则使用原音频码率进行转码。 3、参数末尾使用 !, 可以以强制使用指定码率转码, 如 64k! |
音频采样频率 | /ar/<AudioSamplingRate> |
V | N | 音频采样频率,单位:赫兹(Hz),常用音频采样频率有 8000, 11025、12000、16000、22050、24000、32000、44056、44100、47250、48000、50000、64000、88200、96000 等。默认等于源音频采样频率。 |
m3u8 文件名 | /output/<Output> |
A/V | N | 指定 m3u8 文件存储时的文件名(url 安全的 base64 编码)。ts 文件名为 <m3u8_name>~/$(count).ts,其中 $(count) 是六位的占位符数字串。比如 m3u8 是 aaa.m3u8,则 ts 文件名为 aaa.m3u8~/000000.ts、aaa.m3u8~/000001.ts 。 |
操作方式
您可以通过以下两种方式对视频文件进行实时转码处理:
方式一:视频访问链接?参数
使用示例
- 原始视频链接
http://aaa.com/sample.mp4
,转码为标清 720P 的 m3u8 文件 - 将原始视频链接使用
?
拼接实时转码参数,即http://aaa.com/sample.mp4?avcvt/3/format/m3u8
便可直接获取 720P 的 m3u8 视频文件。
方式二:Kodo 支持通过控制台设置视频样式
支持的操作方式 | 参考文档 |
---|---|
控制台 | 设置视频样式 |
视频样式
实时转码的使用方式和图片处理类似。您可以将视频实时转码的参数保存成视频样式,作为视频文件访问时触发实时处理的模板。
视频样式访问链接格式:视频访问链接 + 分隔符 + 样式名称
- 视频样式,是视频实时处理参数组合的模板。
- 样式分隔符,是用于连接资源链接和视频样式的特殊符号。
- 服务处理访问请求时,会优先定位到链接中的分隔符、并尝试以分隔符之后的内容去匹配视频样式、触发视频处理。
使用示例
- 原始视频链接
http://aaa.com/sample.mp4
,转码为标清 720P 的 m3u8 文件 - 视频样式命名为
sd.m3u8
,并指定样式分隔符为-
。 - 将原始视频链接使用样式分隔符
-
拼接视频样式名sd.m3u8
,即访问http://aaa.com/sample.mp4-sd.m3u8
便可直接获得 720P 的 m3u8 视频文件。
计费说明
按输出时长计量计费,服务定价=实时转码价格,定价参考 智能多媒体服务定价。
文档反馈
(如有产品使用问题,请 提交工单)