Download GStreamerIf you're on Linux or a BSD variant, you can install GStreamer using your package manager. For other platforms listed below, we provide binary releases in the form of official installers or tarballs maintained by the GStreamer project. Choose your platform below for more information. For building the aforementioned binary releases, you need to use the Cerbero build aggregator maintained by the GStreamer project which supports Linux, macOS, and Windows. For downloading each GStreamer module individually, check our modules page, or go straight to our source download directory. Generally, you should not need to build from source yourself unless you need features that are only available in a newer version of GStreamer than is provided by your distribution or in the last stable release. For doing GStreamer development, we recommend using the GStreamer monorepo build from Git which will build all the main GStreamer modules in one go using Meson's subproject feature. Binary releases in the form of MSI installers are available. The installers are split into runtime and development packages. For development, you will want to install both packages.
For each of the above listed targets, a zip file with If you are not sure which to pick between MSVC and MinGW, just pick MSVC. However, do see the toolchain compatibility notes below which may affect you based on what toolchain your app will be built with. NOTE: The library names in MSVC are different from MinGW; specifically the DLLs
are of the form NOTE: GstSharp .NET bindings require the MSVC binaries starting with 1.18. NOTE: Some of the plugins shipped with the MSVC binaries link to non-gstreamer libraries built with MinGW because they are built with Autotools. See below for what this means for your application. Older 1.x binary releases are also available. Universal Windows PlatformBinary releases built to target the Universal Windows Platform (UWP). Used for shipping apps on the Windows Store, such as for an XBox, HoloLens 2, etc.
UWP apps cannot use plugins that use dependencies built with MinGW because of forbidden APIs. Hence, these plugins are omitted from the binaries. Toolchain Compatibility NotesOn Windows, you can use a number of different toolchains and versions thereof, and it is not always obvious how these can be mixed and matched with the binaries provided above by GStreamer. The first step is ensuring that you're using the correct architecture. You should not try to mix 32-bit code built with any toolchain with 64-bit code built with any toolchain. Next, understand that since GStreamer is written mostly in C, all APIs exported by GStreamer libraries and plugins use C ABIs. Even plugins written in other languages such as Rust, C++, C#, Python, etc, are loaded using the C ABI. This means you can consume the GStreamer binaries from any toolchain that uses the same C ABI. Using the same CRT (C Runtime) is better, but it's not always a requirement. Here's the matrix outlining the CRT used for each GStreamer version:
This is the toolchain compatibility matrix with the stable releases:
FULL means full C compatibility, including debugging symbols. PARTIAL means mixing the two should be fine as long as you are careful while passing memory across CRT boundaries. NONE means fully unsupported, and will lead to crashes. Binary releases in the form of
GStreamer is also available as a , and you should be able to use that. However, please note that some plugins are not shipped by Homebrew, and you should avoid mixing Homebrew and the official installers on the same system. Older 1.x binary releases are also available. All Linux distributions and many BSD variants provide packages of GStreamer. You will find these in your distribution's package repository. Note that some distributions split the GStreamer plugins up further than the upstream sources. Additionally, some distributions do not include some plugins from the gst-plugins-bad package, or omit the gst-plugins-ugly and gst-libav packages entirely in their main repository for legal reasons. Binary releases are available with each in the form of a single "universal"
tarball with
The Android NDKs used by our stable releases are:
The Android APIs targeted by our stable release(s) are:
Older 1.x binary releases are also available. Binary releases that integrate into XCode are available in the form of a single "universal" package with fat library frameworks. Bitcode support is built-in and the target SDK version for 1.16.x was iOS 9.0, for 1.18.x, 1.20.x and 1.22.x it was iOS 11.0, and for 1.24.x it is iOS 12.0.
Older 1.x binary releases are also available. |
Report a problem on this page. |