Skip to content
This repository has been archived by the owner on Sep 16, 2024. It is now read-only.

Latest commit

 

History

History
69 lines (46 loc) · 2.62 KB

gst.md

File metadata and controls

69 lines (46 loc) · 2.62 KB

GStreamer is a framework of audio and video plugins that can be connected to process audio and video content, such as creating, converting, transcoding, and publishing media content.

Plugins:

The GStreamer docker images are compiled with the following plugin set:

Plugin Version Plugin Version
gst-plugin-base 1.19.1 gst-plugin-good 1.19.1
gst-plugin-bad 1.19.1 gst-plugin-ugly 1.19.1
gst-plugin-vaapi 1.19.1 gst-plugin-libav 1.19.1
gst-video-analytics v1.4.1 SVT-HEVC encoder v1.5.1
gst-python 1.19.1 SVT-VP9 encoder v0.2.2
SVT-AV1 encoder v0.8.7

The plugins shm and mxf from gst-plugin-bad is disabled as they do not meet security coding guidelines. Please file an issue if you need these plugin features in your project.


GPU Acceleration:

In GPU images, the GStreamer docker images are accelerated through VAAPI. Note that gst-plugin-vaapi requires special setup for X11 authentication. Please see each platform README for setup details.

Examples:

  • Transcode raw yuv420 content to mp4:
gst-launch-1.0 -v filesrc location=test.yuv ! videoparse format=i420 width=320 height=240 framerate=30 ! x264enc ! mpegtsmux ! filesink location=test.ts
  • Encoding with VAAPI:
gst-launch-1.0 -v filesrc location=test.yuv ! videoparse format=i420 width=320 height=240 framerate=30 ! vaapih264enc ! mpegtsmux ! filesink location=test.ts
  • Encoding with SVT encoders:
gst-launch-1.0 -v videotestsrc ! video/x-raw ! svthevcenc! mpegtsmux ! filesink location=hevc.ts
gst-launch-1.0 -v videotestsrc ! video/x-raw ! svtav1enc ! webmmux ! filesink location=av1.mkv
gst-launch-1.0 -v videotestsrc ! video/x-raw ! svtvp9enc ! webmmux ! filesink location=vp9.mkv
  • Use the Intel® OpenVINO inference engine to detect items in a scene:
gst-launch-1.0 -v filesrc location=test.ts ! decodebin ! video/x-raw ! videoconvert ! \
  gvadetect model=<path to xml of model optimized through DLDT's model optimizer> ! queue ! \
  gvawatermark ! videoconvert ! fakesink
  • Use the Intel OpenVINO inference engine to classify items in a scene:
gst-launch-1.0 -v filesrc location=test.ts ! decodebin ! video/x-raw ! videoconvert ! \
  gvadetect model=<full path to xml of model optimized through DLDT's model optimizer> ! queue ! \
  gvaclassify model=<full path to xml of model optimized through DLDT's model optimizer> object-class=vehicle ! queue ! \
  gvawatermark ! videoconvert ! fakesink

See Also: