Aaron Boxer
September 28, 2020
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.
There are two ways of building GStreamer on Windows - using either cerbero or gst-build. As gst-build
is a lot quicker, we will use this approach in this post.
GStreamer relies on various 2D font rendering and layout libraries such as Pango
and Cairo
to generate text for the Pango
plugin, which contains elements such as textoverlay
. However, building GStreamer on Windows using gst-build
does not currently include support for Pango
.
In this post, we will learn how to add the Pango
plugin to a gst-build
installation on Windows.
If you haven't already followed my previous guide on GStreamer and Windows, please follow the steps there to build GStreamer from source.
Now, we will need to clone a few more repositories into our source directory :
Next we open a Visual Studio x64
command prompt and execute the following:
> cd freetype2 && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\pixman && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\harfbuzz && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\cairo && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\pango && meson build -Dintrospection=false --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\gst-build-x64 && meson build --reconfigure --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install
At this stage, it is a good idea to delete our plugin cache:
> rmdir /Q /S c:\\Users\YOUR_USER_NAME\AppData\Local\Microsoft\Windows\INetCache\gstreamer-1.0
And finally:
> gst-inspect-1.0 textoverlay
should find the overlay plugin!
If you have any questions about GStreamer text rendering on Windows, or any other platform, please contact us.
09/06/2025
In this final article based on Matt Godbolt's talk on making APIs easy to use and hard to misuse, I will discuss locking, an area where…
21/05/2025
In this second article of a three-part series, I look at how Matt Godbolt uses modern C++ features to try to protect against misusing an…
12/05/2025
Powerful video analytics pipelines are easy to make when you're well-equipped. Combining GStreamer and Machine Learning frameworks are the…
06/05/2025
Gustavo Noronha helps break down C++ and shows how that knowledge can open up new possibilities with Rust.
29/04/2025
Configuring WirePlumber on embedded Linux systems can be somewhat confusing. We take a moment to demystify this process for a particular…
24/04/2025
Collabora's Board Farm demo, showcasing our recent hardware enablement and continuous integration efforts, has undergone serious development…
Comments (0)
Add a Comment