Zynq Ult VCU TRD User Guide
44
UG1250 (v2019.1) May 29, 2019
Chapter 3:
APU Software Platform
Multi-Stream
When the number of inputs is more than one in the command line application, it is a
multi-stream use case. In multi-stream use cases, multiple HDMIs are the same replica of a single
source.
The command line application supports multi-streaming, multi-recording, or multi-display.
shows a use case of the vcu_gst_app running three HDMI and one MIPI in
multi-stream in 1080p60 resolution. For 4-1080p60 input, the source type can be TPG, MIPI,
or HDMI.
For multi-streaming or multi-recording, the source type can be TPG, HDMI, or MIPI.
shows a use case of the vcu_gst_app running seven HDMI and one MIPI in
multi-stream in 1080p30 resolution. For 8-1080p30 input, the source type can be MIPI or
faad
Decoder faad is an audio decoder that decodes encoded audio frames.
Example pipeline:
gst-launch-1.0 filesrc location=out.ts ! tsdemux ! aacparse ! faad !
audioconvert ! audioresample ! audio/x-raw,rate=48000,channnels=2,
format=S24_32LE ! alsasink device="hw:1,0"
This pipeline shows a
.ts
multiplexed file where the encoded format is aac encoded
audio. The data is decoded and played on an ALSA sink device.
faac
Encoder faac is an audio encoder that encodes raw audio frames.
Example pipeline:
gst-launch-1.0 alsasrc device=hw:1,1 num-buffers=500 ! audio/x-raw,
format=S24_32LE, rate=48000 ,channels=2 ! queue ! audioconvert !
audioresample ! faac ! aacparse ! mpegtsmux ! filesink location=out.ts
This pipeline shows the audio captured from an ALSA device that delivers raw data. The
data is encoded to aac format and stored to a file.
xilinxscd
xilinxscd is hardware-accelerated IP that enables detection of scene change in a video
stream. This plugin generates upstream events whenever there is scene change in an
incoming video stream so the encoder can insert an Intra frame to improve video quality.
Example pipeline:
gst-launch-1.0 -v v4l2src ! video/x-raw, width=3840, height=2160,
format=NV12, framerate=60/1 ! xilinxscd io-mode=5 ! omxh26xenc !
filesink location=/run/out.h26x
This pipeline shows the video captured from a V4L2 device that delivers raw data. This
raw data is passed through the xilinxscd plugin which analyzes the stream in runtime and
provides an event to the encoder whether any scene change is detected in a video stream
or not. The encoder uses this information to insert an I-frame in an encoded bit-stream.
Use omxh264enc for H264 encoding and omxh265enc for H265 encoding.
appsrc
The appsrc element can be used by applications to insert data into a GStreamer pipeline.
Unlike most GStreamer elements, appsrc provides external API functions.
appsink
appsink is a sink plugin that supports many different methods, enabling the application
to manage the GStreamer data in a pipeline. Unlike most GStreamer elements, appsink
provides external API functions.
Table 3-7:
GStreamer Plug-ins
(Cont’d)
Plug-in
Description