Skip to content

mrkeuz/vlcsync

Repository files navigation

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

  • For Windows instruction here

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 --extraintf lua --rc-host 127.0.0.42 SomeMedia1.mkv &
$ vlc --extraintf lua --rc-host 127.0.0.42 SomeMedia2.mkv &
$ vlc --extraintf lua --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

# Started from version 0.3.2 (disable timestamp sync)
# Support disable timestamp sync to enable playing media with different start times
$ vlcsync --no-timestamp-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)
    • Linux (Ubuntu 22.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. Unfortunately 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!

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published