Introduction to GStreamer Framework

Spread the love

In this chapter we get to know:

  • What is GStreamer and where is it commonly used?
  • What are some of the main use cases of Gstreamer as a multimedia streaming framework? 
  • What are the building blocks of Gstreamer?
  • What does Gstreamer provide as a software library to the developer? and,
  • where can we find good resources to learn to use Gstreamer and develop applications using it?

What is GStreamer?

GStreamer is an extremely powerful, modular, and versatile multiplatform multimedia framework. It provides a suite of pre-developed libraries that one can use to create powerful multimedia applications to interact with audio, video, text, and other data streams. Gstreamer’s completely modular structure lets developers add new plugins with ease to enable new functionality and features.

Gstreamer is completely open-source but can support customizations and proprietary modules as well. It enjoys a huge open-source developer and user community. Many companies do provide paid services around GStreamer for customizations and feature support.

What is GStreamer used for?

Gstreamer is used to :

  • create music players and video players
  • stream music over a network and playback a network stream.
  • Image / Video processing: convert, scale, transform, encode, decode, transcode
  • capture audio/video from the camera and capture devices 
  • send/receive audio/video streams from one machine to another
  • play video/audio in web browsers, VoIP communications.
  • many more cool things.

Gstreamer is used in Space

Here’s an interesting application of G-streamer.
The Japanese Aerospace (JAXA) agency deployed an autonomous robot camera called “Int-Ball” to move around the ISS (International Space Station) to take pictures and videos of on-board equipment and send them to earth.

Int-Ball: The cute floating Japanese camera on the ISS – YouTube

GStreamer provides

  • an API for multimedia applications
  • a plugin architecture
  • a pipeline architecture
  • a mechanism for media-type handling/negotiation
  • a mechanism for synchronization
  • over 250 plug-ins providing more than 1000 elements
  • a set of tools
GStreamer Architecture Block diagram
 Save as Image
 Save as PDF
Scroll to Top