您好,使用的是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格式的命令? |
-
986.82 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1