We're hiring!
*

GStreamer on Windows: adding WebRTC support to a gst-build install

Aaron Boxer avatar

Aaron Boxer
January 28, 2021

Share this post:

Reading time:

Note: In September 2021, the GStreamer project merged all its git repositories into a single, unified repository, often called monorepo. The build system referred in this post as "gst-build" is now in the root of this combined/mono repository.

Earlier this week, WebRTC became an official W3C and IETF standard for enabling real time communication (RTC) between browsers and other mobile applications via a set of simple APIs. GStreamer has a powerful and rapidly maturing WebRTC implementation. So, the obvious question is: how do we build this on Windows?

There are two ways of building GStreamer on Windows - either with cerbero or gst-build. For a simple GStreamer install with WebRTC support, cerbero will just work out of the box. However, for a more flexible solution that builds significantly faster, we use gst-build. Unfortunately, it's not just a matter of using gst-build. You also need the OpenSSL dependency so that gst-build will build the WebRTC element.

Here's how to add this support:

OpenSSL

If you haven't already followed my previous guide on GStreamer and Windows, please follow the steps there to build GStreamer from source.

Next, we will need to clone and build OpenSSL

  1. Install 64 bit Strawberry Perl
  2. Delete Strawberry Perl path entries from system path
  3. Install 64 bit NASM
  4. Enter the NASM install directory on your Windows PATH
  5. git clone https://github.com/openssl/openssl.git
  6. Open 64 bit VS command shell as Administrator
  7. build OpenSSL using steps below (this could take a while). Note: we set c:/bin/OpenSSl as our OpenSSL install directory, but this is easily changed to the directory of your choice.
> cd openssl
> set PATH=%PATH%;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin
> perl Configure VC-WIN64A --prefix=c:/bin/OpenSSL
> nmake
> nmake test
> nmake install

Now, download the OpenSSL pkg-config folder here and place it in the lib directory of your OpenSSL install directory.

Next, we need to add the OpenSSL install directory to the PKG_CONFIG_PATH environment variable that we set in my previous post:

Set PKG_CONFIG_PATH equal to %GSTREAMER_1_0_ROOT_X86_64%lib\pkgconfig;C:\bin\OpenSSL\lib\pkg-config

We also need to add the OpenSSL bin directory C:\bin\OpenSSL\bin to the Windows path.

And finally, we open a new 64 bit VS command shell and execute the following:

> cd %SOURCE_DIR%gst-build
> meson build --reconfigure --prefix=%GSTREAMER_1_0_ROOT_X86_64% -Dtls=disabled -Ddevtools=disabled && ninja -C build install

And now:

> gst-inspect-1.0 webrtcbin

should find the webrtcbin plugin!

If you have any questions about GStreamer WebRTC support on Windows or any other platform, please contact us!


Add a Comment

Search the newsroom

Latest Blog Posts

Running Mainline Linux, U-Boot, and Mesa on Rockchip: A year in review

02/03/2026

Get the recap of Nicolas Frattaroli's FOSDEM talk detailing Rockchip’s mainline progress, including Vulkan 1.4 and NPU support as a vital…

Now streaming: Collabora XDC 2025 presentations

02/12/2025

As an active member of the freedesktop community, Collabora was busy at XDC 2025. Our graphics team delivered five talks, helped out in…

Implementing Bluetooth LE Audio & Auracast on Linux systems

24/11/2025

LE Audio introduces a modern, low-power, low-latency Bluetooth® audio architecture that overcomes the limitations of classic Bluetooth®…

Strengthening KernelCI: New architecture, storage, and integrations

17/11/2025

Collabora’s long-term leadership in KernelCI has delivered a completely revamped architecture, new tooling, stronger infrastructure, and…

Font recognition reimagined with FasterViT-2

11/11/2025

Collabora extended the AdobeVFR dataset and trained a FasterViT-2 font recognition model on millions of samples. The result is a state-of-the-art…

Expanding access to XR: Google Cardboard comes to Monado

31/10/2025

Collabora has advanced Monado's accessibility by making the OpenXR runtime supported by Google Cardboard and similar mobile VR viewers so…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2026. All rights reserved. Privacy Notice. Sitemap.