关于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格式的命令?
麒麟系统暂时下架了,也暂时不做支持 啥时候麒麟系统可以上架,我这边准备利用相应系统完成一些开发工作 alian 发表于 2023-4-11 21:52
啥时候麒麟系统可以上架,我这边准备利用相应系统完成一些开发工作
发邮件到商务邮箱联系
页:
[1]