Jellyfin Desktop Client
Go to file
2021-04-23 17:07:53 -04:00
.github Update issue templates 2021-04-21 00:01:39 -04:00
.vscode Initial try at taskbar-local. 2021-04-23 12:51:02 -04:00
bundle Update vcredist location. (Should really make variable.) 2021-04-11 01:58:02 -04:00
CMakeModules Add Windows taskbar integration. 2021-04-23 10:51:37 +03:00
debian Fix debian again. 2021-04-20 00:41:34 -04:00
deployment Fix tzdata and equivs. 2021-04-12 22:51:49 -04:00
external Fix Qt 5.15 QTextStream deprecation warnings 2021-04-13 10:19:38 +02:00
native Re-work TaskbarComponent. (#61) 2021-04-23 17:07:53 -04:00
resources Up release to 1.4.1. 2021-04-19 22:29:41 -04:00
scripts Comply with PEP8. 2021-04-14 00:22:10 -04:00
src Re-work TaskbarComponent. (#61) 2021-04-23 17:07:53 -04:00
.clang-format Initial public commit of Plex Media Player 2015-10-13 11:05:27 +02:00
.clang-tidy Adjust .clang-tidy for public struct member names 2016-04-12 08:47:41 +02:00
.gitignore Initial test of linux builds. 2021-04-12 22:44:32 -04:00
client-api.md Cleanup settings, use tv setting, enable hwdec by default. 2021-04-18 14:27:29 -04:00
CMakeLists.txt Remove breakpad 2021-04-05 10:18:20 -04:00
download_webclient.sh Add download_webclient.sh script. 2021-04-08 19:49:44 -04:00
LICENSE License under GPLv2 2015-10-13 11:06:01 +02:00
README.md Add log and config locations. 2021-04-21 17:11:05 -04:00

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:

  • Corresponding web client: Repo Release
  • API Docs in client-api.md
  • Tip: For help building, look at the GitHub Actions file!

Building at a glance (Linux)

sudo apt install 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
mkdir jmp; cd jmp
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
echo --enable-libmpv-shared > mpv_options
echo --disable-cplayer >> mpv_options
./rebuild -j4
sudo ./install
sudo ldconfig
cd ~/jmp/
git clone git://github.com/iwalton3/jellyfin-media-player
cd jellyfin-media-player
mkdir build
cd build
wget https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-1.7.2-2/dist.zip
unzip dist.zip
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j4
sudo make install
rm -rf ~/jmp/

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/iwalton3/jellyfin-media-player
cd jellyfin-media-player
mkdir build && cd build
curl -L https://github.com/iwalton3/jellyfin-web-jmp/releases/download/jwc-10.7.2-2/dist.zip > dist.zip
unzip dist.zip

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

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/

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.