From 010fcf6dcfce2d5fecfea16002739c41e9c757fe Mon Sep 17 00:00:00 2001 From: Rafostar <40623528+Rafostar@users.noreply.github.com> Date: Mon, 9 Nov 2020 20:12:07 +0100 Subject: [PATCH] Update README.md --- README.md | 95 ++++--------------------------------------------------- 1 file changed, 7 insertions(+), 88 deletions(-) diff --git a/README.md b/README.md index 8f1c8315..06599202 100644 --- a/README.md +++ b/README.md @@ -43,36 +43,17 @@ Using hardware acceleration is highly recommended. As stated in `GStreamer` wiki In the case of OpenGL based elements, the buffers have the GstVideoGLTextureUploadMeta meta, which efficiently copies the content of the VA-API surface into a GL texture. ``` -Clapper uses `OpenGL` based sinks, so when `VA-API` is available, both CPU and RAM usage is much lower. Especially if you have `gst-plugins-bad` 1.18+ with new `vah264dec` decoder which shares a single GL context with Clapper and uses DRM connection. If you have an AMD/Intel GPU, I highly recommend this new decoder. - -To use `VA-API` with H.264 videos, make sure you have `gst-plugins-bad` 1.18+. For other codecs additionally install `gstreamer1-vaapi`. Verify with: -```shell -gst-inspect-1.0 vah264dec -gst-inspect-1.0 vaapi -``` -On some older GPUs you might need to export `GST_VAAPI_ALL_DRIVERS=1` environment variable. +Clapper uses `OpenGL` based sinks, so when `VA-API` is available, both CPU and RAM usage is much lower. Especially with `gst-plugins-bad` 1.18+ and new `vah264dec` decoder which shares a single GL context with Clapper and uses DRM connection. If you have an AMD/Intel GPU and use Wayland session, I highly recommend enabling this new decoder in Clapper `Preferences->Advanced->GStreamer`. Other acceleration methods (supported by `GStreamer`) should also work, but I have not tested them due to lack of hardware. -## Requirements -* **GTK4** >= 3.99.2 -* **GStreamer** >= 1.18 (with GstPlayer lib) +## Installation from flatpak (recommended) +The flatpak package includes all required dependencies and codecs. Additionally it also has a few patches, thus some funcionalities work better (or are only available) on flatpak version (until my changes are accepted upstream). -Clapper uses GTK4 along with `GStreamer` bindings from `GI` repository, so if your distro ships them as separate package, they must be installed first. -Additionally Clapper requires these `GStreamer` elements: -* [gtk4glsink](https://gstreamer.freedesktop.org/documentation/gtk/gtkglsink.html) -* [glsinkbin](https://gstreamer.freedesktop.org/documentation/opengl/glsinkbin.html) - -**Attention:** `gtk4glsink` is my own port of current GStreamer `gtkglsink` to GTK4. The element is not part of GStreamer yet (pending review). Fedora package is available in my [OBS repository](https://software.opensuse.org//download.html?project=home%3ARafostar&package=clapper). It will be installed along with Clapper if you add my repo to `dnf` package manager. Otherwise you might want to build it yourself from [source code](https://github.com/Rafostar/gst-plugins-good/tree/GTK4) of my gst-plugins-good GTK4 branch. Also please note that the GTK4 plugin is conflicting with the GTK3 version of the same plugin. You cannot install both. - -Other required plugins (codecs) depend on video format. - -Recommended additional packages you should install manually via package manager: -* `gstreamer-libav` - codecs required to play most videos -* `gstreamer-vaapi` - hardware acceleration - -Please note that packages naming varies by distro. +```sh +flatpak install https://rafostar.github.io/flatpak/com.github.rafostar.Clapper.flatpakref +``` ## Packages The [pkgs folder](https://github.com/Rafostar/clapper/tree/master/pkgs) in this repository contains build scripts for various package formats. You can use them to build package yourself or download one of pre-built packages: @@ -93,69 +74,7 @@ makepkg -si ## Installation from source code -Run in terminal: -```shell -meson builddir --prefix=/usr/local -sudo meson install -C builddir -``` - -Remember that you also need `gtk4glsink`. You can build it from my github fork of [gst-plugins-good](https://github.com/Rafostar/gst-plugins-good/tree/GTK4) using GTK4 branch. - -Other required GStreamer elements installation: -
- Debian/Ubuntu - -```shell -sudo apt install \ - gstreamer1.0-plugins-base \ - gstreamer1.0-plugins-good \ - gstreamer1.0-plugins-bad \ - gstreamer1.0-gl \ - gstreamer1.0-libav \ - gstreamer-vaapi -``` -
- -
- Fedora - -Enable RPM Fusion and run: -```shell -sudo dnf install \ - gstreamer1-plugins-base \ - gstreamer1-plugins-good \ - gstreamer1-plugins-bad-free \ - gstreamer1-plugins-bad-free-extras \ - gstreamer1-libav \ - gstreamer1-vaapi -``` -
- -
- openSUSE - -```shell -sudo zypper install \ - gstreamer-plugins-base \ - gstreamer-plugins-good \ - gstreamer-plugins-bad \ - gstreamer-plugins-libav \ - gstreamer-plugins-vaapi -``` -
- -
- Arch Linux - -```shell -sudo pacman -S \ - gst-plugins-base \ - gst-plugins-good \ - gst-plugins-bad-libs \ - gst-libav \ - gstreamer-vaapi -``` -
+The requirements and how to build from git source code are described in the [wiki](https://github.com/Rafostar/clapper/wiki#installation-from-source-code). ## Special Thanks Many thanks to [sp1ritCS](https://github.com/sp1ritCS) for creating and maintaining package build files.