鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

encodeParams

变量说明

编码参数。

变量数据定义

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
struct EncodeParams {
    uint32_t bitrate = 3000000;             // 码率
    uint32_t gopSize = 30;                  // I帧间隔
    ProfileType profile = BASELINE;         // 编码复杂度
    RCMode rcMode = CBR;                    // 流控模式
    uint32_t forceKeyFrame = 0;             // 在设置后第N帧强制生成I帧,0表示不生效
    bool interpolation = false;             // 补帧开关
    uint32_t crf = 34;                      // crf码控级别
    uint32_t maxCrfRate = 20000000;         // crf码率峰值
    int32_t vbvBufferSize = 1000;           // crf码率缓冲区大小
    uint32_t streamWidth = 720;             // 出流分辨率宽
    uint32_t streamHeight = 1280;           // 出流分辨率高
} __attribute__((packed));

enum ProfileType : uint32_t {
    BASELINE,
    MAIN,
    HIGH
};

enum RCMode : uint32_t  {
    ABR,                       // 平均码率,暂不支持
    CRF,                       // 画质优先,暂不支持
    CBR,                       // 恒定码率
    CAPPED_CRF,                // 画质优先,但限制码率
    RC_MODE_MAX

约束说明

流控模式暂时只支持CBR恒定码率模式与CAPPED_CRF(画质优先,但限制码率)模式。

对应属性字段名称

字段描述

取值范围

默认值

bitrate

编码码率。

  • AMD,一般为W6800:500000~50000000
  • DC1000:500000~30000000

单位bps

3000000

gopSize

编码GOP大小配置项。

30~3000

30

profile

编码profile配置项(H.265编码仅支持配置main)。

  • 0:BASELINE(仅H264支持)
  • 1:MAIN
  • 2:HIGH(仅H264支持)

BASELINE

rcMode

码控模式配置项。

  • 0:ABR平均码率模式(暂不支持)
  • 1:CRF画质优先模式(暂不支持)
  • 2:CBR恒定码率模式
  • 3:CAPPED_CRF画质优先并限制最大码率模式(DC1000暂不支持)

2:CBR恒定码率模式

forceKeyFrame

编码强制I帧配置项。

  • 0:不触发编码强制I帧
  • 1:在下一帧强制生成I帧

0:默认不触发编码强制I帧

interpolation

补帧参数项。

  • false:关闭补帧
  • true:开启补帧

false:关闭补帧

crf

crf码控级别。

0-51

34

maxCrfRate

crf码率峰值。

500000~100000000

20000000

vbvBufferSize

crf码率缓冲区大小。

  • -1:自动模式
  • 0:禁用峰值比特率限制
  • [min_vbv_size ~ 3000 ]:

    min_vbv_size = ceil(1000 / fps) +1且min_vbv_size >= 10

1000

streamWidth

出流帧宽度。

[240, 云手机渲染分辨率],并且出流帧宽度需要为8的倍数。

720

streamHeight

出流帧高度。

[240, 云手机渲染分辨率],并且出流帧高度需要为8的倍数。

1080

  1. 码控模式(RCMode)仅支持固定码率模式(CBR)与画质优先并限制最大码率(CAPPED_CRF),Quadra编码卡支持两种码控模式;而DC1000环境,仅支持固定码率模式(CBR),不支持画质优先并限制最大码率(CAPPED_CRF)。
  2. 码控模式(RCMode)设置为固定码率模式(CBR),可通过bitrate变量来指定固定码率的数值;而码控模式(RCMode)设置为画质优先并限制最大码率(CAPPED_CRF)时,会使用crf、maxCrfRate和vbvBufferSize变量来进行码率控制。