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变量来进行码率控制。
 
父主题: 配置参数