askfind / vlcsync

Utility for synchronize multiple instances of VLC. Supports seek, play and pause.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VLC Sync

Utility for synchronize multiple instances of VLC. Supports seek, play and pause. Inspired by F1 streams with extra driver tracking data.

Motivation:

Did not find reasonable alternative for Linux. So decided to write my own solution.

Run

Vlc instances should expose "Remote control interface" on 127.0.0.42 (see how configure vlc)

# Run vlc (should with open --rc-host 127.0.0.42 option) 
$ vlc --rc-host 127.0.0.42 SomeMedia1.mkv &
$ vlc --rc-host 127.0.0.42 SomeMedia2.mkv &
$ vlc --rc-host 127.0.0.42 SomeMedia3.mkv &

# vlcsync will find all vlc on 127.0.0.42:* and start syncing 
$ vlcsync

Vlcsync started...
Found instance with pid 3538289 and port 127.0.0.42:34759 State(play_state=playing, seek=10)
Found instance with pid 3538290 and port 127.0.0.42:38893 State(play_state=playing, seek=10)
Found instance with pid 3538291 and port 127.0.0.42:45615 State(play_state=playing, seek=10)

Install

pip3 install -U vlcsync

Status

In development. Tested on Linux, Windows 10 (macOS should also work).

Any thoughts, ideas and contributions welcome!

Roadmap:

  • Add ability to set static addresses i.e. for remote sync (to external pc/screen)
  • Add portable *.exe build for Windows
  • Automatic tune vlc config file for correct expose

Alternatives

Possible alternatives:

  • vlc
    • Open additional media. Seems feature broken in vlc 3 (also afaik limited only 2 instances)
    • There is a netsync but seem only master-slave (not tried)
  • Syncplay - very promised, but much complicated for my case
  • bino - working, very strange controls, file dialog not working, only fullscreen
  • gridplayer - low fps by some reason

Demo

vlcsync

Enjoy! 🚀

About

Utility for synchronize multiple instances of VLC. Supports seek, play and pause.

License:MIT License


Languages

Language:Python 100.0%