虎

0个粉丝

1

问答

0

专栏

1

资料

 发布于  2021-02-21 11:02:22
采纳率 0%
1个问答
3005

VI VPSS绑定缓存池的操作是怎么样的

问题如下:
硬件平台:Hi3531Dv100 四路BT1120视频输入,四路RTSP点播流输出
SDK版本:Hi3531D V100R001C02SPC040
现象:四路视频任何一路视频信号不正常时,花屏的内容会是其他三路视频的部分图像
问题实验:通过实验异常的BT1120信号只要能让Hi3531的VI产生中断,串屏现象就会产生。
结论分析:
1、可能是VI申请公共缓存池结束后释放缓存,但是缓存数据没有刷掉就被别的VI申请
2、也可能是硬件上的信号串入导致
尝试解决方法:通过将VI绑定到独立的缓存块

SDK手册中提到HI_MPI_VI_AttachVbPool 接口可以将VI绑定到新申请的缓存,SDK说明如下:
1、必须保证通道已调用 HI_MPI_VI_SetChnAttr 配置属性。
2、通道创建后,通道如果没有绑定 VB 池,可能申请 VB 失败,导致丢帧。
3、通道必须是物理通道,不包括级联扩展通道。
4、用户必须调用接口 HI_MPI_VB_CreatePool 创建一个视频缓存 VB 池,再通过调用
接口 HI_MPI_VI_AttachVbPool 把当前通道绑定到固定 PoolId 的 VB 池中。可以把
多个通道绑定到同一个 VB 池中,一个通道最多只能绑定两个不同的 VB 池。同
一个 VB 池不能重复绑定到同一个通道。
5、hVbPool 必须保证是已创建 VB 池的有效 PoolId。
6、此接口对用户图片无效,用户图片还是使用公共 VB。

我按照手册调用函数后
1、HI_MPI_VI_SetChnAttr 配置属性然后启动了VI(也尝试过不启动VI)
2、HI_MPI_VB_CreatePool 创建并且成功
3、HI_MPI_VI_AttachVbPool出错报错0xA0108009(HI_ERR_VI_NOT_PERM操作不允许)

有大佬能指教下这个绑定操作要如何进行吗?VPSS绑定VB也有同样的问题

我来回答
回答1个
时间排序
认可量排序

邓晓

20个粉丝

1

问答

0

专栏

19

资料

邓晓 2022-10-10 15:31:03
认可0

应该先调用attach,再调用start chn

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区