Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 1.87 KB

README.md

File metadata and controls

73 lines (55 loc) · 1.87 KB

Light Video

Minimalist video player using GTK4, libadwaita and GStreamer. The main purpose is to make playing hardware accelerated videos with e.g. hantro and OpenGL simple.

It supports:

  • Inhibiting suspend/idle when playing video
  • Stopping video playback on (i.e. power button toggled) blank
  • Registering as default video player in GNOME control center
  • A MPRIS interface to control the playback
  • Resuming position on previously played videos
  • Playing videos from popular online sites using yt-dlp as "preprocessor".

Playing video in landscape fullscreen mode

Building

Flatpak build:

# Intial setup
flatpak install --user org.gnome.Sdk//master
flatpak install --user org.gnome.Platform//master
# Build
flatpak-builder --force-clean  --install --user _build/ org.sigxcpu.Livi.json

Regular build:

# Intial setup
apt build-dep .
# Build
meson setup . _build
meson compile -C _build

Using

To play a video using the preprocessor use -Y:

livi -Y <url>

For this to work yt-dlp needs to be able to fetch a combined audio and video stream. If this is possible for a given URL with the current yt-dlp configuration can be checked with:

yt-dlp --list-formats <url>

At least one of the listed format there needs to contain a video and audio stream as you'd otherwise get video playback without audio when playing the URL in livi.

You can wiggle yt-dlp option to see if you can find a combined format. Common options there are --format-sort and --extractor-args. Once you've found suitable options you can put them into `~/.config/yt-dlp.conf. E.g.

cat <<EOF > ~/.config/yt-dlp.conf
--format-sort=codec:h264,codec:vp8
--extractor-args=youtube:player-client=android
EOF