Skip to main content

Automatic 'skip intro' for Plex with Chromecast support

Project description

Skippex

Skippex skips intros automatically for you on Plex, with support for the Chromecast.

IMPORTANT NOTE: This is still pretty much beta software. Expect bugs and please report them!

Installation

Installing Skippex through Docker is the easiest way to get started:

$ docker pull ghcr.io/sprt/skippex

Docker-compose example coming soon.

If you prefer not to use Docker, you can also use pipx, which will install Skippex in its own virtual environment:

$ pipx install skippex

Or you can just use pip:

$ pip install --user skippex

Usage

The first time you use Skippex, you'll first have to authorize the application with Plex using the following command. This will open a new tab in your Web browser allowing you to authenticate and authorize the application to access your Plex account.

Docker pipx & pip
$ docker run -v skippex:/data --network host ghcr.io/sprt/skippex auth $ skippex auth

Once that's done, you can simply run Skippex and it'll start monitoring your playback sessions and automatically skip intros for you on supported devices:

Docker pipx & pip
$ docker run -v skippex:/data --network host ghcr.io/sprt/skippex run $ skippex run

Et voilà! When this command says "Ready", Skippex is monitoring your shows and will automatically skip intros for you.

Note: Due to a Chromecast limitation, the Docker container has to run with host mode networking.

Things to know

  • Clients need to have "Advertise as player" enabled.
  • Only works for players on the local network.
  • Only skips once per playback session.
  • Solely based on the intro markers detected by Plex; Skippex does not attempt to detect intros itself.

Tested and supported players

  • Plex Web App
  • Plex for iOS (both iPhone and iPad)
  • Chromecast v3

The NVIDIA SHIELD might be supported as well, but I don't have one so I can't test it. Other players might also be supported. In any case, please inform me by creating a new issue, so I can add your player to this list.

Known issues

  • With a Chromecast, when seeking to a position, the WebSocket only receives the notification 10 seconds later. Likewise, the HTTP API starts returning the correct position only after 10 seconds. This means that if, before the intro, the user seeks to within 10 seconds of the intro, they may view it for a few seconds (before the notification comes in and saves us).

    One workaround would be to listen to Chromecast status updates using pychromecast, but that would necessitate a rearchitecture of the code.

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

skippex-0.2.4.tar.gz (20.7 kB view hashes)

Uploaded Source

Built Distribution

skippex-0.2.4-py3-none-any.whl (21.8 kB view hashes)

Uploaded Python 3

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