|
|
|||||||
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 building on 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. The latest stable release is 1.28.3. Installers are available for the following targets:
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. Starting with 1.28, the installers are built with Inno Setup 6, which now allows
user-only as well as system-wide installs. The default installation directory is
The installers also accept optional command line parameters. These can be useful for unattended installations. Here's a short list of the most important ones:
You can read more about them in the Inno Setup Help. Python wheels are also available via PyPI, starting with 1.28.0. Simply run:
NOTE: The libraries built with MSVC are named differently from MinGW;
specifically the DLLs are of the form NOTE: GstSharp .NET bindings require the MSVC binaries starting with 1.18. Older 1.x binary releases are also available. Older installers are split into runtime and development packages, so for app development, you will want to install both packages. 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. UWP has been abandoned by Microsoft, and as such is no longer supported by the GStreamer project. This section will be removed in the future. 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
Python wheels are also available via PyPI, starting with 1.28.0. Simply run:
GStreamer is also maintained by third-parties in the
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. gst-plugins-rs is another large set of plugins that aren't packaged by some
distros. Since these are in a standalone repository,
it is straightforward for developers to build them by hand with 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 are available in two forms: a legacy framework, and an xcframework (1.28+). The legacy framework only supports iOS and an iOS Simulator on an Intel Mac. The xcframework supports iOS and iOS Simulator (ARM64 and X86_64). Starting with 1.28.3, it also supports tvOS, and tvOS Simulator (ARM64 and X86_64).
The legacy framework will be removed in a future GStreamer release. Older 1.x binary releases are also available. |
| Report a problem on this page. |