A tool to sync mpv player between host and clients. Great help from jaseg/python-mpv, please check it out.
- libmpv_32bit
- python3
Install the wheel package manually by downloading it from releases or using pip install syncP.
[For Windows]
- You will need to download the libmpv zip from Official Mpv Project, please use the lastest 32 bit version of libmpv.
- After extracting to a folder, add the path of the folder in your system path variable.
- To test if the path is set right, execute syncp test and check if the test video plays, you can press q to exit.
- Assuming the test works, you can now either host a connection or join, I have explained the step below.
[For Linux]
- Install mpv for you distribution and then try executing syncp test in your terminal.
- Assuming the test works, you can now either host a connection or join, I have explained the step below.
[For Host]
- Navigate to the directory with your media file you wanna sync and run syncp host. Follow the instructions on the terminal and this will open a port on your system for communication.
- You will need to port forward using ngrok or config your router, I would suggest use ngrok tcp feature for this purpose.
- Optionally you can specify port and limit for number of clients you want to add using the options --limit and --port. The default port is 3456 and limit is 5. Example: syncp host --port 1234 --limit 20
[For Client]
- Nagigate to the directory with your media file you wanna sync and run syncp client. Follow the instructions where it will ask you for the host url and port.
- Upon entering the details you can choose the media.
If everything went well you will be connected and the media will begin to play in your own respective mpv windows.
Not all events are synced, for now you can use space to sync pause and play and the host can use s to sync the location of the mediaplayback. I would suggest you better pause before syncing the location. No on screen controls are avaible for now. Default mpv keybindings work and you can find them here.
This project is in no way perfect and could have multiple bugs I will try to fix along with adding some more features. For now it just works and my gf and I enjoy watching movies together. 😁