• Stars
    star
    3,099
  • Rank 14,505 (Top 0.3 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 3 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Jellyfin Desktop Client

Jellyfin Media Player

Desktop client using jellyfin-web with embedded MPV player. Supports Windows, Mac OS, and Linux. Media plays within the same window using the jellyfin-web interface unlike Jellyfin Desktop. Supports audio passthrough. Based on Plex Media Player.

Screenshot of Jellyfin Media Player

Downloads:

Related Documents:

Building at a glance (Linux)

To download the latest stable release, get the lattest version tag from the latest releases page and append the following to your pull command during the build phase for JMP "--branch $VERSIONTAG --single-branch"

Example:

git clone https://github.com/jellyfin/jellyfin-media-player.git --branch v1.9.1 --single-branch

Ubuntu based systems

Install dependancies:

sudo apt install build-essential autoconf automake libtool libharfbuzz-dev libfreetype6-dev libfontconfig1-dev libx11-dev libxrandr-dev libvdpau-dev libva-dev mesa-common-dev libegl1-mesa-dev yasm libasound2-dev libpulse-dev libuchardet-dev zlib1g-dev libfribidi-dev git libgnutls28-dev libgl1-mesa-dev libsdl2-dev cmake wget python g++ qtwebengine5-dev qtquickcontrols2-5-dev libqt5x11extras5-dev libcec-dev qml-module-qtquick-controls qml-module-qtwebengine qml-module-qtwebchannel qtbase5-private-dev curl unzip

Build commands for Ubuntu:

mkdir ~/jmp; cd ~/jmp
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
echo -Dlibmpv=true > mpv_options
echo -Dpipewire=disabled >> mpv_options # hopefully temporary
./rebuild -j4
sudo ./install
sudo ln -s /usr/local/lib/x86_64-linux-gnu/libmpv.so /usr/local/lib/x86_64-linux-gnu/libmpv.so.1
sudo ln -sf /usr/local/lib/x86_64-linux-gnu/libmpv.so /usr/local/lib/libmpv.so.2
sudo ldconfig
cd ~/jmp/
git clone https://github.com/jellyfin/jellyfin-media-player.git
cd jellyfin-media-player
./download_webclient.sh
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j4
sudo make install
rm -rf ~/jmp/

Fedora based systems

Install dependancies:

sudo dnf install autoconf automake libtool freetype-devel libXrandr-devel libvdpau-devel libva-devel  mesa-libGL-devel libdrm-devel libX11-devel  mesa-libEGL-devel yasm  alsa-lib pulseaudio-libs-devel zlib-devel fribidi-devel git gnutls-devel mesa-libGLU-devel  SDL2-devel cmake wget python g++  qt-devel libcec-devel qt5-qtbase-devel curl unzip qt5-qtwebchannel-devel qt5-qtwebengine-devel qt5-qtx11extras-devel mpv.x86_64 qwt-qt5-devel.x86_64 qt5-qtbase.x86_64 meson.noarch ninja-build.x86_64 qt5-qtbase-private-devel mpv-libs.x86_64

Build commands for Fedora:

Note, the only real differences here is that libraries are in diffrent directories on Fedora systems.

mkdir ~/jmp; cd ~/jmp
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build/
echo -Dlibmpv=true > mpv_options
echo -Dpipewire=disabled >> mpv_options # hopefully temporary
./rebuild -j4
sudo ./install
sudo mkdir /usr/local/lib/x86_64-linux-gnu
sudo ln -s /usr/local/lib64/libmpv.so /usr/local/lib/x86_64-linux-gnu/libmpv.so.1
sudo ln -s /usr/local/lib64/libmpv.so /usr/local/lib/x86_64-linux-gnu/libmpv.so
sudo ldconfig
cd ~/jmp/
git clone https://github.com/jellyfin/jellyfin-media-player.git
cd jellyfin-media-player/
./download_webclient.sh 
cd build/
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j4
sudo make install

Building for Windows

Please install:

  • cmake - cmake-3.20.0-windows-x86_64.msi
    • Add cmake to the path.
  • ninja
    • Place this in the build directory.
  • QT
    • This package is huge. You also need to make a QT account...
    • Check "MSVC 2019 64-bit" and "Qt WebEngine" under QT 5.15.2.
  • VS2019 Build Tools
    • Again this will use a lot of disk space. The installer is small though.
  • libmpv1
    • Place the contents in the build directory, in a subfolder called mpv.
    • Move the contents of the include folder to an mpv folder inside the include folder.
    • Move the mpv-1.dll to mpv.dll.
  • WIX

You need to run these commands in git bash.

git clone https://github.com/jellyfin/jellyfin-media-player
cd jellyfin-media-player
./download_webclient.sh
cd build

Open the "x86_x64 Cross Tools Command Prompt for VS 2019". cd to the build directory. Run:

set PATH=%PATH%;C:\Program Files (x86)\WiX Toolset v3.11\bin
cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=output -DCMAKE_MAKE_PROGRAM=ninja.exe -DQTROOT=C:/Qt/5.15.2/msvc2019_64 -DMPV_INCLUDE_DIR=mpv/include -DMPV_LIBRARY=mpv/mpv.dll -DCMAKE_INSTALL_PREFIX=output ..
lib /def:mpv\mpv.def /out:mpv\mpv.dll.lib /MACHINE:X64
ninja
ninja windows_package

Building for MacOS

Install QT 5.15.2, remember to check Qt WebEngine.

Then run the following commands (replace <QT_DIR> with your QT installation location):

brew install mpv ninja
./download_webclient.sh
cd build
cmake -GNinja -DQTROOT=<QT_DIR> -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output ..
ninja install

To create redistributable bundle, some library paths need to be fixed. At the project root directory, run:

python3 ./scripts/fix-install-names.py ./build/output/Jellyfin\ Media\ Player.app

Log File Location

  • Windows: %LOCALAPPDATA%\JellyfinMediaPlayer\logs
  • Linux: ~/.local/share/jellyfinmediaplayer/logs/
  • Linux (Flatpak): ~/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/logs/
  • macOS: ~/Library/Logs/Jellyfin Media Player/

Config File Location

The main configuration file is called jellyfinmediaplayer.conf. You can also add a mpv.conf to configure MPV directly.

  • Windows: %LOCALAPPDATA%\JellyfinMediaPlayer\
  • Linux: ~/.local/share/jellyfinmediaplayer/
  • Linux (Flatpak): ~/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/
  • macOS: ~/Library/Application Support/Jellyfin Media Player/

Web Debugger

To get browser devtools, use remote debugging.

  • Run the application with the command argument --remote-debugging-port=9222.
  • Open Chromium or Google Chrome.
  • Navigate to chrome://inspect/#devices.
  • You can now access the developer tools.

If you have problems:

  • Make sure "Discover Network Targets" is checked.
  • Make sure localhost:9222 is in the list under "Configure...".
  • Make sure --remote-debugging-port=9222 is specified correctly.

License

Jellyfin Media Player is licensed under GPL v2. See the LICENSE file. Licenses of dependencies are summarized under resources/misc/licenses.txt. This file can also be printed at runtime when using the --licenses option.

Unofficial Plugin Support

You can enable experimental support for Jellyscrub and Skip Intro in client settings. These are included for convenience only and is not an endorsement or long-term commitment to ensure functionality. See src/native for details on what the plugins modify code-wise.

Known Issues

If you build MPV from source, you currently need to disable pipewire or else the client will segfault.

More Repositories

1

jellyfin

The Free Software Media System
C#
33,564
star
2

jellyfin-androidtv

Android TV Client for Jellyfin
Kotlin
2,702
star
3

Swiftfin

Native Jellyfin Client for iOS and tvOS
Swift
2,496
star
4

jellyfin-web

Web Client for Jellyfin
JavaScript
2,295
star
5

jellyfin-mpv-shim

MPV Cast Client for Jellyfin
Python
1,579
star
6

jellyfin-android

Android Client for Jellyfin
Kotlin
1,465
star
7

jellyfin-vue

A modern web client for Jellyfin based on Vue
Vue
1,266
star
8

jellyfin-tizen

Jellyfin Samsung TV Client
JavaScript
929
star
9

jellyfin-kodi

Jellyfin Plugin for Kodi
Python
845
star
10

jellyfin-webos

WebOS Client for Jellyfin
JavaScript
644
star
11

jellyfin-ffmpeg

FFmpeg for Jellyfin
C
476
star
12

jellyfin-roku

The Official Roku Client for Jellyfin
BrighterScript
442
star
13

TMDbLib

C#.Net library for TheMovieDB
C#
356
star
14

jellycon

Kodi Addon for Jellyfin
Python
311
star
15

jellyfin-expo

Jellyfin Mobile for iOS
JavaScript
307
star
16

jellyfin-plugin-template

Plugin Template for Jellyfin
HTML
246
star
17

jellyfin-plugin-bookshelf

C#
208
star
18

jellyfin-plugin-trakt

C#
179
star
19

jellyfin-plugin-webhook

C#
143
star
20

jellyfin-chromecast

Chromecast Client for Jellyfin
TypeScript
133
star
21

jellyfin-plugin-opensubtitles

C#
121
star
22

jellyfin-plugin-ldapauth

LDAP Authentication for Jellyfin
C#
112
star
23

mopidy-jellyfin

Jellyfin Extension for Mopidy
Python
93
star
24

jellyfin-apiclient-python

Python API Client for Jellyfin
Python
90
star
25

jellyfin-sdk-kotlin

Kotlin SDK for Jellyfin, supporting Android and JVM targets
Kotlin
88
star
26

jellyfin.org

The Jellyfin website, blog, and user documentation
MDX
81
star
27

jellyfin-server-windows

The Windows tray app and installer for Jellyfin Server on Windows.
C
80
star
28

jellyfin-plugin-tmdbboxsets

C#
78
star
29

jellyfin-sdk-typescript

TypeScript SDK for Jellyfin
TypeScript
75
star
30

jellyfin-uwp

UWP Client for Jellyfin
C#
63
star
31

jellyfin-server-macos

The menu bar app and package for Jellyfin Server on macOS.
Swift
60
star
32

jellyfin-plugin-tvdb

C#
50
star
33

jellyfin-sdk-swift

Swift SDK for Jellyfin
Swift
46
star
34

jellyfin-plugin-kodisyncqueue

C#
45
star
35

jellyfin-plugin-anilist

C#
37
star
36

jellyfin-plugin-subtitleextract

C#
36
star
37

jellyfin-plugin-anidb

This plugin adds the metadata provider for aniDB to Jellyfin
C#
36
star
38

jellyfin-androidx-media

Prebuilt AndroidX Media3 extension(s) used in the Jellyfin project.
Kotlin
33
star
39

jellyfin-plugin-opds

C#
32
star
40

jellyfin-ux

UX Elements for Jellyfin
Shell
31
star
41

jellyfin-plugin-tvheadend

C#
31
star
42

jellyfin-plugin-reports

Reports Plugin for Jellyfin
C#
30
star
43

jellyfin-plugin-nextpvr

C#
25
star
44

jellyfin-meta

A repository to hold our roadmap, policies, and more.
25
star
45

jellyfin-plugin-fanart

C#
23
star
46

jellyfin-sdk-csharp

C# SDK for Jellyfin Supporting DotNet Standard and Core Targets
C#
20
star
47

jellyfin-plugin-simkl

C#
20
star
48

jellyfin-plugin-vgmdb

VGMdb provider for Jellyfin
C#
17
star
49

jellyfin-packaging

Jellyfin Packaging and Build Workflows
Python
17
star
50

jellyfin-helm

Kubernetes Helm Chart for Jellyfin
Mustache
17
star
51

jellyfin-plugin-dlna

C#
15
star
52

jellyfin-build

Shell
14
star
53

jellyfin-meta-plugins

Shell
13
star
54

jellyfin-plugin-transcodekiller

C#
13
star
55

jellyfin-plugin-tmdb

C#
10
star
56

jellyfin-artwork

9
star
57

jellyfin-plugin-sessioncleaner

C#
9
star
58

Jellyfin.XmlTv

C#
9
star
59

jellyfin-plugin-imvdb

C#
9
star
60

jellyfin-plugin-coverartarchive

Jellyfin Plugin for the MusicBrainz Cover Art Archive
C#
8
star
61

jellyfin-plugin-anisearch

C#
8
star
62

jellyfin-plugin-musicbrainz

C#
8
star
63

BDInfo

BDInfo Fork
C#
7
star
64

jellyfin-plugin-discogs

Jellyfin Discogs Plugin
C#
7
star
65

jellyfin-skiasharp-native

SkiaSharp Module for Jellyfin
Shell
6
star
66

jellyfin-plugin-tvmaze

C#
5
star
67

jellyfin-plugin-kitsu

C#
5
star
68

jellyfin-plugin-omdb

C#
4
star
69

jellyfin-plugin-artwork

C#
4
star
70

.github

3
star
71

jellyfin-triage-scripts

jellyfin triage script
Python
2
star