Skip to content

About

A Rust app for Emby Client with focusing of SVP integration, rebuild based on API documentation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

79 Commits

Folders and files

Repository files navigation

Emby Client+

A native Emby client for Linux, Windows and macOS with SVP frame interpolation, built for the desktop and Steam Game Mode.

Description

A GTK4/libadwaita Emby client with libmpv embedded in-process. Its libmpv has VapourSynth, so SVP 4 attaches just as it does to a standalone mpv.

Features

  • Browsing: Home follows your Emby library order and visibility; library grids with remembered sort/filter, Suggestions and Collections tabs; series, seasons, cast, More Like This, Included In, favourites, History, search.
  • Playback: direct play or transcode (Original down to 420 kbps), version picker, resume and watched state synced, chapters with seek-bar previews, Skip Intro/Credits, Up Next, aspect/zoom, black-bar blur/glow.
  • Picture: quality presets or custom scalers/debanding, deinterlacing, FSR and Anime4K shaders plus your own, per title.
  • SVP: attaches when SVP 4 is installed; per-title toggle with a status light; mpv frame blending as an alternative.
  • Profile: your Emby account's own settings (languages, subtitle mode, autoplay, intro skipping, hidden watched items, library order), picture, password and PIN; shared with Emby's apps.
  • Downloads: original files for offline play with the full player; pause and resume, resuming after the app closes, with disk space shown; auto-download keeps a series' next unwatched episodes and can delete watched ones; downloaded titles are badged.
  • Music: mini player, queue, shuffle/repeat, gapless, playlists, Instant Mix, media keys and now-playing on every OS.
  • Controller & Steam Deck: everything works with a gamepad, with on-screen hints and remappable buttons; Steam library artwork included.
  • Also: standalone player for local files and links (--player), UI size 50–200%, light/dark theme, own mpv.conf, YouTube trailers (yt-dlp), self-updates.

Installation

From Releases:

System File Install
Linux, SteamOS EmbyClientPlus-<version>-x86_64.AppImage chmod +x, then run it
Linux embyclientplus-<version>-linux-x86_64.tar.gz extract, ./install.sh (./uninstall.sh removes it); needs GTK 4.12+, libadwaita 1.6+, FFmpeg, libplacebo
Windows embyclientplus-<version>-windows-x86_64.zip extract anywhere, run Emby Client+.exe
macOS (Apple Silicon) embyclientplus-<version>-macos-arm64.zip extract, move Emby Client+.app to Applications

macOS: the app isn't notarized; allow it once in System Settings → Privacy & Security → Open Anyway (or xattr -dr com.apple.quarantine "/Applications/Emby Client+.app").

Every build updates itself (Preferences → Updates). SVP 4 is optional and found in its usual folder (~/SVP4, C:\Program Files\SVP 4, /Applications/SVP 4 Mac.app) or one you set.

Building from source

Linux needs Rust, meson, ninja and the GTK4, libadwaita, FFmpeg, libplacebo, libass and VapourSynth dev files:

scripts/build-libmpv.sh && cargo build --release && target/release/embyclientplus
EMBYCLIENTPLUS_PORTABLE=1 cargo build --release && packaging/package.sh   # release packages → dist/

Windows (MSYS2 UCRT64) and macOS (Homebrew) use their packaged mpv; see the windows and macos jobs in .github/workflows/build.yml and packaging/package-{windows,macos}.sh.

Usage

Sign in to your Emby server (remembered), pick a title, press Play. App settings are in Home's menu → Preferences; your account's settings are on Profile (the avatar, top right).

  • Downloads: the download button on a movie or episode page, or Download in any item's menu (X on a controller, right-click). A series' Download menu also has Auto-download…. Files go to Videos/Emby Client+ (Preferences → Downloads); Home's menu → Downloads lists them.
  • Video: Preferences → Video picks a preset (Auto, Fast for Steam Deck, Balanced, High quality, Custom). The player's Shaders button picks one preset per group (FSR, Anime4K, yours), remembered per title. Your own shaders go in the shaders folder next to config.toml: a folder per group, a .glsl file (or a subfolder of them) per preset.
  • Server identity: the server lists the app as Emby Web by default; turn off Preferences → Server → "Appear as a web browser" to list it as Emby Client+ (sign in again).
  • Steam Game Mode: add the AppImage (or ~/.local/bin/embyclientplus) as a non-Steam game with the Gamepad layout. Artwork is in EmbyClientPlus-<version>-steam-library.zip on the release page (and the archive's steam-library/); set it from the shortcut's library page.

Keyboard and controller

Both are remappable (Preferences → Keyboard, Controller); the legend at the bottom left shows the current screen's buttons.

Key Action Button Browsing Player
Space / K Play/pause A Select Play/pause
← / → Seek ±10 s B Back Leave player
↑ / ↓ Volume ±5 X Item menu Audio menu
M Mute Y Home Subtitle menu
, / . Previous/next episode LB / RB Previous/next tab or season Previous/next episode
PgUp / PgDn Previous/next chapter LT / RT Music panel Previous/next chapter
F / F11 Fullscreen Select Search Skip intro/credits
Q Skip intro/credits Start Preferences On-screen controls
Esc Leave fullscreen, then the player D-pad Move Seek (←/→), volume (↑/↓)

Command line

embyclientplus                       # the app
embyclientplus --player [file|url]   # just the player; plays the next video in the folder after it
embyclientplus <file|url>            # same as --player <file|url>
embyclientplus --help | --version

FAQ

SVP doesn't kick in? The SVP button shows why: green interpolating, amber waiting for SVP Manager, red SVP Manager not running, grey SVP not found.

Where are settings and logs? config.toml and logs/ are in ~/.config/embyclientplus/ (Linux), %APPDATA%\EmbyClient+\ (Windows) or ~/Library/Application Support/EmbyClient+/ (macOS).

Does auto-download convert files on the server? No, it downloads the original files, like any download, so the server does no transcoding.

Is HDR supported? Not really: HDR plays converted to SDR, untested. SVP starts off for HDR titles unless you turn it on for that title.


Notes

Icons: Lucide (ISC, data/icons/LICENSE), converted for GTK by scripts/update-icons.sh (needs picosvg).

Built and maintained with the help of AI.

About

A Rust app for Emby Client with focusing of SVP integration, rebuild based on API documentation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages