Zynq UltraScale+ MPSoC VCU TRD 2019.2 - SDI Video Display
...
Table of Contents
Table of Contents | ||
---|---|---|
|
1 Overview
The primary goal of this Design is to demonstrate the capabilities of VCU hard block present in Zynq UltraScale+ EV devices. The TRD will serve as a platform to tune the performance parameters of VCU and arrive at optimal configurations for encoder and decoder blocks with the streaming use case where bandwidth plays a vital role.
This design supports the following video interfaces:
Sources:
- File source (SD card, USB storage, SATA hard disk).
- Stream-In from network or internet.
Sinks:
- SDI-Tx display pipeline implemented in the PL.
VCU Codec:
- Video Encode/Decode capability using VCU hard block in PL
- AVC/HEVC encoding.
- Encoder/decoder parameter configuration.
Streaming Interfaces:
- 1G Ethernet on PS
Video format:
- XV20
Supported Features:
The table below provides the supported encoder feature in this release.
Resolution | Command Line | |
Single Stream | Multi-stream | |
4kp60 | √ | NA |
4kp30 | √ | NA |
1080p60 | √ | NA |
√ - Supported
NA – Not applicable
x – Not supported
Deliverables:
Pipeline | Input source | Output Type | Resolution | Video encode/Decoder type | Deliverables |
Playback pipeline | File Source/ Stream-In | SDI-Tx | 4K/1080p | HEVC/AVC | Playback of the local-file/stream-in with video decoded using VCU and display on SDI-Tx. |
The below figure shows the SDI Video Display design hardware block diagram.
The below figure shows the SDI Video Display design software block diagram.
1.1 Board Setup
Refer below link for Board Setup
...
4 Appendix B
- Run the following gst-launch-1.0 command for file playback using the GStreamer pipeline.
Code Block | ||
---|---|---|
| ||
$ gst-launch-1.0 uridecodebin uri="file:///media/usb/test.ts" ! queue max-size-bytes=0 ! kmssink busdriver-id="a0070000.v_mix"name=xlnx |
NOTE: File location should be USB-3.0 to avoid the read-write bandwidth issue.
- Run the following gst-launch-1.0 command to display stream-in video using the Gstreamer pipeline where 5004 is port no.
Code Block | ||
---|---|---|
| ||
$ gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, clock-rate=90000" ! rtpjitterbuffer latency=1000 ! rtpmp2tdepay ! tsparse ! video/mpegts ! tsdemux name=demux ! queue ! h265parse ! omxh265dec internal-entropy-buffers=5 latency-mode=normal ! queue max-size-bytes=0 ! kmssink busdriver-id="a0070000.v_mix"name=xlnx |
NOTE: A low latency stream-in pipeline cannot be launched with vcu-gst-app. Hence use below gst-launch pipeline
- Run the following gst-launch-1.0 command to display stream-in video using Gstreamer pipeline where 5004 is port no
Code Block | ||
---|---|---|
| ||
$ gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, clock-rate=90000" ! rtpjitterbuffer latency=1000 ! rtpmp2tdepay ! tsparse ! video/mpegts ! tsdemux name=demux ! queue ! h265parse ! video/x-h265, profile=main-422-10, alignment=nal ! omxh265dec internal-entropy-buffers=5 low-latency=1 ! queue max-size-bytes=0 ! kmssink busdriver-id="a0070000.v_mix"name=xlnx |
Notes for modetest commands:
...