Automatically skip tagged content in Plex
A background python script that monitors local playback on your server and will automatically 'press' the Skip Intro button or skip other similarly tagged content automatically. Maintains real-time playback states for your server (not dependent on API updates) for accurate skip timing. Threaded to handle multiple players simultaneously. Several layers of state validation to prevent unnecessary stuttering/buffering. Custom definitions allow you to expand on features and functionality beyond what is automatically detected by Plex. Works with all automatically tagged markers including intros, credits, and advertisements.
Plex is moving towards adding native intro skipping at the client level which is ultimately the better solution. As a result there won't be any new major features being added to this project. Will continue to maintain minor bug fixes so it keeps working for unsupported players and will be happy to review pull requests
https://forums.plex.tv/t/player-experience/857990
- LAN sessions (not remote) as Plex does not allow seeking adjustments via the API for remote sessions
- "Advertise as Player" / Plex Companion compatible player
See https://github.com/mdhiggins/PlexAutoSkip/wiki/Troubleshooting#notice for changes to Plex Web based players
- Skip any Plex identified markers with adjustable offsets
- Markers (Can skip any marker but Plex includes the following with Plex Pass)
- Intros
- Commercials
- Advertisements
- Credits
- Chapters
- Markers (Can skip any marker but Plex includes the following with Plex Pass)
- Only skip for watched content
- Ignore skipping series and season premieres
- Ignore skipping first episodes in every new viewing session
- Skip last chapter (credits)
- Bypass the "Up Next" screen
- Custom Definitions
- Define your own markers when auto detection fails
- Filter clients/users
- Export and audit Plex markers to make corrections / fill in gaps
- Bulk edit marker timing
- Negative value offsets to skip relative to content end
- Mute or lower volume instead of skipping
- Client must support Plex setVolume API call
- Docker
- Python3
- PIP
- PlexPass (for automatic markers)
- PlexAPI
- Websocket-client
- Enable
Enable local network discovery (GDM)
in your Plex Server > Network settings - Enable
Advertise as player
on Plex players - Ensure you have Python and PIP installed
- Clone the repository
- Install requirements using
pip install -r ./setup/requirements.txt
- Run
main.py
once to generate config files or copy samples from the./setup
directory and rename removing the.sample
suffix - Edit
./config/config.ini
with your Plex account or Plex server settings - Run
main.py
Script has fallback methods for when GDM is not enabled or is nonfunctional
- See https://github.com/mdhiggins/PlexAutoSkip/wiki/Configuration#configuration-options-for-configini
Optional custom parameters for which movie, show, season, or episode should be included or blocked. You can also define custom skip segments for media if you do not have Plex Pass or would like to skip additional areas of content
- See https://github.com/mdhiggins/PlexAutoSkip/wiki/Configuration#configuration-options-for-customjson
- For a small but hopefully growing repository of community made custom markers, please see https://github.com/mdhiggins/PlexAutoSkipCustomMarkers
Additional support script that contains features to check and modify your custom definition files in mass. Can offset entire collections of markers, export data from Plex, convert between GUID and ratingKey formats and more
# Get started
python custom_audit.py --help