All Projects → philn → Glide

philn / Glide

Licence: mit
Linux/macOS media player based on GStreamer and GTK+

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Glide

Celluloid
A simple GTK+ frontend for mpv
Stars: ✭ 541 (+339.84%)
Mutual labels:  video-player, media-player, gtk, gtk3
Clapper
A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering.
Stars: ✭ 103 (-16.26%)
Mutual labels:  video-player, media-player, gstreamer, gtk
photos
Photo viewer and organizer designed for elementary OS
Stars: ✭ 101 (-17.89%)
Mutual labels:  gtk, gstreamer, gtk3
Pitivi
MIRROR of https://gitlab.gnome.org/GNOME/pitivi for your convenience
Stars: ✭ 79 (-35.77%)
Mutual labels:  gstreamer, gtk, gtk3
Music
Music player and library designed for elementary OS
Stars: ✭ 92 (-25.2%)
Mutual labels:  gstreamer, gtk, gtk3
Movie Monad
📺 A free and simple to use video player made with Haskell.
Stars: ✭ 347 (+182.11%)
Mutual labels:  video-player, gstreamer, gtk
Media player
An flutter media player to make media streaming apps effortlessly! read getting started tutorial on https://medium.com/@tamhanekar.siddhesh95/integrate-media-player-into-your-flutter-application-23040213f0c9
Stars: ✭ 45 (-63.41%)
Mutual labels:  video-player, media-player
Fest
A GTK+ 3 Matrix client written in Rust [work in progress]
Stars: ✭ 67 (-45.53%)
Mutual labels:  gtk, gtk3
Gsimplecal
Simple and lightweight GTK calendar (BSD license)
Stars: ✭ 121 (-1.63%)
Mutual labels:  gtk, gtk3
Streama
Self hosted streaming media server. https://docs.streama-project.com/
Stars: ✭ 8,948 (+7174.8%)
Mutual labels:  video-player, media-player
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (+574.8%)
Mutual labels:  gstreamer, gtk
Calendar
Desktop calendar app designed for elementary OS
Stars: ✭ 78 (-36.59%)
Mutual labels:  gtk, gtk3
Applications Menu
Applications Menu for elementary OS and the Pantheon desktop environment
Stars: ✭ 84 (-31.71%)
Mutual labels:  gtk, gtk3
Stlwrt
A library which emulates many versions of GTK and visually resembles GTK+ 2
Stars: ✭ 41 (-66.67%)
Mutual labels:  gtk, gtk3
Wingpanel Indicator Nightlight
A Wingpanel indicator for Night Light
Stars: ✭ 20 (-83.74%)
Mutual labels:  gtk, gtk3
Ideogram
Insert emoji anywhere in elementary OS, even in non-native apps
Stars: ✭ 68 (-44.72%)
Mutual labels:  gtk, gtk3
Openjk Launcher
Launcher and installer for OpenJk
Stars: ✭ 16 (-86.99%)
Mutual labels:  gtk, gtk3
Avideo
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Stars: ✭ 1,329 (+980.49%)
Mutual labels:  video-player, media-player
Gamehub
All your games in one place
Stars: ✭ 1,341 (+990.24%)
Mutual labels:  gtk, gtk3
Plotinus
A searchable command palette in every modern GTK+ application
Stars: ✭ 805 (+554.47%)
Mutual labels:  gtk, gtk3

Glide Media Player

Glide is a simple and minimalistic media player relying on GStreamer for the multimedia support and GTK+ for the user interface. Glide should be able to play any multimedia format supported by GStreamer, locally or remotely hosted. Glide is developed in Rust and was tested on Linux and macOS so far. It should also work on Windows, please let me know if anyone managed to test it on that platform.

I aim to keep this project simple and it probably won't grow to become a very complicated GUI. If you feel adventurous and willing to help, feel free to pick up a task from the TODO list and open a PR. Users are also encouraged to file issues on the Github bug tracker of course.

alt text alt text

Installation

Install it with Cargo:

  1. Install RustUp:

    $ curl https://sh.rustup.rs -sSf | sh
    
  2. Install GStreamer and GTK+. On Debian/Linux:

    $ sudo apt install gstreamer1.0-plugins-{base,good,bad} libgstreamer-plugins-{bad,base}1.0-dev
    $ sudo apt install libgtk-3-dev gstreamer1.0-{gl,gtk3}
    

    On macOS, with brew:

    $ brew install pango gstreamer gtk+3
    $ brew install --build-from-source --with-pango --with-{libogg,libvorbis,opus,theora} gst-plugins-base
    $ brew install --build-from-source --with-libvpx gst-plugins-good
    $ brew install gst-plugins-bad
    
  3. Install Glide:

    $ cargo install glide
    $ # or if you want to have automatic update checking:
    $ cargo install --features self-updater glide
    

Packaging status

Flatpak

This is the most recommended way to use Glide as it will allow the maintainers to more easily reproduce reported bugs.

Glide is available on Flathub. After setting up the flathub Flatpak remote as documented in Flathub, install with the following command, or through GNOME Software.

$ flatpak install net.baseart.Glide

Fedora

Available in COPR:

$ sudo dnf copr enable atim/glide-rs -y
$ sudo dnf install glide-rs

Using Glide

There is currently only one way to use Glide, using the command line interface:

$ glide /path/to/localfile.mp4 http://some.com/remote/file.mp4

At some point I will add file chooser support and improve integration for desktop so that all you need to do is double-click on a media file or drag it to the Glide window.

Once running you can use some menus to switch the subtitle and audio tracks, play, pause, seek and switch the window to fullscreen. There are also some keyboard shortcuts for these actions:

  • play/pause: space
  • seek forward: meta-right or alt-left
  • seek backward: meta-left or alt-right
  • switch to fullscreen: meta-f or alt-f
  • exit from fullscreen: escape
  • quit the application: meta-q or ctrl-q
  • load a subtitle file: meta-s or alt-s
  • increase volume: meta-up or alt-up
  • decrease volume: meta-up or alt-down
  • mute the audio track: meta-m or alt-m
  • open a new file: meta-o or alt-o

Contact

I usually hang out on Freenode IRC, in #gstreamer using the philn nickname. Feel free to also reach out by mail (check git logs to find my address).

Release procedure

  • Bump version in Cargo.toml and meson.build

  • Add release info in appstream file and make sure it is valid...

      $ appstream-util validate data/net.baseart.Glide.appdata.xml
    
  • Commit and tag new version:

      $ git ci -am "Bump to ..."
      $ git tag -s "version..."
    
  • Build tarball:

      $ mkdir -p _build
      $ cargo install cargo-vendor
      $ pip3 install --user -U meson
      $ meson _build
      $ ninja -C _build release
    
  • Publish version and tag:

      $ git push --tags
      $ git push
    
  • Update crate on crates.io:

      $ cargo package
      $ cargo publish
    
  • Upload tarball from _build/dist/ to Github

  • TODO: Upload self-update binaries to Github

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].