Skip to main content

Media Player Broker

Project description

README

NOTICE: this app is being released in beta status, things will likely change but we will do our best to make non-breaking changes.

Media Player Broker (mpb) is an application that helps you play and track media you have watched over disparet locations. mpb keeps track of what you have played at Location A so when you are at Location B you can see what you have watched from either location to avoid digging through history command output over SSH. mpb is not a player itself, it can be configured to launch a player such as vlc, smplayer or others when you use the 'play' command.

The Need

I needed something that remembers what episode of MacGyver I had watched in one location so when I was in another location I could continue watching the next episode without digging through history output or keeping track of what was played where.

mpb consists of a CLI application (the client) and a database (couchdb). From the client you injest your media metadata. This extracts the file names from file paths and stores the data in the database. After injesting, you can list your media which shows you the media Item, whether it has been watched or not along with a Rating, Notes, and the Sources the item is available at. You can then use the play command along with the Item to watch the Item. After playback is completed you are prompted to mark the item as played/watched, Rate it and add Notes - all of which are used in the list command to show what you have already watched and what is new.

Install

We recommend using pipx to install mpbroker: pipx install mpbroker. You can also install via pip: pip install --user mpbroker.

mpbroker uses a config file to store your setup. This file contains information such as your media player, the database url, and types of data to injest. You can grap the sample config file at mpbroker/example/user_config.toml and place it in a config location. mpbroker searches the following locations for the config file in order of preference:

  • $MPB_CONFIG_HOME: set this environment variable to any path you like and place the mpbroker user_config.toml file in this location
  • $XDG_CONFIG_HOME/mpbroker
  • $APPDATA/mpbroker
  • $HOME/.config/mpbroker

Configure

NOTICE:

  • an example user_config.toml file can be found in the mpbroker/example directory
  • if you do not want to use the standard locations and do not want to set a MPB_CONFIG_HOME envvar you can set MPB_CONFIG_HOME on the command line before calling mpb such as MPB_CONFIG_HOME=/opt/tmp mpb list 'The_Matrix')

To set up MBP you need to:

  • create your user_config.toml file (see above for locations of this file)
  • configure your user_config.toml file (at a minimum you will need to set/change the database.db_uri value)
  • ensure your mpb database is available
    • use the db-init command to initialize your db if it is a new instance!

If you are testing mpb or do not have a database you can use docker-compose to start a local database: docker-compose up. If you use the local database your database.db_uri should be http://admin:couchdb@localhost:5984.

Using mpb

mpb has built in help (mpb --help) which should give you enough info to get going.

A Quick Start:

  • you will likely want to injest some media
  • next you can use list to view/find an item to play
  • finally you can play an item

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

mpbroker-0.3.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

mpbroker-0.3.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file mpbroker-0.3.0.tar.gz.

File metadata

  • Download URL: mpbroker-0.3.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.17.4-artix1-1

File hashes

Hashes for mpbroker-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f773b2562e4596cf69c2ab0a67e2a83894a6fde6d221c0ffe07fb50dc60a74cf
MD5 c801ef66fd76e94cc9e70e15b764c9b4
BLAKE2b-256 982e83d299039a29a4d168472e99e55cc8470baec1a5e5ad05e7d5629903bd21

See more details on using hashes here.

File details

Details for the file mpbroker-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mpbroker-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.17.4-artix1-1

File hashes

Hashes for mpbroker-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3e61eaefe082646fb45743d2049815e6cb56e03992860497cf248d9a20a140d
MD5 5b99a3d0ab1da0b084f07bf88a383ec1
BLAKE2b-256 694df81cedbe88e14a4b3f20b4b56d0bc6f0e65cc0779beb1072d68a432aa1a8

See more details on using hashes here.

Supported by

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