Skip to content
Permalink
Browse files

Update README

  • Loading branch information...
iamkroot committed Oct 31, 2019
1 parent 65e0eba commit ab132ca74004976f7a31a327efbf6d7ea23e1458
Showing with 23 additions and 33 deletions.
  1. +23 −33 README.md
@@ -5,27 +5,28 @@ A trakt.tv scrobbler for your computer.
Automatically scrobble TV show episodes and movies you are watching to [Trakt.tv](https://trakt.tv)! It keeps a history of everything you've watched!

## What is trakt-scrobbler?
Trakt.tv has a lot of [plugins](https://trakt.tv/apps) to automatically scrobble the movies and episodes you watch from your media center. But there is a dearth of up-to-date apps for syncing your progress on Desktop environments. This is where `trakt-scrobbler` comes in! Built using Python, it supports all major OS platforms (Linux, Mac and Windows), as well as all major media players.
Trakt.tv has a lot of [plugins](https://trakt.tv/apps) to automatically scrobble the movies and episodes you watch from your media center. But there is a dearth of up-to-date apps for syncing your progress on Desktop environments. This is where `trakt-scrobbler` comes in! It is a Python application that runs in the background and monitors your media players for any new activity. When it detects some file being played, it determines the media info (such as name of the movie/show, episode number, etc.) and sends this to trakt servers, so that it can be marked as "Currently Watching" on your profile. No manual intervention required!

## Features
+ Uses [guessit](https://github.com/guessit-io/guessit) to extract media information from its file path. For cases when it misidentifies the files, you can specify a regex to manually extract the necessary details.
+ Scrobbling is independent of the player(s) where the media is played. Support for new players can thus be easily added.
+ Currently has support for:
+ [VLC](https://www.videolan.org/vlc/) (via web interface)
+ [MPV](https://mpv.io) (via IPC server)
+ [MPC-BE](https://sourceforge.net/projects/mpcbe/) (via web interface).
+ [MPC-HC](https://mpc-hc.org) (via web interface).
* Uses [guessit](https://github.com/guessit-io/guessit) to extract media information from its file path. For cases when it misidentifies the files, you can specify a regex to manually extract the necessary details.
* Scrobbling is independent of the player(s) where the media is played. Support for new players can thus be easily added.
* Currently has support for:
* [VLC](https://www.videolan.org/vlc/) (via web interface)
* [MPV](https://mpv.io) (via IPC server)
* [MPC-BE](https://sourceforge.net/projects/mpcbe/) (via web interface).
* [MPC-HC](https://mpc-hc.org) (via web interface).
* **Folder whitelisting:** Only media files from subdirectories of these folders are synced with trakt.

## Getting started
### Setting up
#### Players
+ VLC: Enable the Lua Web Interface from advanced options. Don't forget to specify the password in Lua options.
* **VLC:** Enable the Lua Web Interface from advanced options. Don't forget to specify the password in Lua options.

![VLC Web Interface](https://wiki.videolan.org/images/thumb/VLC_2.0_Activate_HTTP.png/450px-VLC_2.0_Activate_HTTP.png)

+ MPV: Enable the [JSON IPC](https://mpv.io/manual/master/#json-ipc), either via the mpv.conf file, or by passing it as a command line option.
* **MPV:** Enable the [JSON IPC](https://mpv.io/manual/master/#json-ipc), either via the mpv.conf file, or by passing it as a command line option.

+ MPC-BE/MPC-HC: Enable the web interface from Options.
* **MPC-BE/MPC-HC:** Enable the web interface from Options.

#### Configuration
The config is stored in [TOML](https://github.com/toml-lang/toml) format. After editing, please use [this](http://toml-online-parser.ovonick.com/) website to validate the file.
@@ -42,13 +43,13 @@ Other player specific parameters| See sample config for the required attributes.
2. Rename the `sample_config.toml` to `config.toml` and set the required values (See [Configuration](#Configuration) section).
3. Ensure you have [Python 3.6](https://www.python.org/downloads/) or higher installed, and in your system `PATH`.
4. Depending on your OS, proceed as follows:
+ **Linux**<br>
* **Linux**<br>
At the root of cloned project directory, run `scripts/linux-install-service.sh`. This will copy the files to `~/.local/trakt-scrobbler`, create the virtualenv, enable the startup service and finish device authentication with trakt.

+ **Windows**<br>
* **Windows**<br>
At the root of cloned project directory, run `scripts\windows-install.bat`. This will copy the files to `%LOCALAPPDATA%\trakt-scrobbler` directory, create the virtualenv, enable the startup service and finish device authentication with trakt.

+ **MacOS**<br>
* **MacOS**<br>
I will try to make a install script for Mac soon. Till then, here are the manual steps you can follow:
1. Inside the project directory root, run `pipenv install`. This will create a virtualenv, and install the necessary requirements.
2. Run `pipenv --py` to find the location of python interpreter of virtualenv.
@@ -63,29 +64,18 @@ Other player specific parameters| See sample config for the required attributes.
- Ubuntu: `apt install python3-dbus`

## Updating
Substitute the values according to your OS in the following steps
- Linux:
- `Dir2`: `~/.local/trakt-scrobbler`
- Kill app: `systemctl --user stop trakt-srobbler`
- Mac:
- `Dir2`: Depends on where you installed.
- Kill app: `launchctl unload ~/Library/LaunchAgents/trakt_scrobbler.plist`
- Windows:
- `Dir2`: `%LOCALAPPDATA%\trakt-scrobbler`
- Kill app: Kill `pythonw.exe` from task manager

Steps:
1. Clone/download this repo at some place (let's call this `Dir1`)
2. Kill app (method depends on OS).
3. Delete the folder at `Dir2`.
4. Run the install script from `Dir1\scripts`.
1. Kill the currently installed app:
- Linux: `systemctl --user stop trakt-srobbler`
- Mac: `launchctl unload ~/Library/LaunchAgents/trakt_scrobbler.plist`
- Windows: Terminate `pythonw.exe` from task manager
2. Follow the steps given in [Installation section](#installation)

## Contributing
Feel free to create a new issue in case you find a bug/want to have a feature added. Proper PRs are welcome.

## Authors
+ [iamkroot](https://www.github.com/iamkroot)
* [iamkroot](https://www.github.com/iamkroot)

## Acknowledgements
+ Inspired from [TraktForVLC](https://github.com/XaF/TraktForVLC)
+ [mpv-trakt-sync-daemon](https://github.com/stareInTheAir/mpv-trakt-sync-daemon) was a huge help in making the mpv monitor
* Inspired from [TraktForVLC](https://github.com/XaF/TraktForVLC)
* [mpv-trakt-sync-daemon](https://github.com/stareInTheAir/mpv-trakt-sync-daemon) was a huge help in making the mpv monitor

0 comments on commit ab132ca

Please sign in to comment.
You can’t perform that action at this time.