17. HDMI¶
三种常见hdmi接口对比图

LubanCat-RK3588系列板卡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
|