human: 如何处理七牛云的智能多媒体服务倍速转码（avfast）

gpt: [智能多媒体服务](https://developer.qiniu.com/dora) > API 文档 > 音视频处理 >倍速转码（avfast）

#  倍速转码（avfast）

最近更新时间: 2024-06-28 17:21:59

# **简介**

倍速转码接口(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`x`h`，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 有区别`，[价格参考
__](https://www.qiniu.com/prices/dora?source=dora)。  
3、默认使用锐智转码2.0，[锐智转码2.0 __](https://www.qiniu.com/products/avsmart)是基于 锐智转码1.0
的升级版本，1.0和2.0 支持的[参数范围详情
__](https://developer.qiniu.com/dora/api/12158/1-0-and-2-0-perceptive-
transcoding-parameter-scope-of-support)，建议使用锐智转码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/<Pattern>
    

参数 | 说明  
---|---  
`/segtime/<SegSeconds>` | 用于 HLS 自定义每一小段音/视频流的播放时间长度，取值范围为: 2 - 120 （秒），默认值为 10（单位:秒）。  
`/pattern/<Pattern>` | 结果文件 key 格式的 base64_urlsafe 编码，$(count) 作为第几个文件输出的魔法变量（6个占位符，%06d）必须存在。**注意** ，使用该参数指定的输出文件的文件名后缀如果不是输出文件的真实格式，可能使某些媒体播放器不兼容。  
  
# **操作方式**

可以通过 [持久化处理 __](https://developer.qiniu.com/dora/1291/persistent-data-
processing-pfop)的方式来调用：

  * `资源上传时自动触发`：可以在上传时指定[persistentOps](https://developer.qiniu.com/kodo/manual/put-policy#put-policy-persistent-ops-explanation)参数
  * `对已有资源手动手动触发`：调用[pfop](https://developer.qiniu.com/dora/5777/avfast)命令

# **计费说明**

定价参考 [智能多媒体服务定价 __](https://www.qiniu.com/prices/dora)。

  * 如果不启用锐智转码，服务价格=倍速转码价格
  * 如果同时启用锐智转码，即使用 `avsmart ` 参数，服务价格= 倍速转码/启用 avsmart 的价格

#### **转码费用计算公式**

  * 转码费用 = 输出文件时长 x 转码单价，价格单位： 元／分钟。
  * 输出时长：对于每月转码输出文件，按分钟计费，累计总时长不足一分钟不计费
  * 输出规格按输出视频分辨率的长边和短边属于输出规格划定的范围进行判定，以倍速转码输出HD (1920 x 1080) 规格为例： 
    * 输出视频的分辨率长边不大于1920且短边不大于1080，则属于HD输出规格。
    * 输出视频的长边大于1920或输出视频的短边大于1080，该属于更高输出规格。

#### **注意**

七牛云的数据处理API均支持[管道 __](https://developer.qiniu.com/dora/8273/the-
pipe)，通过管道操作符`|` 实现串行处理，即将一个资源经由多个 `<fop>` 串行处理。

处理规格如下：

    
    
    <fop1>|<fop2>
    

  * `<fop>` (File Operation的缩写)，表示数据处理指令及其所需要的参数。
  * 整个串行处理成功，则最终 fop1和fop2 都会计量计费。

以上内容是否对您有帮助？