ZCU106 LLP2超低延迟VCU HDMI输入输出教程(AMD官方)
ZCU106 petalinux2022.2 VCU_TRD AMD官方资料
将下面镜像拷贝到FAT32格式SD卡中,加入ZCU106开发板上电运行。
设置CRTC显示器为4kp60格式:
modetest -D a00c0000.v_mix -s 41:3840x2160-60@BG24
超低延迟显示指令
vcu_gst_app /media/card/config/1-4kp60/Display/Single_4kp60_HEVC_25_Mbps.cfg
查看HDMI输入源支持的格式
media-ctl -p -d /dev/media0
4K60输入源显示信息
root@zcu106vcullp2xv20nv16:~# media-ctl -p -d /dev/media0
Media controller API version 5.15.36
Media device information
------------------------
driver xilinx-video
model Xilinx Video Composite Device
serial
bus info
hw revision 0x0
driver version 5.15.36
Device topology
- entity 1: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "amba_pl@0:axis_broadcasterhdmi_":1 [ENABLED]
- entity 5: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "amba_pl@0:axis_broadcasterhdmi_":2 [ENABLED]
- entity 9: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "amba_pl@0:axis_broadcasterhdmi_":3 [ENABLED]
- entity 13: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Sink
<- "amba_pl@0:axis_broadcasterhdmi_":4 [ENABLED]
- entity 17: amba_pl@0:axis_broadcasterhdmi_ (5 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[fmt:UYVY10_1X20/3840x2160 field:none]
<- "a0040000.v_proc_ss":1 [ENABLED]
pad1: Source
[fmt:UYVY10_1X20/3840x2160 field:none]
-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
pad2: Source
[fmt:UYVY10_1X20/3840x2160 field:none]
-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
pad3: Source
[fmt:UYVY10_1X20/3840x2160 field:none]
-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
pad4: Source
[fmt:UYVY10_1X20/3840x2160 field:none]
-> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED]
- entity 23: a0040000.v_proc_ss (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[fmt:RBG888_1X24/3840x2160 field:none]
<- "a0000000.v_hdmi_rx_ss":0 [ENABLED]
pad1: Source
[fmt:UYVY10_1X20/3840x2160 field:none]
-> "amba_pl@0:axis_broadcasterhdmi_":0 [ENABLED]
- entity 26: a0000000.v_hdmi_rx_ss (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:RBG888_1X24/3840x2160 field:none]
[dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
[dv.detect:BT.656/1120 3840x2160p60 (4400x2250) stds:CEA-861 flags:CE-video]
-> "a0040000.v_proc_ss":0 [ENABLED]
设置HDMI输入源为XV20格式
media-ctl -d /dev/media0 -V "\"a0040000.v_proc_ss\":0 [fmt:RBG888_1X24/3840x2160 field:none]"
media-ctl -d /dev/media0 -V "\"a0040000.v_proc_ss\":1 [fmt:UYVY10_1X20/3840x2160 field:none]"
gst HDMI输出stream XV20 LLP2 超低延迟控制指令
gst-launch-1.0 -v v4l2src io-mode=dmabuf device=/dev/video0 ! video/x-raw\(memory:XLNXLL\), width=3840, height=2160, format=NV16_10LE32, framerate=60/1 ! omxh265enc num-slices=8 control-rate=low-latency gop-mode=low-delay-p target-bitrate=25000 cpb-size=500 gdr-mode=horizontal initial-delay=250 periodicity-idr=240 filler-data=0 prefetch-buffer=true ! video/x-h265, alignment=nal ! queue max-size-buffers=0 ! omxh265dec low-latency=1 internal-entropy-buffers=5 ! video/x-raw\(memory:XLNXLL\) ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false fps-update-interval=1000 video-sink="kmssink bus-id="a00c0000.v_mix" hold-extra-sample=1 plane-id=34 show-preroll-frame=false sync=true" sync=true -v
UDP网络推流指令
gst-launch-1.0 -v v4l2src device=/dev/video0 io-mode=4 ! video/x-raw,format=NV16_10LE32,width=3840,height=2160,framerate=60/1 ! omxh265enc num-slices=8 periodicity-idr=240 cpb-size=500 gdr-mode=horizontal initial-delay=250 control-rate=low-latency prefetch-buffer=true target-bitrate=25000 gop-mode=low-delay-p ! video/x-h265, alignment=au ! mpegtsmux alignment=7 name=mux ! udpsink buffer-size=60000000 host=192.168.56.50 port=5004 sync=true name=net