倍速转码(avfast)
简介
倍速转码接口(avfast)加速对视频资源进行编码。
倍速转码不推荐用于转封装、转音频等低开销任务。建议用于时长大于25分钟。
使用限制
- 若输入文件过小,可能无法达到预期的加速效果,仍按照当前功能计费。
- 输出视频格式,只支持
mp4
和m3u8
。 - 请不要用于变帧率(Variable Frame Rate, 简称VFR)的文件,这种类型的文件不适合做视频倍速转码。
- 倍速转码仅支持视频转码和视频音频同时转码,其他的基础音视频转码接口(avthumb)提供的功能,比如水印、转封装等,暂不支持。
参数说明
avfast/<Format>
/vcodec/<VideoCodec>
/s/<Resolution>
/autoscale/<Autoscale>
/r/<FrameRate>
/hr/<HighFrameRate>
/vb/<VideoBitRate>
/crf/<Crf>
/gop/<GroupOfPictures>
/mosaic/<Mosaic>
/mosaicGravity/<MosaicGravity>
/mosaicOffsetX/<MosaicOffsetX>
/mosaicOffsetY/<MosaicOffsetY>
/mosaicSize/<MosaicSize>
/mosaicStart/<MosaicStart>
/mosaicDuration/<MosaicDuration>
/acodec/<AudioCodec>
/ab/<BitRate>
/ar/<SamplingRate>
/ac/<ChannelNum>
/cut/<Cut>
/scodec/<SubtitleCodec>
/avsmart/<0|1>
/smtEnhance/<Enhance>
/smtMaxvbr/<Maxvbr>
/smtQuality/<Quality>
参数 | 类别 | 必填 | 说明 |
---|---|---|---|
<Format> |
A/V | Y | 要转换输出的目标视频格式。 ● 输入和输出目前仅支持 mp4 和 m3u8 。 |
/vcodec/<VideoCodec> |
V | N | 视频编码方案,支持方案:libx264,libx265。 |
/s/<Resolution> |
V | N | 0、指定目标视频分辨率,格式为w xh ,vcodec 为libx265/libx264时,长边取值范围[20,8192],短边取值范围[20,4320]。vcodec 取其他值时长边范围[20,3840],短边取值范围[20,2160]。1、 w、h 都为空时,则和原视频保持一致。 2、 w 为空,h 不为空,则按h 的值对原视频等比例缩放。3、 w 不为空,h 为空时,则按w 的值对原视频等比例缩放。4、 w 、h 都不为空时,则根据w 、h 来缩放。 |
/autoscale/<Autoscale> |
V | N | 配合参数/s/使用,指定为2时,把视频按/s/中指定的比例添加黑框后再等比例缩放到/s/指定到矩形框内,指定为1时,把视频按原始比例缩放到/s/指定的矩形框内,0或者不指定会强制缩放到对应分辨率,可能造成视频变形。 |
/vb/<VideoBitRate> |
V | N | 视频比特率,单位:比特每秒(bit/s),常用视频比特率:128k 1.25m 5m 等。 默认情况下, 若指定码率大于原视频码率,则使用原视频码率进行转码, 参数末尾使用 ! 可以以强制使用指定码率转码, 如 128k! |
/r/<FrameRate> |
V | N | 1、视频帧率,每秒显示的帧数,单位:赫兹(Hz),常用帧率:24,25,30 等。 2、默认等于源视频帧率,HighFrameRate=0,取值[1,30],超出范围取25帧;HighFrameRate=1时允许高帧率,取值[1,60],超出范围取60帧。 |
/hr/<HighFrameRate> |
V | N | 视频高帧率,与r 配合使用,默认为 HighFrameRate=0 ,即常规帧率;HighFrameRate=1 表示保留高帧率。 |
/crf/<Crf> |
V | N | 1、设置 crf 值,为整数;vcodec 为 libx264 时取值为范围 [18,28],vcodec 为 libx265 时取值范围为 [23,33],默认取值为范围 [18,28]。 2、其值越小,输出视频质量越好,输出文件可能变大。其不可与 vb 共用 。 |
/gop/<GroupOfPictures> |
V | N | GOP参数,即视频流关键帧间的间隔帧数,取值[0,3000]的整数,默认为0表示采用指定视频编码格式的默认GOP值,例如libx264格式默认GOP值为250。GOP取值过小会影响视频编码压缩率,码率变大,过大会使图像群组的时长跨度过大,影响播放随机性,故一般建议采用默认值。 |
/sdr/<SDR> |
V | N | 是否启用HDR转SDR,设置为 “1” 时开启,默认关闭跟随源视频。当输入源为HDR时,设置为 “1” 时,转为 SDR 视频。 |
/mosaic/<Mosaic> |
V | N | 是否启用马赛克,固定为 1 ,且后续马赛克参数必须连续,可以支持多个马赛克输入,形式如/mosaic/1/.../mosaic/1/.../mosaic/1/... |
/mosaicGravity/<MosaicGravity> |
V | N | 打马赛克的位置,默认值为NorthEast |
/mosaicOffsetX/<MosaicOffsetX> |
V | N | 马赛克位置的相对横向偏移量 e.g. 200 , -50 |
/mosaicOffsetY/<MosaicOffsetY> |
V | N | 马赛克位置的相对纵向偏移量 e.g. 150 , -100 |
/mosaicSize/<MosaicSize> |
V | N | 马赛克区域大小 e.g 100x200 , 当mosaic/1 时必填 |
/mosaicStart/<MosaicStart> |
V | N | 马赛克起始时间 默认为0 e.g. 12.3 |
/mosaicDuration/<MosaicDuration> |
V | N | 马赛克持续时间 默认直到片尾 e.g. 21.3 |
/acodec/<AudioCodec> |
A | N | 音频编码方案,支持方案:libmp3lame,libfdk_aac,ac3。 |
/ab/<BitRate> |
A | N | 静态码率(CBR),单位:比特每秒(bit/s),常用码率:320k, 256k, 192k, 128k, 64k 等。 默认情况下, 若指定码率大于原视频码率,则使用原音频码率进行转码, 参数末尾使用 ! 可以以强制使用指定码率转码, 如 64k! |
/ar/<SamplingRate> |
A | N | 音频采样频率,单位:赫兹(Hz),常用音频采样频率有 8000, 11025、12000、16000、22050、24000、32000、44056、44100、47250、48000、50000、64000、88200、96000 等。其它特定限制请参考注意项。 |
/ac/<ChannelNum> |
A | N | 音频声道数量,单位:整数值,不大于输入源的声道数量。 1、acodec 为 libfdk_aac 时,支持的声道数量为 1、2、4、5、6、8;2、acodec 为 libmp3lame 时,支持的声道数量为 1、2;3、acodec 为 aac 时,支持的声道数量为 1、2、3、4、5、6、7、8;其他数值不合法。 |
/cut/<Cut> |
A/V | N | 从输入源中选择要去除的时间段。每个要去除的时间段由起止绝对时间表示,单位为 s,精确到 ms。例如,0.5,1.0 表示去除时间范围为 [0.5,1.0] 上的音视频; 0.5,1.0;1.5,2.0 表示去除时间范围为 [0.5,1.0] 、[1.5,2.0] 上的音视频。注意,其中时间范围不可有重叠,且需按起始点的位置顺序组织。参数值需要经过 urlsafe_base64_encode ,例如 cut/MC41LDEuMDsxLjUsMi4w 是合法的。 |
/scodec/<SubtitleCodec> |
S | N | 字幕编码方案,支持方案:mov_text。 |
/avsmart/<avsmart> |
V | N | 0、是否启用锐智转码,设置为 1 时开启。 1、支持使用H.264和H.265编码,默认使用H.264。 2、 使用 avsmart 的计费和 avthumb 有区别 ,价格参考。3、默认使用锐智转码2.0,锐智转码2.0 是基于 锐智转码1.0 的升级版本,1.0和2.0 支持的参数范围详情,建议使用锐智转码1.0的客户咨询客服进行升级。 |
/smtMaxvbr/<maxvbr> |
V | N | 开启 avsmart 时生效。最大平均码率, 单位:比特每秒(bit/s),常用视频比特率:128k 1.25m 5m 等。小于 1k 会默认使用 1k。暂时对 H.265 无效。 |
/smtQuality/<quality> |
V | N | 开启avsmart 时生效。瘦身时的转码质量等级,值越大,画质越好。整数,取值范围[-7,9]。 |
仅限M3U8格式的参数
常规处理参数与其他格式相同,下面的参数说明仅针对HLS/m3u8格式。
avfast/m3u8
/segtime/<SegSeconds>
/pattern/<savePattern>
参数 | 类别 | 必填 | 说明 |
---|---|---|---|
/segtime/<SegSeconds> |
A/V | N | 用于 HLS 自定义每一小段音/视频流的播放时间长度,取值范围为: 2 - 120 (秒),默认值为 10(单位:秒)。 |
/pattern/<pattern> |
A/V | N | 为各音视频流ts文件自定义命名。 因为一整段音视频流音视频切片后会生成一个M3U8播放列表和多个音视频流ts文件。 命名支持使用变量: 1. 可以使用 $(变量名) 或${变量名} 形式求值,魔法变量使用说明,参考 文件名变量 。2. 注意: $(count) 为必填项,必须存在的六位占位符数字串。示例: 输出的m3u8文件名为: output.m3u8 ,cmd为:avthumb/m3u8/noDomain/1/savePattern/JChzYXZlYXMua2V5UHJlZml4KSAkKGNvdW50KS50cw== ,其中 JChzYXZlYXMua2V5UHJlZml4KSAkKGNvdW50KS50cw== 是自定义 ts 文件名,$(saveas.keyPrefix) $(count).ts 的URL安全的Base64编码。最后得到类似:output000000.ts,output000001.ts,……,output000006.ts 命名的 ts 文件,跟输出的m3u8文件是关联的。 |
操作方式
您可以通过以下几种方式来创建任务:
方式一:使用任务触发器
-
对符合规则策略的上传文件自动触发
:在具体空间下,选择任务与工作流,进入任务触发器页面,点击新建 任务触发器;创建完成后,需要开启 上传触发开关,然后通过左侧文件管理或 API/SDK 上传文件到触发器指定的输入路径;将对符合规则策略的上传文件自动触发多媒体处理,并将结果文件保存到目标路径。
方式二:使用对象存储控制台
-
上传文件手动触发
:在具体空间下, 上传文件 时,指定工作流模板 。 -
指定文件手动触发
:有两种指定单个文件创建任务的入口-
第一个入口:在具体空间下,在文件列表中指定文件,在操作栏【更多】中点击【创建多媒体任务】。
注意:仅对音视频/gif动图/webp动图文件提供该操作。
-
第二个入口:在具体空间下,选择任务与工作流,进入任务管理页面,点击【新建任务】。
-
方式三:使用API
资源上传时手动触发
:可以在构造上传凭证时在上传策略中,设置相关字段,在资源文件上传时触发处理。对已有资源手动触发
:可以在调用 持久化数据处理(pfop) 时,设置相关字段,对已存在空间中的资源文件发起处理。
方式四:使用SDK
- 查看各语言 SDK 使用指南中
持久化数据处理
章节,可在七牛官方SDK 进行下载。
计费说明
定价参考 智能多媒体服务定价 。
- 如果不启用锐智转码,服务价格=倍速转码价格
- 如果同时启用锐智转码,即使用
avsmart
参数,服务价格= 倍速转码/启用 avsmart 的价格
转码费用计算公式
- 转码费用 = 输出文件时长 x 转码单价,价格单位: 元/分钟。
- 输出时长:对于每月转码输出文件,按分钟计费,累计总时长不足一分钟不计费
- 输出规格按输出视频分辨率的长边和短边属于输出规格划定的范围进行判定,以倍速转码输出HD (1920 x 1080) 规格为例:
- 输出视频的分辨率长边不大于1920且短边不大于1080,则属于HD输出规格。
- 输出视频的长边大于1920或输出视频的短边大于1080,该属于更高输出规格。
注意
七牛云的数据处理API均支持管道,通过管道操作符 |
实现串行处理,即将一个资源经由多个 <fop>
串行处理。
处理规格如下:
<fop1>|<fop2>|<fopN>
<fop>
(File Operation的缩写),表示数据处理指令及其所需要的参数。- 整个串行处理中,只要有处理成功的
fop
,就会有相应的计量计费。
文档反馈
(如有产品使用问题,请 提交工单)