---
title: hi_mpi_venc_send_frame
description: "发送原始图像进行视频或图像编码。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1049.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1049.html
indexId: 0015704239c83fcdfda8745fa2a9cd17a0be0012dc7930a30f8168ce5d33c842105
---
# hi_mpi_venc_send_frame

#### 函数功能

发送原始图像进行视频或图像编码。


#### 约束说明

- 视频输入的原始图像大小必须与编码通道的大小保持一致；JPEGE输入的原始图像大小小于或等于编码通道的大小。
- 调用该接口发送图像，用户需要保证编码通道已创建且开启接收输入图片。
- 编码时，输入内存需要在调用  hi_mpi_venc_get_stream
接口获取结果之后才能进行释放。
- 视频编码，对输入、输出的约束请参见  VENC功能及约束说明
。
- 图像编码，对输入、输出的约束请参见  JPEGE功能及约束说明
。


#### 函数原型

hi_s32 hi_mpi_venc_send_frame(hi_venc_chn chn, const hi_video_frame_info *frame, hi_s32 milli_sec)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| chn | 输入 | 编码通道号。 Atlas 200/500 A2推理产品，编码通道号的取值范围：[0, 128)，JPEGE功能和VENC功能共用通道，且通道总数最多128。 |
| frame | 输入 | 原始图像信息的指针。 |
| milli\_sec | 输入 | 超时时间，单位是毫秒。 \-1：阻塞方式 0：非阻塞方式 >0：超时方式，配置具体的超时时间。超时时间受操作系统影响，一般偏差在操作系统的一个时间片内，例如，操作系统的一个时间片为4ms，用户设置的milli\_sec参数值为1，则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下，超时时间仍可能存在波动。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  VENC视频编码/JPEGE图片编码返回码


#### 参考资源

接口调用流程及示例，参见JPEGE图片编码、VENC视频编码。
