Commit e4ba9a53 authored by Jason Moss's avatar Jason Moss
Browse files

Adding v2019.1 reference

parent c01f4e1a
......@@ -24,6 +24,10 @@ If you don't see a pipeline element or gstreamer plugin you're searching for in
- [Xilinx Video Codec Unit Version Information](./xilinx/vcu/revisions.md)
- [Xilinx Video Codec Unit Documentation](./xilinx/vcu/documentation.md)
### v2019.1 Petalinux GStreamer Reference
- [v2019.1 Petaliinux GStreamer Reference Index](./v2019.1/Readme.md)
### v2018.3 Petalinux GStreamer Reference
- [v2018.3 Petalinux GStreamer Reference Index](./v2018.3/Readme.md)
......@@ -36,10 +40,11 @@ If you don't see a pipeline element or gstreamer plugin you're searching for in
| ---------------- | ------------------ | ------------------------------------ |
| master | - | Latest Working reference |
| v2019.2 | 5/22/2020 | |
| v2019.1 | 5/22/2020 | |
| [v2019.1_r1][t2] | 6/02/2020 | Base v2019.1 Reference |
| [v2018.3_r2][t1] | 5/26/2020 | Base v2018.3 Reference |
[t1]: <https://xterra2.avnet.com/jasonmoss/howto-gstreamer/-/tags/v2018.3_r2>
[t2]: <https://xterra2.avnet.com/jasonmoss/howto-gstreamer/-/tags/v2019.1_r1>
### Build Requirements
......
# v2019.1 GStreamer Plugin Reference
GStreamer Plugin Reference for the v2019.1 Petalinux Release.
## Audio Streams
### Base Audio Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------- | ------------------- |
| [audioconvert][a1] | [audioconvert element reference][a1r] |
| [audioresample][a2] | [audioresample element reference][a2r] |
| [autoaudiosink][a3] | [autoaudiosink element reference][a3r] |
### Bad Audio Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------- | ------------------- |
| [faad][a4] | [faad element reference][a4r] |
[a1]: <elements/audio/audioconvert.md>
[a1r]: <https://gstreamer.freedesktop.org/documentation/audioconvert/index.html>
[a2]: <elements/audio/audioresample.md>
[a2r]: <https://gstreamer.freedesktop.org/documentation/audioresample/index.html>
[a3]: <elements/audio/autoaudiosink.md>
[a3r]: <https://gstreamer.freedesktop.org/documentation/autodetect/autoaudiosink.html>
[a4]: <elements/audio/faad.md>
[a4r]: <https://gstreamer.freedesktop.org/documentation/faad/index.html>
## Multimedia Streams
A couple of important notes on multimedia stream processing:
- A `demultiplexer` is responsible for timestamping and splitting a stream into elementary audio and video component streams.
- A `parser` is a special type of demultiplexer that only has one source pad.
### Good Stream Multiplexer Plugins
| GStreamer Plugin | GStreamer Reference |
| -------------------- | ------------------- |
| [matroskademux][m2] | [matroskademux element reference][m2r] |
| [matroskamux][m3] | [matroskamux element reference][m3r] |
| [matroskaparse][m4] | [matroskaparse element reference][m4r] |
| [mp4mux][m5] | [mp4mux][m5r] |
| [qtdemux][m6] | [qtdemux][m6r] |
### Bad Stream Multiplexer Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------ | ------------------- |
| [h264parse][m1] | [h264parse element reference][m1r] |
[m1]: <elements/multimedia/h264parse.md>
[m1r]: <https://gstreamer.freedesktop.org/documentation/videoparsersbad/h264parse.html>
[m2]: <elements/multimedia/matroskademux.md>
[m2r]: <https://gstreamer.freedesktop.org/documentation/matroska/matroskademux.html>
[m3]: <elements/multimedia/matroskamux.md>
[m3r]: <https://gstreamer.freedesktop.org/documentation/matroska/matroskamux.html>
[m4]: <elements/multimedia/matroskaparse.md>
[m4r]: <https://gstreamer.freedesktop.org/documentation/matroska/matroskaparse.html>
[m5]: <elements/multimedia/mp4mux.md>
[m5r]: <https://gstreamer.freedesktop.org/documentation/isomp4/mp4mux.html>
[m6]: <elements/multimedia/qtdemux.md>
[m6r]: <https://gstreamer.freedesktop.org/documentation/isomp4/qtdemux.html>
## Networking
### Good Network Plugins
| GStreamer Plugin | GStreamer Reference |
| -------------------- | ------------------- |
| [udpsink][n1] | [udpsink element reference][n1r] |
[n1]: <elements/networking/udpsink.md>
[n1r]: <https://gstreamer.freedesktop.org/documentation/udp/udpsink.html>
### Good RTP Streaming Plugins
| GStreamer Plugin | GStreamer Reference |
| -------------------- | ------------------- |
| [rtph264pay][r1] | [rtph264pay][r1r] |
| [rtpmp4gpay][r2] | [rtpmp4gpay][r2r] |
[r1]: <elements/networking/rtp/rtph264pay.md>
[r1r]: <https://gstreamer.freedesktop.org/documentation/rtp/rtph264pay.html>
[r2]: <elements/networking/rtp/rtpmp4gpay.md>
[r2r]: <https://gstreamer.freedesktop.org/documentation/rtp/rtpmp4gpay.html>
## Image Processing
### Good Image Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------ | ------------------- |
| [jpegdec][i1] | [jpegdec element reference][i1r] |
[i1]: <elements/image/jpegdec.md>
[i1r]: <https://gstreamer.freedesktop.org/documentation/jpeg/jpegdec.html>
### Bad Image Plugins
## Video Processing
### Base Video Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------- | ------------------- |
| [videoconvert][v9] | [videoconvert element reference][v9r] |
| [videotestsrc][v10] | [videotestrsc element reference][v10r] |
| [videoscale][v13] | [videoscale element reference][v13r] |
### Video Codec Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------ | ------------------- |
| [omxh264dec][v4] | [omxh264dec element reference][v4r] |
| [omxh264enc][v5] | [omxh264enc element reference][v5r] |
| [omxh265dec][v6] | [omxh265dec element reference][v6r] |
| [omxh265enc][v7] | [omxh265enc element reference][v7r] |
### Good Video Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------ | ------------------- |
| [deinterlace][v1] | [deinterlace element reference][v1r] |
| [v4l2src][v8] | [v4l2src element reference][v8r] |
| [videobox][v11] | [videobox element reference][v11r] |
| [videomixer][v12] | [videomixer element reference][v12r] |
### Bad Video Plugins
| GStreamer Plugin | GStreamer Reference |
| ------------------ | ------------------- |
| [interlace][v2] | [interlace element reference][v2r] |
| [kmssink][v3] | [kmssink element reference][v3r] |
[v1]: <elements/video/deinterlace.md>
[v1r]: <https://gstreamer.freedesktop.org/documentation/deinterlace/index.html>
[v2]: <elements/video/interlace.md>
[v2r]: <https://gstreamer.freedesktop.org/documentation/interlace/index.html>
[v3]: <elements/video/kmssink.md>
[v3r]: <https://gstreamer.freedesktop.org/documentation/kms/index.html>
[v4]: <elements/video/omxh264dec.md>
[v4r]: <https://www.xilinx.com/support/documentation/ip_documentation/vcu/v1_2/pg252-vcu.pdf#page=176&zoom=100,122,100>
[v5]: <elements/video/omxh264enc.md>
[v5r]: <https://www.xilinx.com/support/documentation/ip_documentation/vcu/v1_2/pg252-vcu.pdf#page=168&zoom=100,122,164>
[v6]: <elements/video/omxh265dec.md>
[v6r]: <https://www.xilinx.com/support/documentation/ip_documentation/vcu/v1_2/pg252-vcu.pdf#page=176&zoom=100,122,100>
[v7]: <elements/video/omxh265enc.md>
[v7r]: <https://www.xilinx.com/support/documentation/ip_documentation/vcu/v1_2/pg252-vcu.pdf#page=168&zoom=100,122,164>
[v8]: <elements/video/v4l2src.md>
[v8r]: <https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html>
[v9]: <elements/video/videoconvert.md>
[v9r]: <https://gstreamer.freedesktop.org/documentation/videoconvert/index.html>
[v10]: <elements/video/videotestsrc.md>
[v10r]: <https://gstreamer.freedesktop.org/documentation/videotestsrc/index.html>
[v11]: <elements/video/videobox.md>
[v11r]: <https://gstreamer.freedesktop.org/documentation/videobox/index.html>
[v12]: <elements/video/videomixer.md>
[v12r]: <https://gstreamer.freedesktop.org/documentation/videomixer/index.html>
[v13]: <elements/video/videoscale.md>
[v13r]: <https://gstreamer.freedesktop.org/documentation/videoscale/index.html>
## Core Plugins
| GStreamer Element | GStreamer Reference |
| ------------------ | ------------------- |
| [fakesink][c1] | [fakesink element reference][c1r] |
| [filesink][c2] | [filesink element reference][c2r] |
| [filesrc][c3] | [filesrc element reference][c3r] |
| [tee][c4] | [tee element reference][c4r] |
[c1]: <elements/debug/fakesink.md>
[c1r]: <https://gstreamer.freedesktop.org/documentation/coreelements/fakesink.html>
[c2]: <elements/core/filesink.md>
[c2r]: <https://gstreamer.freedesktop.org/documentation/coreelements/filesink.html>
[c3]: <elements/core/filesrc.md>
[c3r]: <https://gstreamer.freedesktop.org/documentation/coreelements/filesrc.html>
[c4]: <elements/core/tee.md>
[c4r]: <https://gstreamer.freedesktop.org/documentation/coreelements/tee.html>
# gst-discover-1.0
## command line syntax
```bash
root@zcu106_vcu_trd:~# gst-discoverer-1.0 --help
Usage:
gst-discoverer-1.0 [OPTION?] - discover files synchronously with GstDiscoverer
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gst Show GStreamer Options
Application Options:
-a, --async Run asynchronously
-t, --timeout=T Specify timeout (in seconds, default 10)
-c, --toc Output TOC (chapters and editions)
-v, --verbose Verbose properties
```
## command line example
```bash
$ gst-discover-1.0 -v /media/usb/test_1.ts
-sh: gst-discover-1.0: command not found
root@zcu106_vcu_trd:/media/card# gst-discoverer-1.0 -v /media/usb/test_1.ts
Analyzing file:///media/usb/test_1.ts
Done discovering file:///media/usb/test_1.ts
Topology:
container: video/mpegts, systemstream=(boolean)true, packetsize=(int)188
video: video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, pixel-aspect-ratio=(fraction)1/1, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interl2
Tags:
video codec: H.264
Codec:
video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, pixel-aspect-ratio=(fraction)1/1, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interlace2
Additional info:
None
Stream ID: 8da2f0bf81cedb9a3b709a444179f74b4373108e7fe69c38526788a887b47e3a:1/00000041
Width: 1920
Height: 1080
Depth: 24
Frame rate: 60/1
Pixel aspect ratio: 1/1
Interlaced: false
Bitrate: 0
Max bitrate: 0
Properties:
Duration: 0:00:25.984279222
Seekable: yes
Tags:
video codec: H.264
```
\ No newline at end of file
# audioconvert
## element information
```bash
root@zcu106_vcu_trd:~# gst-inspect-1.0 audioconvert
Factory Details:
Rank primary (256)
Long-name Audio converter
Klass Filter/Converter/Audio
Description Convert audio to different formats
Author Benjamin Otte <otte@gnome.org>
Plugin Details:
Name audioconvert
Description Convert audio to different formats
Filename /usr/lib/gstreamer-1.0/libgstaudioconvert.so
Version 1.12.2
License LGPL
Source module gst-plugins-base
Source release date 2017-07-14
Binary package GStreamer Base Plug-ins source release
Origin URL Unknown package origin
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstAudioConvert
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw
format: { (string)S8, (string)U8, (string)S16LE, (string)S16BE, (string)U16LE, (string)U16BE, (string)S24_32LE, (string)S24_32BE, (string)U24_32LE, (string)U24_32}
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
layout: interleaved
SINK template: 'sink'
Availability: Always
Capabilities:
audio/x-raw
format: { (string)S8, (string)U8, (string)S16LE, (string)S16BE, (string)U16LE, (string)U16BE, (string)S24_32LE, (string)S24_32BE, (string)U24_32LE, (string)U24_32}
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
layout: interleaved
Element Flags:
no flags set
Element Implementation:
Has change_state() function: gst_element_change_state_func
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "audioconvert0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
dithering : Selects between different dithering methods.
flags: readable, writable
Enum "GstAudioDitherMethod" Default: 2, "tpdf"
(0): none - GST_AUDIO_DITHER_NONE
(1): rpdf - GST_AUDIO_DITHER_RPDF
(2): tpdf - GST_AUDIO_DITHER_TPDF
(3): tpdf-hf - GST_AUDIO_DITHER_TPDF_HF
noise-shaping : Selects between different noise shaping methods.
flags: readable, writable
Enum "GstAudioNoiseShapingMethod" Default: 0, "none"
(0): none - GST_AUDIO_NOISE_SHAPING_NONE
(1): error-feedback - GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK
(2): simple - GST_AUDIO_NOISE_SHAPING_SIMPLE
(3): medium - GST_AUDIO_NOISE_SHAPING_MEDIUM
(4): high - GST_AUDIO_NOISE_SHAPING_HIGH
```
\ No newline at end of file
# audioresample
## element information
```bash
root@zcu106_vcu_trd:~# gst-inspect-1.0 audioresample
Factory Details:
Rank primary (256)
Long-name Audio resampler
Klass Filter/Converter/Audio
Description Resamples audio
Author Sebastian Dr�öge <sebastian.droege@collabora.co.uk>
Plugin Details:
Name audioresample
Description Resamples audio
Filename /usr/lib/gstreamer-1.0/libgstaudioresample.so
Version 1.12.2
License LGPL
Source module gst-plugins-base
Source release date 2017-07-14
Binary package GStreamer Base Plug-ins source release
Origin URL Unknown package origin
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseTransform
+----GstAudioResample
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw
format: { (string)S8, (string)U8, (string)S16LE, (string)S16BE, (string)U16LE, (string)U16BE, (string)S24_32LE, (string)S24_32BE, (string)U24_32LE, (string)U24_32}
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
layout: { (string)interleaved, (string)non-interleaved }
SINK template: 'sink'
Availability: Always
Capabilities:
audio/x-raw
format: { (string)S8, (string)U8, (string)S16LE, (string)S16BE, (string)U16LE, (string)U16BE, (string)S24_32LE, (string)S24_32BE, (string)U24_32LE, (string)U24_32}
rate: [ 1, 2147483647 ]
channels: [ 1, 2147483647 ]
layout: { (string)interleaved, (string)non-interleaved }
Element Flags:
no flags set
Element Implementation:
Has change_state() function: gst_element_change_state_func
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Pad Template: 'sink'
SRC: 'src'
Pad Template: 'src'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "audioresample0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
qos : Handle Quality-of-Service events
flags: readable, writable
Boolean. Default: false
quality : Resample quality with 0 being the lowest and 10 being the best
flags: readable, writable
Integer. Range: 0 - 10 Default: 4
resample-method : What resample method to use
flags: readable, writable
Enum "GstAudioResamplerMethod" Default: 4, "kaiser"
(0): nearest - GST_AUDIO_RESAMPLER_METHOD_NEAREST
(1): linear - GST_AUDIO_RESAMPLER_METHOD_LINEAR
(2): cubic - GST_AUDIO_RESAMPLER_METHOD_CUBIC
(3): blackman-nuttall - GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL
(4): kaiser - GST_AUDIO_RESAMPLER_METHOD_KAISER
sinc-filter-mode : What sinc filter table mode to use
flags: readable, writable
Enum "GstAudioResamplerFilterMode" Default: 2, "auto"
(0): interpolated - GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED
(1): full - GST_AUDIO_RESAMPLER_FILTER_MODE_FULL
(2): auto - GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO
sinc-filter-auto-threshold: Memory usage threshold to use if sinc filter mode is AUTO, given in bytes
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 1048576
sinc-filter-interpolation: How to interpolate the sinc filter table
flags: readable, writable
Enum "GstAudioResamplerFilterInterpolation" Default: 2, "cubic"
(0): none - GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE
(1): linear - GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR
(2): cubic - GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC
```
\ No newline at end of file
# autoaudiosink
## element information
```bash
root@zcu106_vcu_trd:~# gst-inspect-1.0 autoaudiosink
Factory Details:
Rank none (0)
Long-name Auto audio sink
Klass Sink/Audio
Description Wrapper audio sink for automatically detected audio sink
Author Jan Schmidt <thaytan@noraisin.net>
Plugin Details:
Name autodetect
Description Plugin contains auto-detection plugins for video/audio in- and outputs
Filename /usr/lib/gstreamer-1.0/libgstautodetect.so
Version 1.12.2
License LGPL
Source module gst-plugins-good
Source release date 2017-07-14
Binary package GStreamer Good Plug-ins source release
Origin URL Unknown package origin
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBin
+----GstAutoDetect
+----GstAutoAudioSink
Implemented Interfaces:
GstChildProxy
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
ANY
Element Flags:
no flags set
Bin Flags:
no flags set
Element Implementation:
Has change_state() function: gst_auto_detect_change_state
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SINK: 'sink'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: "autoaudiosink0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
async-handling : The bin will handle Asynchronous state changes
flags: readable, writable
Boolean. Default: false
message-forward : Forwards all children messages
flags: readable, writable
Boolean. Default: false
filter-caps : Filter sink candidates using these caps.
flags: readable, writable
audio/x-raw
sync : Sync on the clock
flags: readable, writable
Boolean. Default: true
ts-offset : Timestamp offset in nanoseconds
flags: readable, writable
Integer64. Range: -9223372036854775808 - 9223372036854775807 Default: 0
Children:
fake-audio-sink
```
\ No newline at end of file
# faad
## element information
```bash
root@zcu106_vcu_trd:~# gst-inspect-1.0 faad
Factory Details:
Rank secondary (128)
Long-name AAC audio decoder
Klass Codec/Decoder/Audio
Description Free MPEG-2/4 AAC decoder
Author Ronald Bultje <rbultje@ronald.bitfreak.net>
Plugin Details:
Name faad
Description Free AAC Decoder (FAAD)
Filename /usr/lib/gstreamer-1.0/libgstfaad.so
Version 1.12.2
License GPL
Source module gst-plugins-bad
Source release date 2017-07-14
Binary package GStreamer Bad Plug-ins source release
Origin URL Unknown package origin
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstAudioDecoder
+----GstFaad
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw
format: S16LE
layout: interleaved
rate: [ 8000, 96000 ]
channels: [ 1, 8 ]
SINK template: 'sink'
Availability: Always
Capabilities:
audio/mpeg
mpegversion: 2
audio/mpeg
mpegversion: 4
stream-format: { (string)raw, (string)adts }
Element Flags:
no flags set