2020-09-07 11:48:07 +02:00
2020-09-03 11:33:42 +02:00
2020-09-07 11:27:06 +02:00
2020-09-03 11:33:42 +02:00
2020-08-30 19:40:14 +02:00
2020-08-31 20:47:10 +02:00
2020-09-01 23:46:49 +02:00
2020-09-07 11:48:07 +02:00

Clapper

A GNOME media player built using GJS and powered by GStreamer with OpenGL rendering. Can also be used as a pre-made widget for GTK apps.

WORK IN PROGRESS

This is still early WIP. Many features are not implemented yet and quite a few are still unstable. Right now Clapper can only play single file from URI. So if you want to test it, start it from terminal like this:

clapper file:///path/to/video.mkv

Requirements

Clapper uses GStreamer bindings from GI repository, so if your repo ships them as separate package, they must be installed first. Additionally Clapper requires these GStreamer elements:

Other required plugins (codecs) depend on video format.

Installation

Run in terminal:

sudo ./install.sh

I know that this should be done using some sort of build system (like meson), but the player is still far from finished and a basic install script should be sufficient for the time being, if anyone wishes to test it.

Hardware acceleration

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.

To use VA-API make sure you have gstreamer1-vaapi installed. Verify with:

gst-inspect-1.0 vaapi

On some older GPUs you might need to export GST_VAAPI_ALL_DRIVERS=1 environment variable.

Other acceleration methods (supported by GStreamer) should also work, but I have not tested them due to lack of hardware.

Performace Comparison

Here is the average CPU and RAM usage (lower is better) when playing the same H.264 1080p video in Clapper and Totem (GNOME Videos) with VA-API enabled on an old AMD APU:

Player CPU RAM
Clapper 3% 52MB
Totem 12% 124MB
Description
Level up your video experience with a modern and user-friendly media player.
Readme 25 MiB
Languages
C 96.7%
Meson 2.8%
CSS 0.5%