Skip to main content

Mopidy extension for playing music from jellyfin

Project description

Latest PyPI version

Mopidy extension for playing audio files from Jellyfin

Notes:

  • Supports both “Music” and “Book” media types

  • Tested using ncmpcpp, M.A.L.P., and various mopidy web frontends.
    • When using ncmpcpp, it’s recommended to set mpd_connection_timeout = 30, particularly if browsing folders that have a large number of items inside them

    • There is some inconsistency in M.A.L.P. where you may have to go to the menu and select ‘Show All Tracks’ for the library to populate properly

  • MPDroid on Android does not work properly

Installation

Install by running:

pip install Mopidy-Jellyfin

Mopidy-Jellyfin has officially moved to Python 3 with the release of Mopidy 3.0. All future updates will target this newer version.

Configuration

Before starting Mopidy, you must add configuration for Mopidy-Jellyfin to your Mopidy configuration file:

[jellyfin]
hostname = Jellyfin server hostname
username = username
password = password
user_id = userid (Optional: Needed for token authentication)
token = token (Optional: Use for authentication instead of username and password)
libraries = Library1, Library2 (Optional: will default to "Music" if left undefined)
albumartistsort = False (Optional: will default to True if left undefined)
album_format = {ProductionYear} - {Name} (Optional: will default to "{Name}" if left undefined)
max_bitrate = number
  • libraries determines what is populated into Mopidy’s internal library (view by Artists/Album/etc). Using the file browser will show all libraries in the Jellyfin server that have a ‘music’ type.

  • albumartistsort changes whether the media library populates based on “Artist” or “Album Artist” metadata

  • album_format can be used to change the display format of music albums when using the file browser view. Currently the only really usable fields are ProductionYear and Name

    max_bitrate is used to trigger transcoding if a file is over a given bitrate (in kbps)

Development

  1. Install mopidy to your host system, preferably using the native package manager. This handles all of the required dependencies.

  2. Clone the repo to your local workstation

    $ git clone git@github.com:jellyfin/mopidy-jellyfin.git && cd mopidy-jellyfin

  1. Set up a virtualenv. We need to include system packages since some things don’t behave well inside of a virtualenv (such as PyGObject or interacting with pulseaudio). Note that with the release of Mopidy 3.0 only Python 3.7 or newer is supported.

    $ python -m venv env --system-site-packages

  2. Install mopidy-jellyfin to the virtualenv.

    $ env/bin/python setup.py develop

  3. Do your thing.

    Mopidy can be launched from the virtualenv with env/bin/mopidy

Project resources

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mopidy_jellyfin-1.0.6.tar.gz (39.6 kB view details)

Uploaded Source

File details

Details for the file mopidy_jellyfin-1.0.6.tar.gz.

File metadata

  • Download URL: mopidy_jellyfin-1.0.6.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for mopidy_jellyfin-1.0.6.tar.gz
Algorithm Hash digest
SHA256 20a08fca932e96e474fa63002e9f25075a01d694b0e2b378ace97f78a9fe42fa
MD5 003f1c340611e17a1a315cff8e7ac9e4
BLAKE2b-256 c9d5cbcc26589eb3dbab6ec52cb9a26ecca47143d5d9e61d727958f0887dfb0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page