Synchronize PotPlayer playback progress across multiple machines using UDP.
- Live progress view for local and remote peers
- Optional sync of seek and play/pause state via unified
eventmessages - Simple UDP broadcast to multiple peers
- Windows (uses Win32 window APIs)
- Python 3.9+
- PotPlayer running
richfor--watch/--syncUI
pip install richpython potsync.py --listen 0.0.0.0:5000 --peers 192.168.1.10:5000 --syncOptions:
--title: Window title substring to match (default: PotPlayer)--listen/--in: UDP listen address list (repeatable or comma-separated)--peers/--peer/--out: Peer targets (repeatable or comma-separated)--watch: Show progress only (no sync receive)--sync: Show progress and apply received event updates--interval: UI refresh interval seconds (default 0.25)--seek-min-delta-ms: Minimum delta to treat as a seek (default 1000)--event-recv-suppress-ms: Suppress local event detection after receiving an event
Watch only, no syncing:
python potsync.py --listen 0.0.0.0:5000 --peers 192.168.1.10:5000 --watchTwo-way sync between two machines:
# Machine A
python potsync.py --listen 0.0.0.0:5000 --peers 192.168.1.11:5000 --sync
# Machine B
python potsync.py --listen 0.0.0.0:5000 --peers 192.168.1.10:5000 --sync- Progress updates:
{"type":"progress","cur":12345,"total":67890,"state":2}
- Event updates (seek/state):
{"type":"event","cur":12345,"total":67890,"state":1}
state values:
2= Playing1= Paused-1= Stopped
- The tool matches the first visible window whose title contains
--title. - Ports must be reachable over the network (firewall allowed).
- PotPlayerControl: https://github.com/ld3l/PotPlayerControl