We're hiring!
*

Building GStreamer text rendering and overlays on Windows with gst-build

Aaron Boxer avatar

Aaron Boxer
September 28, 2020

Share this post:

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.

Building Pango

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 :

  1. freetype2 https://gitlab.collabora.com/gstreameronwindows/freetype2.git
  2. pixman https://gitlab.freedesktop.org/pixman/pixman
  3. harfbuzz https://github.com/harfbuzz/harfbuzz
  4. cairo https://gitlab.collabora.com/gstreameronwindows/cairo.git
  5. pango https://gitlab.gnome.org/GNOME/pango.git

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.

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


Search the newsroom

Latest Blog Posts

Adding VP9 and MPEG2 stateless support in v4l2codecs for GStreamer

23/06/2021

Earlier this year, from January to April 2021, I worked on adding support for stateless decoders for GStreamer as part of a multimedia internship…

Bag of Freebies for XR Hand Tracking: Machine Learning & OpenXR

17/06/2021

In our previous post, we presented a project backed by INVEST-AI which introduces a multi-stage neural network-based solution. Now let's…

Testing cameras with lc-compliance on KernelCI

15/06/2021

Initiated as a joint effort by the Google Chrome OS team and Collabora, the recent KernelCI hackfest brought the addition of new tests including…

Zink: Summer 2021 update

14/06/2021

There's a lot that has happened in the world of Zink since my last update, so let's see if I can bring you up to date on the most important…

Open Source OpenGL ES 3.1 on Mali GPUs with Panfrost

11/06/2021

Panfrost, the open source driver for Arm Mali, now supports OpenGL ES 3.1 on both Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52,…

Optimizing 3D performance with virglrenderer

17/05/2021

Collabora has been investing into Perfetto to enable driver authors & users to get deep insights into driver internals and GPU performance.…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2021. All rights reserved. Privacy Notice. Sitemap.

Collabora Limited is registered in England and Wales. Company Registration number: 5513718. Registered office: The Platinum Building, St John's Innovation Park, Cambridge, CB4 0DS, United Kingdom. VAT number: 874 1630 19.