专栏算法工具链板端opencv读取视频文件报错

板端opencv读取视频文件报错

已解决
默认317442024-07-07
78
11

用户您好,请详细描述您所遇到的问题,详细的描述有助于帮助我们快速定位,解决问题~Thanks♪(・ω・)ノ

1. 芯片型号:J5

我在板端尝试通过opencv读取视频文件报错,请问有什么解决办法?

读取视频代码段:

报错:

算法工具链
征程5
评论4
0/1000
  • kotei左文亮
    Lv.3

    路径是否正确 ,是否有权限读取, opencv 编译是否没有问题,文件是否过大? 这些都确定了没有

    2024-07-08
    0
    5
    • 默认31744回复kotei左文亮:

      1、路径正确,要是路径不正确,报错时没有VIDIOC_REQBUFS这行错误信息;

      2、加了读取权限依然报错,通过命令 chmod 666 lose.mp4增加了读写权限;

      3、opencv读图片可以;

      4、文件大小为23.3M。

      2024-07-08
      0
    • kotei左文亮回复默认31744:

      那检查一下OpenCV的版本和对应的本地视频读取的方法。这种不能读取视频的问题,与工具链关系应该不大。

      2024-07-09
      0
    • 默认31744回复kotei左文亮:

      我用的开发包中的opencv,horizon_j5_open_explorer_v1.1.68-py38_20231014\ddk\samples\ai_forward_view_sample\deps\aarch64\opencv

      2024-07-09
      0
    • kotei左文亮回复默认31744:

      换一个其它视频,试一试看能不能读取,有可能与视频的编解码器有关系。

      2024-07-10
      0
    • 默认31744回复kotei左文亮:

      换了avi格式的视频也是一样

      2024-07-11
      0
  • kotei左文亮
    Lv.3

    目前OE包里的opencv库主要用途是进行图像处理,没有集成视频操作相关的插件,是简化版本,您可以使用读取本地图片的形式。

    2024-07-11
    0
    1
    • 默认31744回复kotei左文亮:

      好的,谢谢

      2024-07-12
      0
  • lai
    Lv.1

    嵌入式OpenCV阉割了读取视频的功能吧?这种j3 j5平台,要么用平台硬解码读视频,或者第三方库

    2024-08-01
    0
    1
    • kotei左文亮回复lai:

      可以这么理解吧

      2024-08-01
      0
  • kotei左文亮
    Lv.3

    VIDIOC_REQBUFS:Inappropriate ioctl for device

    解释:

    这个错误信息通常表示你正在尝试对一个不支持 VIDIOC_REQBUFS 命令的设备执行输入输出控制(I/O control)调用。VIDIOC_REQBUFS 是一个视频设备的系统调用,用于请求缓冲区,这通常在视频捕获或视频输出的上下文中使用。如果你在对非视频设备(如普通文件、网络接口或其他非视频设备)使用这个命令,就会出现这个错误。

    解决方法:

    1. 确认你正在操作的是正确的设备文件(通常是 /dev/videoX 类型的文件,其中 X 是设备编号)。
    2. 确保你的程序或应用是为视频设备设计的,并且正确地使用了相关的API。

    3. 如果你正在编写代码,请检查你的代码中是否有对非视频设备文件执行 VIDIOC_REQBUFS 的地方。
    4. 如果你正在使用某个库或框架,确保你遵循了正确的使用步骤和方法。

    5. 如果你不确定设备是否支持 VIDIOC_REQBUFS 调用,可以查看设备的文档或使用 v4l2-compliance 测试来验证设备的功能。
    6. 如果你在编写设备驱动程序,确保你的驱动程序实现了必要的 VIDIOC_REQBUFS 处理函数。

    可以尝试换一种视频读取方法。


    2024-07-09
    0
    0