slint/examples/gstreamer-player
2025-06-26 13:30:43 +00:00
..
build.rs
Cargo.toml Bump version number to 1.13.0 2025-06-26 13:30:43 +00:00
egl_integration.rs
main.rs
pause.svg
play.svg
README.md
scene.slint
software_rendering.rs

GStreamer Example

This example application demonstrates a way to use gstreamer (with Rust bindings) to display a video stream in Slint.

Current Status:

  • The code has so far only been tested on Ubuntu and Windows.

Building and Running

You will need to have the gstreamer libraries used by gstreamer-rs installed.

https://gstreamer.pages.freedesktop.org/gstreamer-rs/stable/latest/docs/gstreamer/

On Debian/Ubuntu you can use:

$ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
      gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
      gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
      gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev

On Opensuse you can use:

$ zypper in zypper in gstreamer-plugins-bad-devel gstreamer-devel gstreamer-plugins-base-devel \
      gstreamer-plugins-good

On windows:

  • Install gstreamer using official binaries (we need to install both, e.g. gstreamer-1.0-msvc-x86_64-1.24.11.msi and gstreamer-1.0-devel-msvc-x86_64-1.24.11.msi), make sure to install full gstreamer in installer.
  • And export it to path:
# For a UNIX-style shell:
$ export PATH="c:/gstreamer/1.0/msvc_x86_64/bin${PATH:+:$PATH}"

# For cmd.exe:
$ set PATH=C:\gstreamer\1.0\msvc_x86_64\bin;%PATH%

Once you have a working gstreamer-rs and slint install, cargo run should work.