无法获取HDMI IN的输入的相机视频流

固件类型:官方提供的固件
固件文件名称:AIO-3588Q_Buildroot_v1.0.6c_230129
固件下载地址:百度网盘
Log日志:v4l2-ctl_v4l2_app运行log.rar

问题描述:rk3588 编译sdk 自动集成的v4l2-ctl 工具可以获取到视频流;但是使用v4l2官方应用示例,无法正常获取到HDMI-IN的视频流,执行应用程序时出错。

步骤如下:

  1. 使用rk3588 编译sdk 自动集成的v4l2-ctl 工具可以获取到视频流, 视频流为 bgr1920-4.yuv 。可以正常播放。

  2. 由于需要应用到项目中,所以下载v4l2官方下载抓取HDMI_IN视频流的demo,capture.c编译的可执行程序, 执行时出错。
    执行流程如下:
    (1) open_device() 成功;
    (2) init_device() 执行到这里时出错;
    cap.capabilities = -2078273536

  3. 基于这个现象我们根据rk3588HDMI的文档,添加
    vim device/rockchip/rk3588/BoardConfig.mk
    BOARD_HDMI_IN_SUPPORT := true
    实际需要如此添加才能编译通过
    export RK_WIFIBT_CHIP=ALL_AP
    # Define BT ttySX
    export RK_WIFIBT_TTY=ttyS1
    # add HDMI_IN enable
    export BOARD_HDMI_IN_SUPPORT = true //add

但是这样设置完后,还是同样的错误。

请问:

  1. 是否需要在device/rockchip/rk3588/BoardConfig.mk文件中,添加BOARD_HDMI_IN_SUPPORT := true ? 添加的方式是否正确呢?

  2. 用v4l2官方示例获取视频流的方式是否可行呢?

tchip_askquestions
v4l2-ctl_v4l2_app运行log.rar (1.2 KB)

v4l2-ctl_v4l2_app运行log.rar是运行v4l2_app和使用v4l2-ctl 的日志记录

我用ffmpeg读取时也发现这个问题了,你可以使用v4l2库按读取摄像头的的流,再把视频流放到opencv中去,你可以查看opencv的源码“is no video capture device\n”这个错误语句打印位置

参数设置问题,

cw_firefly 发表于 2023-7-27 20:18
参数设置问题,

我也遇到问题,使用VIDIOC_ENUM_FMT返回的是invalid argument,请问你是怎么解决的,哪个参数设置不对?