lyphotoes 发表于 2023-2-14 14:28:24

关于iCore-3588Q开发板 麒麟系统下 HDMI输入采集问题请教

您好,使用的是iCore-3588Q 开发板并安装你们提供的最新的银河麒麟系统,参照(https://wiki.t-firefly.com/zh_CN/iCore-3588Q/usage_hdmiin.html#)HDMI-IN相关内容发现在麒麟系统下HDMI输入采集相关测试程序并不能正常采集视频数据,具体如下:
1. WIKI页面中说:“HDMI-IN 设备在内核中会被注册为 video 设备,生成的节点如:/dev/video8”,但是实际系统中使用 v4l2-utils 软件打印所有视频采集设备节点输出如下:

```shell
firefly@firefly-pc:~$ v4l2-ctl --list-devices
rk_hdmirx (fdee0000.hdmirx-controller):
    /dev/video11

rkcif (platform:rkcif-mipi-lvds2):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/video6
    /dev/video7
    /dev/video8
    /dev/video9
    /dev/video10

```

可以看到,对应的rk_hdmirx是/dev/video11 并不是wiki上说的/dev/video8
2. 使用v4l2-utils对/dev/video11调试如下:
```shell
firefly@firefly-pc:~$ v4l2-ctl -d /dev/video8-V
Format Video Capture Multiplanar:
    Width/Height      : 0/0
    Pixel Format      : ''
    Field             : Any
    Number of planes: 0
    Flags             :
    Colorspace      : Default
    Transfer Function : Default
    YCbCr/HSV Encoding: Default
    Quantization      : Default



firefly@firefly-pc:~$ v4l2-ctl -d /dev/video11-V
Format Video Capture Multiplanar:
    Width/Height      : 1920/1080
    Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
    Field             : None
    Number of planes: 1
    Flags             : premultiplied-alpha, 0x000000fe
    Colorspace      : Unknown (0x1003b964)
    Transfer Function : Unknown (0x000000b8)
    YCbCr/HSV Encoding: Unknown (0x000000ff)
    Quantization      : Default
    Plane 0         :
       Bytes per Line : 5760
       Size Image   : 6220800



firefly@firefly-pc:~$ v4l2-ctl --all --device /dev/video11
Driver Info:
    Driver name      : rk_hdmirx
    Card type      : rk_hdmirx
    Bus info         : fdee0000.hdmirx-controller
    Driver version   : 5.10.110
    Capabilities   : 0x84201000
      Video Capture Multiplanar
      Streaming
      Extended Pix Format
      Device Capabilities
    Device Caps      : 0x04201000
      Video Capture Multiplanar
      Streaming
      Extended Pix Format
Priority: 2
DV timings:
    Active width: 1920
    Active height: 1080
    Total width: 2200
    Total height: 1125
    Frame format: progressive
    Polarities: -vsync -hsync
    Pixelclock: 148496000 Hz (60.00 frames per second)
    Horizontal frontporch: 84
    Horizontal sync: 48
    Horizontal backporch: 148
    Vertical frontporch: 4
    Vertical sync: 5
    Vertical backporch: 36
    Standards:
    Flags:
DV timings capabilities:
    Minimum Width: 640
    Maximum Width: 4096
    Minimum Height: 480
    Maximum Height: 2160
    Minimum PClock: 20000000
    Maximum PClock: 600000000
    Standards: CTA-861
    Capabilities: Interlaced, Progressive
Format Video Capture Multiplanar:
    Width/Height      : 1920/1080
    Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
    Field             : None
    Number of planes: 1
    Flags             : premultiplied-alpha, 0x000000fe
    Colorspace      : SMPTE 240M
    Transfer Function : Unknown (0x000000b8)
    YCbCr/HSV Encoding: Unknown (0x000000ff)
    Quantization      : Default
    Plane 0         :
       Bytes per Line : 5760
       Size Image   : 6220800

Digital Video Controls

                  power_present 0x00a00964 (bitmask): max=0x00000001 default=0x00000000 value=0x00000001 flags=read-only

firefly@firefly-pc:~$ v4l2-ctl --list-formats-ext --device /dev/video11
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture Multiplanar

    : 'BGR3' (24-bit BGR 8-8-8)
    : 'NV24' (Y/CbCr 4:4:4)
    : 'NV16' (Y/CbCr 4:2:2)
    : 'NV12' (Y/CbCr 4:2:0)


```
-----------------》可以看到只打印支持的格式不打印分辨率信息


3. 参照wiki页面对HDMI-IN输入口抓取视频保存为YUV文件
--------- /dev/video11 ---------

```shell
firefly@firefly-pc:~$ v4l2-ctl-d /dev/video11 --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap=4--stream-skip=10--stream-to=/tmp/output_nv12.yuv --stream-count=1 --stream-poll
VIDIOC_S_FMT: failed: Invalid argument
<<<<<<<<<<<
firefly@firefly-pc:~$ v4l2-ctl-d /dev/video11 --set-fmt-video=width=1920,height=1080,pixelformat='BGR3' --stream-mmap=4--stream-skip=10--stream-to=/tmp/output_nv12.yuv --stream-count=1 --stream-poll
<<<<<<<<<<<

```
------------------》 可以看到当FMT是NV12的时候报错而BGR3的时候不报错。


最后问题:
1. 银河麒麟系统下的HDMI输入口对应的设备节点到底是video11还是video8?
2. 能否提供可运行在银河麒麟系统下HDMI输入视频采集NV12格式的命令?

799959745 发表于 2023-2-18 15:27:48

麒麟系统暂时下架了,也暂时不做支持

alian 发表于 2023-4-11 21:52:54

啥时候麒麟系统可以上架,我这边准备利用相应系统完成一些开发工作

799959745 发表于 2023-4-15 11:59:26

alian 发表于 2023-4-11 21:52
啥时候麒麟系统可以上架,我这边准备利用相应系统完成一些开发工作

发邮件到商务邮箱联系
页: [1]
查看完整版本: 关于iCore-3588Q开发板 麒麟系统下 HDMI输入采集问题请教