/vlcsync

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

Primary LanguagePythonMIT LicenseMIT

VLC Sync

Utility for synchronize multiple instances of VLC. Supports seek, play and pause/stop, playlist and volume sync.

Motivation

Strongly inspired by F1 streams with extra driver tracking data streams. Did not find reasonable alternative for Linux for playing several videos synchronously. So decided to write my own solution.

Install

pip3 install -U vlcsync

or

Run

Vlc players should open with --rc-host 127.0.0.42 option OR configured properly from gui (see how configure vlc)

# Run vlc players 
$ 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 monitor and syncing all players
$ vlcsync

# Started from version 0.2.0

# For control remote vlc instances, 
# remote port should be open and rc interface listen on 0.0.0.0
$ vlcsync --rc-host 192.168.1.100:12345 --rc-host 192.168.1.50:54321

# For disable local discovery (only remote instances)
$ vlcsync --no-local-discovery --rc-host 192.168.1.100:12345

# Started from version 0.3.0 (playlists sync)
# Support volume sync for exotic cases
$ vlcsync --volume-sync

# For help and see all options
$ vlcsync --help

Awesome

Awesome use-case ideas

Demo

vlcsync

Limitations

  • Frame-to-frame sync NOT provided. vlc does not have precise controlling via rc interface out of box. Difference between videos can be up to ~0.5 seconds in worst case. Especially when playing from network share, due buffering time and network latency.

  • Currently, tested on:

    • Linux (Ubuntu 20.04)
    • Windows 7 (32-bit)
    • Windows 10 (64-bit)

Alternatives

  • vlc
    • There is a netsync but seem only master-slave (tried, but not working by some reason)
    • Open additional media. Seems feature broken in vlc 3 (also afaik limited only 2 streams)
  • Syncplay - very promised, but little complicated for sync different videos
  • bino - working, very strange controls, file dialog not working and only fullscreen
  • gridplayer - low fps by some reason
  • mpv - with mixing multiple videos in one window. Unfortunally does not support multiple screens
  • AVPlayer - only Win, macOS, up to 4 videos in free version

Contributing

Any thoughts, ideas and contributions welcome!

A special thanks to KorDen32 for inspiration! F1

Enjoy!