Firefly开源社区

打印 上一主题 下一主题

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

4

积分

0

威望

0

贡献

吃瓜的群众

积分
4

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

发表于 2023-2-14 14:28:24      浏览:5738 | 回复:3        打印      只看该作者   [复制链接] 楼主
  • 固件类型: 官方提供的固件
  • 固件文件名称: AIO-3588Q-KYLIN_Kylin-20230113_v1.0.6c_230129.7z
  • 固件下载地址: 官方下载地址
  • Log日志: syslog.zip
问题描述及复现步骤:
您好,使用的是iCore-3588Q 开发板并安装你们提供的最新的银河麒麟系统,参照[WIKI页面](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

    [0]: 'BGR3' (24-bit BGR 8-8-8)
    [1]: 'NV24' (Y/CbCr 4:4:4)
    [2]: 'NV16' (Y/CbCr 4:2:2)
    [3]: '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格式的命令?

syslog.zip

986.82 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2023-2-18 15:27:48        只看该作者  沙发
麒麟系统暂时下架了,也暂时不做支持
回复

使用道具 举报

6

积分

0

威望

0

贡献

吃瓜的群众

积分
6
发表于 2023-4-11 21:52:54        只看该作者  板凳
啥时候麒麟系统可以上架,我这边准备利用相应系统完成一些开发工作
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

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

发邮件到商务邮箱联系
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表