Install and update may be automated as follows:
- Create a script on the docker host:
# inject_Plex_Playback_Speed_controls.sh
cd /usr/lib/plexmediaserver/Resources/Plug-ins-*/WebClient.bundle/Contents/Resources
wget -O "js/PlexPlaybackSpeed.js" "https://gist.githubusercontent.com/ZigZagT/b992bda82b5f7a2c9d214110273d3f3c/raw/Plex%2520Playback%2520Speed.user.js"
sed -i 's#</head>#<script src="/web/js/PlexPlaybackSpeed.js"></script></head>#' index.html
- Add execution permission to
inject_Plex_Playback_Speed_controls.sh
. - Mount
inject_Plex_Playback_Speed_controls.sh
script into container as start up script:
# docker-compose.yaml
services:
plex:
image: linuxserver/plex
tmpfs:
- /tmp
volumes:
# ... other volumes ...
- /path/to/inject_Plex_Playback_Speed_controls.sh:/etc/cont-init.d/99-inject_Plex_Playback_Speed_controls.sh
devices:
- /dev/dri:/dev/dri
restart: always
The latest script will be installed whenever the container restarts.
- Locate the WebClient directory in your Plex Server installation. This path varies depends on the server setup. Taking the plex server docker image provided by linuxserver.io as example, with image
linuxserver/plex:1.40.0
the WebClient bundle is located at/usr/lib/plexmediaserver/Resources/Plug-ins-c29d4c0c8/WebClient.bundle/Contents/Resources
. - Save the
Plex Playback Speed.user.js
file into thejs
folder. - Rename the downloaded file, remove
.user
part from the file extension. Otherwise user script extensions in users browser may mistakenly hijack the script request. - Edit
index.html
file, add a script tag that points to the downloaded script file. The path shuold be prefixed with/web
. For example, if script file is stored atjs/PlexPlaybackSpeed.js
, the<script>
tag should be<script src="/web/js/PlexPlaybackSpeed.js"></script>
The script will not update automatically with this installation.
- Install Tampermonkey or any equivalent user script extension in your browser;
- Open this link in your browser. The user script extension should automatically prompt for installation.
- Future script updates may be checked and installed automatically by user script extension.
- Install the Userscripts Safari extension from App Store.
- Enable the extension following its instruction. Make sure you have the
Save Location
setting configured. - Open this link in Safari, and save the file to the
Save Location
of your choice. - Future script updates may be checked and installed automatically by the Userscripts app.
- Use the turtle and rabbit icons in the control strip to slowdown / speedup
-
Use
<
or>
keys on the keyboard to decrease / increase speeds. -
Use number keys (1-9) to quickly set a preset speeds.
Try disable the Direct Play
option and leave Direct Stream
enabled in the Plex Web - Debug
settings.