17. HDMI

三种常见hdmi接口对比图

未找到图片

LubanCat-RK3588系列板卡HDMI接口支持列表

HDMI接口支持列表

类别

LubanCat-4

LubanCat-5

HDMI接口

MINI-HDMI

标准HDMI

Lubancat-4上使用的HDMI接口是 MINI-HDMI ,支持热插拔 Lubancat-5上使用的HDMI接口是 标准HDMI ,支持热插拔

注意

HDMI和MINI-HDMI的接口大小和形状差距比较大, 所以他们之间是不能够直接连接在一起, 如果想要HDMI和MINI-HDMI连接使用, 需要购买HDMI转MINI-HDMI的转换口才能正常使用

17.1. 显示说明

17.1.1. LubanCat-4显示接口说明

未找到图片

支持视频输出的参数(默认状态下):3840x2160@60Hz

Lubancat-4的HDMI接口默认是开启的,接入hdmi接口后与屏幕配对成功后即可显示

Lubancat-4的HDMI接口理论上最大可以输出7680x4320@60Hz,但是实际上系统默认最大支持3840x2160@60Hz。

这是因为Lubancat-4要兼顾四屏异显,如果修改配置最大输出7680x4320@60Hz,就会损失一个屏幕的异显, 会导致最大只支持三屏异显。我们综合考量,默认使用了四屏异显的方案。

17.1.2. LubanCat-5显示接口说明

未找到图片

Lubancat-5有三个HDMI接口,立式标准HDMI接口为HDMI RX,横式标准HDMI接口为HDMI TX, 其中横式标准HDMI接口的上接口为HDMI TX0,下接口为HDMI TX0。

支持视频输出的参数(默认状态下):3840x2160@60Hz

Lubancat-5的HDMI接口默认是开启的,接入hdmi接口后与屏幕配对成功后即可显示

Lubancat-5的HDMI接口理论上最大可以输出7680x4320@60Hz,但是实际上系统默认最大支持3840x2160@60Hz。

这是因为Lubancat-5要兼顾四屏异显,如果修改配置最大输出7680x4320@60Hz,就会损失一个屏幕的异显, 会导致最大只支持三屏异显。我们综合考量,默认使用了四屏异显的方案。

17.1.3. LubanCat-5IO显示接口说明

未找到图片

Lubancat-5IO有三个HDMI接口,三个立式标准HDMI接口,分别是HDMI TX0、HDMI TX1、HDMI RX0

支持视频输出的参数(默认状态下):3840x2160@60Hz

Lubancat-5IO的HDMI接口默认是开启的,接入hdmi接口后与屏幕配对成功后即可显示

Lubancat-5IO的HDMI接口理论上最大可以输出7680x4320@60Hz,但是实际上系统默认最大支持3840x2160@60Hz。

这是因为Lubancat-5IO要兼顾四屏异显,如果修改配置最大输出7680x4320@60Hz,就会损失一个屏幕的异显, 会导致最大只支持三屏异显。我们综合考量,默认使用了四屏异显的方案。

17.2. HDMI-TX

板卡HDMI-TX是默认开启的,插入HDMI屏幕即可显示。

17.3. HDMI-RX

HDMI-RX接口具有以下特性:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
- 单端口HDMI 2.0 RX PHY,4通道,无边带通道
- HDMI 2.0模式下的数据速率支持
   从 6Gbps 到 3.4Gbps
- HDMI 1.4模式下的数据速率支持
   从 3.4Gbps 到 250Mbps
- HDMI 2.0视频格式
   配备TMDS扰码器,支持以RGB/YCbCr4:4:4或YCbCr4:2:2格式的2160p@60Hz视频
   支持YCbCr 4:2:0格式,以便在较低的HDMI链路速度下实现2160p@60Hz视频
- HDMI 1.4b视频格式
   支持所有高达1080p@120Hz的CEA-861-E视频格式
   HDMI 1.4b 4K x 2K视频格式(3840x2160p@24Hz/25Hz/30Hz以及4096x2160p@24Hz)
   HDMI 1.4b 3D视频模式,最高支持340 MHz(TMDS 时钟)
