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 |
编码码率。 |
单位bps |
3000000 |
gopSize |
编码GOP大小配置项。 |
30~3000 |
30 |
profile |
编码profile配置项(H.265编码仅支持配置main)。 |
|
BASELINE |
rcMode |
码控模式配置项。 |
|
2:CBR恒定码率模式 |
forceKeyFrame |
编码强制I帧配置项。 |
|
0:默认不触发编码强制I帧 |
interpolation |
补帧参数项。 |
|
false:关闭补帧 |
crf |
crf码控级别。 |
0-51 |
34 |
maxCrfRate |
crf码率峰值。 |
500000~100000000 |
20000000 |
vbvBufferSize |
crf码率缓冲区大小。 |
1000 |
|
streamWidth |
出流帧宽度。 |
[240, 云手机渲染分辨率],并且出流帧宽度需要为8的倍数。 |
720 |
streamHeight |
出流帧高度。 |
[240, 云手机渲染分辨率],并且出流帧高度需要为8的倍数。 |
1080 |

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