Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.77 KB

gst.md

File metadata and controls

48 lines (34 loc) · 1.77 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.

Audio/Video Codecs

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

  • gst-plugin-base
  • gst-plugin-good
  • gst-plugin-bad
  • gst-plugin-ugly
  • gst-plugin-vaapi
  • gst-plugin-libav
  • gst-video-analytics

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.

GStreamer 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

Use DLDT's Inference Engine to detect items in a scene using video analytics

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 DLDT's Inference Engine to classify items in a scene using video analytics

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