Add desktop file, icon and "application/claps" mime type

This commit is contained in:
Rafostar
2020-09-17 18:57:40 +02:00
parent 2225aa2343
commit 932849af92
7 changed files with 109 additions and 36 deletions

View File

@@ -2,21 +2,42 @@
A GNOME media player built using [GJS](https://gitlab.gnome.org/GNOME/gjs) and powered by [GStreamer](https://gstreamer.freedesktop.org) with [OpenGL](https://www.opengl.org) rendering. Can also be used as a pre-made widget for [GTK](https://www.gtk.org) 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 be launched from terminal, so if you want to test it, start it like this:
```shell
com.github.rafostar.Clapper "video.mp4"
```
This is still early WIP. Many features are not implemented yet and quite a few are still unstable.
### Playlists
Clapper can also open playlist files. Playlist file is a standard text file with a `.claps` file extension. It should contain a single filepath per line. The filepath can be either absolute or relative. Playlist can even contain HTTP links instead of filepaths. Here is an example how to easily create a playlist file inside your music directory:
### Features:
<details>
<summary><b>Playlists</b></summary>
Clapper can open playlist files. Playlist file is a standard text file with a `.claps` file extension.
It should contain a single filepath per line. The filepath can be either absolute or relative.
Playlist can even contain HTTP links instead of filepaths.
Here is an example how to easily create a playlist file inside your music directory:
```shell
ls *.mp3 > music.claps
```
Once you have a playlist, open it with Clapper like any other file:
```shell
com.github.rafostar.Clapper "music.claps"
Once you have a playlist, open it with Clapper like any other file.
Since the playlist is a normal text file with filepaths only, you can always edit it later in any text editor or `echo` more media to it. Easy, right?
</details>
<details>
<summary><b>Hardware acceleration</b></summary>
Using hardware acceleration is highly recommended. As stated in `GStreamer` wiki:
```
And since the playlist is a normal text file with filepaths only, you can always edit it later in any text editor. Easy, right?
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:
```shell
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.
</details>
## Requirements
Clapper uses `GStreamer` bindings from `GI` repository, so if your distro ships them as separate package, they must be installed first.
@@ -88,7 +109,7 @@ Pre-built packages are available here:<br>
<details>
<summary>Arch Linux</summary>
You can get clapper from the AUR: [clapper-git](https://aur.archlinux.org/packages/clapper-git), or
```shell
cd pkgs/arch
@@ -96,21 +117,5 @@ makepkg -si
```
</details>
## 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:
```shell
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.
## Special Thanks
Many thanks to [sp1ritCS](https://github.com/sp1ritCS) for creating and maintaining package build files.