GStreamer

Open source multimedia framework

Latest stable: 1.28.8 (8 Oct 2026) Development: 1.29.2

143,730
commits
367
merge requests merged in 30 days
3,734
merge requests merged in 12 months
330+
contributors

Activity data from GitLab, as of 31 Oct 2026.

What is GStreamer?

GStreamer is a framework for building media pipelines: playback, streaming, WebRTC, capture, editing, analytics and much more, from embedded devices to the cloud. You describe a graph of small components, and GStreamer takes care of the rest: data flow, threading, synchronization, format negotiation, buffer management, seeking and more.

A pipeline that plays a WebM file: filesrc, matroskademux, then a video branch (dav1ddec, videoconvert, autovideosink) and an audio branch (opusdec, audioconvert, autoaudiosink)filesrcmatroskademuxdav1ddecvideoconvertautovideosinkopusdecaudioconvertautoaudiosink A pipeline that plays a WebM file: filesrc, matroskademux, then a video branch (dav1ddec, videoconvert, autovideosink) and an audio branch (opusdec, audioconvert, autoaudiosink)filesrcmatroskademuxdav1ddecvideoconvertautovideosinkopusdecaudioconvertautoaudiosink
Playing a WebM file (AV1 and Opus). Each element does one job: sources in green, filters in blue, sinks in red.

Applications take advantage of advances in codec and filter technology transparently, and developers add new codecs and filters by writing a plugin with a clean, generic interface. Read more ...

Why GStreamer

  • Everywhere: Linux, Android, Windows, macOS, iOS and the BSDs, using each platform's hardware acceleration.
  • Flexible: hundreds of plugins for containers, codecs, protocols, filters and machine learning, combined as you need.
  • Fast: lightweight data passing and multi-threaded pipelines for high performance, with latency management for live and real-time use.
  • Stable: the 1.x API and ABI have been stable since 2012.
  • Your language: C, Rust, Python, C++, C#, Java, Go and more through bindings.
  • Open: released under the LGPL, developed in the open by a large community. See what it is used for.