vlc_sync is a synchronizing video player for social video watching.
It allows you to watch videos with your friends even though they are not in front of the same screen. The program can synchronize play, pause and seek operations across several computers all running vlc_sync with the same video file loaded.
To complete the social experience, fire up a voice chat application such as Skype alongside it to share your thoughts.
As the name suggests, vlc_sync builds upon the technology of VideoLAN's famous VLC media player, which can flawlessly play most videos out there. vlc_sync is written in Python and thus supports a wide range of platforms.
For Windows, a prebuilt executable version is available, which already includes everything you need. (A separate installation of a Python interpreter or VLC media player is not required.)
To run the source version of vlc_sync, you will need to have the following software installed:
- VLC media player
- Python 2.x version 2.5 or newer
- wxPython
vlc_sync was successfully tested with VLC media player v1.1.x on Windows and Linux. Other versions may work, but certain 2.x versions are known not to work correctly on Windows, while no issues have yet been reported on Linux.
If your version of VLC media player turns out to be incompatible, you need not downgrade your installation. Instead, on Windows, copy the two .dll files as well as the plugins
folder from the ZIP file of version 1.1.11 to the vlc_sync directory and you are good to go.
The general procedure is this:
- Start a vlc_sync server
- Start one or more vlc_sync clients on remote machines, connecting to the previously started server
- Load the desired video file on all machines
- Seek, play and pause are synchronized. Enjoy the video.
The Python script vlc_sync.py
(or vlc_sync.exe
) is used to spawn both servers and clients. Simply run it and a dialog prompting for connection parameters will appear. Alternatively, connection parameters may be specified from the command line (issue argument --help
for additional information).
Note that for connections to be established, a port on the computer running the server must be reachable to the clients (which may necessitate changes to the home network's routing or firewall configuration).