Encoder H265 编码报错

  1. 系统软件版本:2.0.0

  2. 问题涉及的技术领域: 驱动

  3. 问题描述:

  4. 你好! 我正在尝试运行官方的python demo来调用Encoder进行H265编码,但是当我运行后前30帧是没有报错的,30帧之后开始出现了如下报错。

  5. 我所使用的是这里的参考代码:https://developer.horizon.ai/api/v1/fileData/documents\_pi/Python\_Develop/python\_vio.html#encoder,我将其中的output.img 改为了本地的一张nv12格式文件。

  6. 我所运行的代码及完整log在附件中。

  7. 复现概率:必现

  8. 提供必要的问题日志:

。。。。。。

encode write image success count: 27

Encoder encode_file return:0

encode write image success count: 28

Encoder encode_file return:0

encode write image success count: 29

Encoder encode_file return:0

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.46839][6461:6466][VideoEncoder] Bitstream buffer is too small!

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.46845][6461:6466][COMPONENT] Component wave_encoder will be terminated.

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.46858][6461:6461][TASK] It’s not allowd to do this operation. Please check the task state 6.

[ERROR][“venc”][video/src/hb_venc.c:102] [6498.468615]MCErrC_2_HBVencErrC[102]: [HB_VENC] MCErrC_2_HBVencErrC:102 Not Support Venc Error Code(-268435438)!

[ERROR][“venc”][video/src/hb_venc.c:1192] [6498.468658]HB_VENC_ReleaseStream[1192]: [HB_VENC] HB_VENC_ReleaseStream:1192 Failed VeChn = 0 s32Ret = -268958728

2023/08/04 23:37:54.743 ERROR [x3_venc_put_frame][0692]HB_VENC_ReleaseStream error!!!

encode write image success count: 30

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.47036][6461:6461][TASK] It’s not allowd to do this operation. Please check the task state 6.

[ERROR][“venc”][video/src/hb_venc.c:102] [6498.470445]MCErrC_2_HBVencErrC[102]: [HB_VENC] MCErrC_2_HBVencErrC:102 Not Support Venc Error Code(-268435438)!

[ERROR][“venc”][video/src/hb_venc.c:1253] [6498.470475]HB_VENC_SendFrame[1253]: [HB_VENC] HB_VENC_SendFrame:1253 Failed VeChn = 0 s32Ret = -268958728

2023/08/04 23:37:54.745 ERROR [x3_venc_file][0641]HB_VENC_SendFrame error!!!

hb_vp_deinit success

Encoder encode_file return:-1

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.47132][6461:6461][TASK] It’s not allowd to do this operation. Please check the task state 6.

[ERROR][“venc”][video/src/hb_venc.c:102] [6498.471374]MCErrC_2_HBVencErrC[102]: [HB_VENC] MCErrC_2_HBVencErrC:102 Not Support Venc Error Code(-268435438)!

[ERROR][“venc”][video/src/hb_venc.c:982] [6498.471392]HB_VENC_GetStream[982]: [HB_VENC] HB_VENC_GetStream:982 Failed VeChn = 0 s32Ret = -268958728

2023/08/04 23:37:54.746 ERROR [x3_venc_get_frame][0668]HB_VENC_GetStream error!!!

encode write image failed count: 31

[ERROR][“multimedia”][src/vdi/linux/vdi_osal.c:174] [ERROR][6498.47498][6461:6461][TASK] It’s not allowd to do this operation. Please check the task state 6.

[ERROR][“venc”][video/src/hb_venc.c:102] [6498.475051]MCErrC_2_HBVencErrC[102]: [HB_VENC] MCErrC_2_HBVencErrC:102 Not Support Venc Error Code(-268435438)!

[ERROR][“venc”][video/src/hb_venc.c:1253] [6498.475073]HB_VENC_SendFrame[1253]: [HB_VENC] HB_VENC_SendFrame:1253 Failed VeChn = 0 s32Ret = -268958728

2023/08/04 23:37:54.750 ERROR [x3_venc_file][0641]HB_VENC_SendFrame error!!!

。。。。。。

  1. 软件上是否有做自定义修改:无

encoder.py-
log.txt-
nv12_output.raw

先试试改小bits

enc.encode(0, 2, 1600, 1200)

改成

enc.encode(0, 2, 1600, 1200, 4096)-
或者-
enc.encode(0, 2, 1600, 1200, 2048)-

看看是不是还报错。