Loading file too early might lead to Xorg related crash. We must first make sure the player widget is fully drawn, before we start drawing video frames.
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
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.