mxpi_videoencoder

功能描述

用于视频编码。

同步/异步(status)

异步

约束限制

  • 输入图像的最大分辨率:
    • Atlas 200/300/500 推理产品为1920 * 1920。
    • Atlas 200I/500 A2 推理产品为1920 * 1920。
    • Atlas 推理系列产品为4096 * 4096。
  • 输入图像的最小分辨率:128 * 128。
  • 输入图像格式:当前只支持YUV420SP NV12/YUV420SP NV21格式。
  • 输出码流格式:H264 MP 和 H265 MP。
  • 输出内存:不需要用户管理输出内存,由系统管理内存。
  • Atlas 推理系列产品上,对于H.264格式的码流,最大分辨率的乘积不超过4096 * 2304。

插件基类(factory)

mxpi_videoencoder

输入和输出

  • 输入:buffer(数据类型“MxpiBuffer”)、metadata(数据类型“MxpiVisionList”)。
  • 输出:buffer(数据类型“MxpiBuffer”)。

端口格式(caps)

  • 静态输入:{"ANY"}。
  • 静态输出:{"ANY"}。

属性

请参见表1

表1 mxpi_videoencoder插件的属性

属性名

描述

是否为必选项

是否可修改

iFrameInterval

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

imageHeight

输入图像高度,默认为1080。

  • Atlas 200/300/500 推理产品取值范围[128, 1920]。
  • Atlas 200I/500 A2 推理产品取值范围[128, 1920]。
  • Atlas 推理系列产品取值范围[128, 4096]。

imageWidth

输入图像宽度,默认为1920。

  • Atlas 200/300/500 推理产品取值范围[128, 1920]。
  • Atlas 200I/500 A2 推理产品取值范围[128, 1920]。
  • Atlas 推理系列产品取值范围[128, 4096]。

fps

是否打印视频编码帧率,默认为0,只能填0或者1。

  • 0:不打印帧率。
  • 1:打印帧率。

dataSource

输入数据对应索引(通常情况下为上游元件名称),默认为上游插件对应输出端口的key值。

inputFormat

输入的图像格式,默认是YUV420SP_NV12,暂时只能填YUV420SP_NV12或者YUV420SP_NV21。

outputFormat

输出的码流格式,默认是H264,只能填H264或者H265。

vencChannelId

码流的通道号,VENC和JPEGE共用通道,默认是0。

  • Atlas 200/300/500 推理产品上通道号由系统分配,无需设置该参数。
  • Atlas 200I/500 A2 推理产品上通道号由系统分配,无需设置该参数。
  • Atlas 推理系列产品上,取值范围[0, 127]。

rcMode

指定码率控制模式,默认值2,取值如下:

  • 1:变码率VBR模式。
  • 0,2:定码率CBR模式。

srcRate

输入码流帧率,单位fps,默认为30,取值范围[1, 120]。

maxBitRate

输出码率,单位kbps,默认值为300,取值范围[10, 30000]。

ipProp

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

说明:

Atlas 推理系列产品不支持设置该属性。

frameReleaseTimeOut

视频帧保存在内存中的最长时间,默认为5秒,取值范围[1,10]。用户需根据自身业务调整,超时时间越长,视频质量越高,但占用内存会更大,性能会降低。