Skip to content

A tool to sync the playing of local media files to facilitate a watch together kinda situation. It doesn't stream any data over the network and works well with low bandwidth connections.

Notifications You must be signed in to change notification settings

lawRathod/syncP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

syncP

A tool to sync mpv player between host and clients. Great help from jaseg/python-mpv, please check it out.

How to use

Requirements

  • libmpv_32bit
  • python3

Steps

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.

Using the tool

[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.

Keybindings

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.

Disclaimer

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. 😁

About

A tool to sync the playing of local media files to facilitate a watch together kinda situation. It doesn't stream any data over the network and works well with low bandwidth connections.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages