---
title: 参数设置不合理，导致视频编码耗时长或编码失败-昇腾社区
description: 视频编码耗时长或编码失败。 运行编码应用进程后，使用dvpp的proc信息排查问题，步骤如下：登录运行编码应用进程的环境，在有读、写、执行权限的目录下执行msnpureport -a命令，导出proc日志信息。按导出时间，进入对应时间戳的目录下，打开“module_info\dev-os-0\dvpp\dvpp_proc.log”日志。proc信息中关键信息含义如下：EncStart表示启动编码的
keywords: VENC;视频编码;proc
url: https://www.hiascend.com/document/caselibrary/detail/dvppcase_0010
section: (其他)
---

# 参数设置不合理，导致视频编码耗时长或编码失败-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/dvppcase_0010
描述: 视频编码耗时长或编码失败。 运行编码应用进程后，使用dvpp的proc信息排查问题，步骤如下：登录运行编码应用进程的环境，在有读、写、执行权限的目录下执行msnpureport -a命令，导出proc日志信息。按导出时间，进入对应时间戳的目录下，打开“module_info\dev-os-0\dvpp\dvpp_proc.log”日志。proc信息中关键信息含义如下：EncStart表示启动编码的
关键词: VENC;视频编码;proc

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

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

参数设置不合理，导致视频编码耗时长或编码失败

参数设置不合理，导致视频编码耗时长或编码失败

2023/06/19

3k

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 官方 | 模型推理 | 应用开发AscendCL | VENC、视频编码、proc |

#### 问题现象描述

视频编码耗时长或编码失败。

运行编码应用进程后，使用dvpp的proc信息排查问题，步骤如下：登录运行编码应用进程的环境，在有读、写、执行权限的目录下执行msnpureport -a命令，导出proc日志信息。按导出时间，进入对应时间戳的目录下，打开“module_info\dev-os-0\dvpp\dvpp_proc.log”日志。proc信息中关键信息含义如下：EncStart表示启动编码的帧数，EndSuccessed表示成功编码的帧数，Lost和Disc（Disacrd）表示编码失败的帧数，Recode表示重编的次数。

- 日志中出现类似下面红框的信息：Lost和Disc的数量为0或很低，但是Recode的数量比较大，表示大部分帧能够编码成功，但是重编次数太多。

- 日志中出现类似下面红框的信息：Lost和Disc的数量比较大，同时Recode的数量也比较大，表示有比较多的帧编码失败了。

#### 原因分析

视频编码耗时长或编码失败可能与编码缓冲区内存大小buf_size参数的设置有关，原理如下：当实际的编码结果大小大于编码缓冲区中的可用内存大小buf_size时，编码模块会自动调整参数重编，减小编码结果数据大小。如果重编次数全部用完，但是编码结果大小依然大于编码缓冲区中的可用内存大小，此时编码模块会将该帧丢弃。

因此buf_size设置的太小，缓冲帧数少，导致出现重编的概率高，进而导致编码时延增加，帧率变低，性能下降，甚至出现丢帧概率高的情况。

#### 解决措施

视频编码场景下，创建视频编码通道时，合理设置每个通道的buf_size参数，以节省内存使用开销，推荐将buf_size设置为：原图宽*原图高*3/2后再64对齐，且取值范围：[32*1024, 1*1024*1024*1024]，以Byte为单位。否则可能出现以下异常情况：

- 反复重编，进而导致编码时延变长、性能下降、图像质量下降；
- 编码失败，获取不到编码结果。

本页内容

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