---
title: 使用Atlas 推理系列产品时，VENC编码无输出-昇腾社区
description: VENC通道创建，发送帧都成功，但调用VENC获取码流的接口hi_mpi_venc_get_stream返回0xa008800e，获取不到编码后码流数据。
keywords: VENC;编码;无输出;失败;hi_mpi_venc_send_frame
url: https://www.hiascend.com/document/caselibrary/detail/topic_0000001372682161
section: (其他)
---

# 使用Atlas 推理系列产品时，VENC编码无输出-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/topic_0000001372682161
描述: VENC通道创建，发送帧都成功，但调用VENC获取码流的接口hi_mpi_venc_get_stream返回0xa008800e，获取不到编码后码流数据。
关键词: VENC;编码;无输出;失败;hi_mpi_venc_send_frame

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

使用Atlas 推理系列产品时，VENC编码无输出

使用Atlas 推理系列产品时，VENC编码无输出

2024/12/18

729

问题信息

| 问题来源 | 产品大类 | 关键字 |
| --- | --- | ---|
| 官方 | 模型推理 | VENC、编码、无输出、失败、hi_mpi_venc_send_frame |

#### 问题现象描述

- 业务场景：DVPP
- 适用处理器：Atlas 推理系列产品
- 处理器形态：EP、RC

- 问题现象：

VENC通道创建，帧都成功，但调用VENC获取码流的接口hi_mpi_venc_get_stream返回0xa008800e，获取不到编码后码流数据。

#### 原因分析

导致帧失败可能原因有以下：

- 用户传入的图像帧内存不是使用dvpp内存申请接口hi_mpi_dvpp_malloc申请的。
- 用户传入的图像帧内存和分辨率不匹配。
- OS内存管理出现问题。

#### 解决措施

针对分析的可能原因，请参考以下方法处理：

- 查看日志是否有出现看门狗相关的打印，如下所示，如果出现看门狗，基本可以确认是内存使用存在问题。

```
[Chnl]:chnl_watch_dog_timer_isr [Line]:1141 find VEDU_0  down,now reset it
[Chnl]:chnl_watch_dog_blackbox [Line]:1097 vpu_id is 0, venc watchdog fail enter blackbx
```
- 排查用户代码中输入图像帧的内存申请方式，如果不是使用dvpp内存申请接口hi_mpi_dvpp_malloc申请的，VENC芯片将无法正常访问该内存，导致编码无输出，需要修改为使用hi_mpi_dvpp_malloc申请输入内存。
- 排查输入图像帧的内存和分辨率是否不匹配，比如NV12或NV21格式的YUV，一帧图像大小为宽x高x1.5，如果实际送给VENC的内存大小比设置的分辨率宽x高x1.5小的话，会产生访问越界等不可预期的行为，也会导致编码无输出。需要保证申请的内存大小和实际设置的分辨率参数匹配。
- 如果以上排查都不存在问题，可能是OS的内存管理出现问题，您可以通过https://gitee.com/ascend网站提交issue获取帮助。

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