- 支持HDCP2.3和HDCP1.4

17.3.1. HDMI-RX接口测试

板卡HDMI-TX0连接HDMI屏幕,HDMI-RX连接HDMI输出设备。

以下使用HDMI-RX和另一块鲁班猫板卡HDMI-TX相连接的方式进行测试。

17.3.1.1. 查看输入设备接口

HDMI输入设备在系统注册的接口与摄像头类似,会注册生成/dev/videoX接口。

1
2
3
4
5
6
#查看设备
v4l2-ctl --list-devices

#信息输出如下
rk_hdmirx (fdee0000.hdmirx-controller):
    /dev/video0

带有hdmirx字眼的设备就是HDMI输入设备对应接口。

17.3.1.2. 查看格式和分辨率

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#查看设备信息
v4l2-ctl -d /dev/video0  -V -D

#信息输出如下
Driver Info:
        Driver name      : rk_hdmirx
        Card type        : rk_hdmirx
        Bus info         : fdee0000.hdmirx-controller
        Driver version   : 5.10.160
        Capabilities     : 0x84201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
Format Video Capture Multiplanar:
        Width/Height      : 1920/1080
        Pixel Format      : 'NV24' (Y/CbCr 4:4:4)
        Field             : None
        Number of planes  : 1
        Flags             : premultiplied-alpha, 0x000000fe
        Colorspace        : Rec. 709
        Transfer Function : Unknown (0x000000b8)
        YCbCr/HSV Encoding: xvYCC 709
        Quantization      : Default
        Plane 0           :
        Bytes per Line : 1920
        Size Image     : 6220800

可从输入信息可见输入设备分辨率为Width/Height:1920/1080,格式为Pixel Format:’NV24’。

17.3.1.3. 获取帧率

根据实际分辨率和格式修改以下命令。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#获取帧率
v4l2-ctl -d /dev/video0 \
--set-fmt-video=width=1920,height=1080,pixelformat='NV24' \
--stream-mmap=4 \
--set-selection=target=crop,flags=0,top=0,left=0,width=1920,height=1080 \
--stream-count=500

#信息输出如下
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.00 fps

17.3.1.4. 抓帧

根据实际分辨率和格式修改以下命令。

1
v4l2-ctl  -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='NV24' --stream-mmap=4  --stream-skip=10  --stream-to=/home/cat/hdmirx_test.yuv --stream-count=1 --stream-poll

输出的图片位于/home/cat/hdmirx_test.yuv

可通过ffplay预览图片

1
2
3
4
5
#如果是ssh需添加屏幕环境变量
export DISPLAY=:0

#根据实际分辨率和格式修改以下命令
ffplay -f rawvideo -video_size 1920x1080 -pixel_format  nv24 hdmirx_test.yuv

17.3.1.5. 预览

将HDMI-RX图像预览到桌面可执行以下命令,根据实际分辨率和格式修改:

1
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV24,width=1920,height=1080,framerate=60/1 ! videoconvert ! autovideosink

17.3.1.6. 录像

将HDMI-RX图像进行录制可执行以下命令,根据实际分辨率和格式修改:

1
v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='NV24' --stream-mmap=4 --set-selection=target=crop,flags=0,top=0,left=0,width=1920,height=1080 --stream-to=out.yuv

输出的out.yuv就是录制的视频,可通过以下ffplay命令预览

1
2
3
4
5
#如果是ssh需添加屏幕环境变量
export DISPLAY=:0

#根据实际分辨率和格式修改以下命令
ffplay -f rawvideo -video_size 1920x1080 -pixel_format  nv24 out.yuv

17.3.1.7. 桌面软件预览

可通过V4L2 Test Bench工具进行预览

../../_images/hdmi_rx_0.jpg

打开V4L2 Test Bench工具确认输入设备,然后点击左上角播放即可。

../../_images/hdmi_rx_1.jpg