VideoEncodeConfig

功能

用于保存视频编码的相关参数。

结构定义

struct VideoEncodeConfig {
    uint32_t maxPicWidth = 4096;
    uint32_t maxPicHeight = 4096;
    uint32_t width = 1920;
    uint32_t height = 1080;
    // stream format renference acldvppStreamFormat
    StreamFormat outputVideoFormat = StreamFormat::H264_MAIN_LEVEL;
    // output format renference acldvppPixelFormat
    ImageFormat inputImageFormat = ImageFormat::YUV_SP_420;
    VideoEncodeCallBack callbackFunc = nullptr;
    uint32_t keyFrameInterval = 30;
    uint32_t srcRate = 30;
    uint32_t rcMode = 0;
    uint32_t maxBitRate = 300;
    uint32_t ipProp = 70;
};

参数说明

参数名

说明

maxPicWidth

编码通道最大预留宽度,默认值:4096,单位为像素,取值范围:[128, 4096],配置时需大于“width”,当前仅支持Atlas 推理系列产品

maxPicHeight

编码通道最大预留高度,默认值:4096,单位为像素,取值范围:[128, 4096],配置时需大于“height”,当前仅支持Atlas 推理系列产品

width

编码后视频帧数据的宽,默认值:1920,必须与待编码图片的宽(originalSize)一致。

  • Atlas 200/300/500 推理产品,取值范围:[128, 1920],输入的视频宽需要对齐16。
  • Atlas 200I/500 A2 推理产品,取值范围:[128, 1920],输入的视频宽需要对齐16。
  • Atlas 推理系列产品,取值范围:[128, 4096],输入的视频宽需要对齐2。

height

编码后视频帧数据的高,默认值:1080,必须与待编码图片的高(originalSize)一致。

  • Atlas 200/300/500 推理产品,取值范围:[128, 1920],输入的视频高需要对齐2。
  • Atlas 200I/500 A2 推理产品,取值范围:[128, 1920],输入的视频高需要对齐2。
  • Atlas 推理系列产品,取值范围:[128, 4096],输入的视频高需要对齐2。

outputVideoFormat

编码后输出的视频格式, 默认值:StreamFormat::H264_MAIN_LEVEL。

inputImageFormat

输入的图像格式,默认值:ImageFormat::YUV_SP_420。

  • Atlas 200/300/500 推理产品支持 YUV_SP_420、YVU_SP_420 格式。
  • Atlas 200I/500 A2 推理产品支持 YUV_SP_420、YVU_SP_420 格式。
  • Atlas 推理系列产品支持 YUV_SP_420、YVU_SP_420、RGB_888、BGR_888 格式。

callbackFunc

编码完成后的回调函数,不能为空指针。

keyFrameInterval

视频I帧间隔大小,默认为30,取值范围[1, 2000]。

srcRate

输入码流帧率,单位fps,默认为30。

  • Atlas 200/300/500 推理产品,取值范围:[1, 120]。
  • Atlas 200I/500 A2 推理产品,取值范围:[1, 120]。
  • Atlas 推理系列产品,取值范围:[1, 240]。

rcMode

指定码率控制模式,默认值为 0,取值如下:
  • 0:默认模式,Atlas 200/300/500 推理产品默认为CBR模式。Atlas 200I/500 A2 推理产品默认为CBR模式。Atlas 推理系列产品默认为VBR模式。
  • 1:变码率VBR模式。
  • 2:定码率CBR模式。

maxBitRate

输出码率,单位kbps,默认值为300。

  • Atlas 200/300/500 推理产品,取值范围:[10, 30000]。
  • Atlas 200I/500 A2 推理产品,取值范围:[10, 30000]。
  • Atlas 推理系列产品,取值范围:[2, 614400]。

ipProp

一个GOP内单个I帧bit数和单个P帧bit数的比例,默认值为70,取值范围[1, 100]。

推荐配置

以下为视频采集场景下推荐的参数配置,可以保证较好的视频编码质量,其他场景下请根据实际应用对应调整。

画质/分辨率

srcRate

keyFrameInterval

maxBitRate

4K

3840 * 2160/4096 * 2160

25或30

50或60

  • H.264: 8000 ~ 12000
  • H.265: 8000 ~ 12000

2K

2560 * 1440

25或30

50或60

  • H.264: 6000 ~ 10000
  • H.265: 6000 ~ 10000

1080P(蓝光)

1920 * 1080

25或30

50或60

  • H.264: 2000~6000
  • H.265: 1000~4000

720P(高清)

1280 * 720

25或30

50或60

  • H.264: 1000~3000
  • H.265: 800~2000

480P/D1_N(标清)

854 * 480/720 * 480

25或30

50或60

  • H.264: 600~1400
  • H.265: 300~700

576P/D1 (标清)

720 * 576

25或30

50或60

  • H.264: 600~1400
  • H.265: 300~700

270P(流畅)

480 * 270

25或30

50或60

-

CIF P/N

352 * 288/320 * 240

25或30

50或60

  • H.264: 250
  • H.265: 250