Skip to main content

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

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vlcsync-0.3.3.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vlcsync-0.3.3-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file vlcsync-0.3.3.tar.gz.

File metadata

  • Download URL: vlcsync-0.3.3.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.12 Linux/6.8.0-85-generic

File hashes

Hashes for vlcsync-0.3.3.tar.gz
Algorithm Hash digest
SHA256 98620a8c1054daa7bd008d146b21548cc30572441f2ac8f291f61d93fb561141
MD5 e78b9297f5834c9d59b4f2de86a128a0
BLAKE2b-256 fd5e93b804277ba0774735c3364b914df6e5ade88a94a296b7cf9b95a0f14b77

See more details on using hashes here.

File details

Details for the file vlcsync-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: vlcsync-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.10.12 Linux/6.8.0-85-generic

File hashes

Hashes for vlcsync-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 818a0b28b1f2e9d3c85ba81aac8ada23a508adbbb441267052426ec0fbe0bfa2
MD5 4e60d145b54e26db7a446a6007e97ba8
BLAKE2b-256 681ece3e9c4dc3673b3eea87ac0aea243d6615178aa51d8718051a3fef08b975

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page