readme usage and notes

deepcrayon
Jeff Moe 2023-09-13 15:08:03 -06:00
parent a691c24892
commit 38c78cd66d
1 changed files with 53 additions and 5 deletions

View File

@ -12,30 +12,78 @@ Install thusly.
Using Debian Stable (12/Bookworm).
Install thine dependencies:
```
sudo apt update
sudo apt install git mpv python3-pip python3-virtualenv
```
Clone repo:
```
git clone https://spacecruft.org/deepcrayon/sync-mpv
cd sync-mpv/
```
Set up Python to taste, such as:
```
sudo apt install python3-pip python3-virtualenv
virtualenv -p env
source env/bin/activate
pip install --upgrade pip setuptools wheel
```
Install thine Python dependencies:
Install Python dependencies:
```
pip install -r requirements.txt
```
# Usage
## Server
Note, this isn't right yet, I just hardcode URL into Python script.
Will add some command line options, perchance.
```
./sync_mpv_server.py
```
On first run, it will prompt you for password, which will be saved for
future runs.
## Client
This would be nice to have some command line options too.
```
./sync_mpv_client.py
```
It will prompt you for a IP address. Enter the IP address of the
server. By default it will connect on `TCP/51984`, which will need
to be open on the firewall that is surely running.
It will prompt for a username, which can be whatever.
It will prompt for a password, which is the main one set in the server.
This will all be stored in the configuration file
`~/.config/sync-mpv/sync-mpv.conf`
# Notes
There are two main scripts in the application.
One is the server, the other is the client.
The server runs on one machine.
The client runs on as many machines as you want, including the server.
The server listens on an IP address and port for TCP connections.
The server doesn't do any video processing, the load is near zero.
The server just coordinates connections and synchronization.
When a new client connects, the other clients may pause for a second,
which sucks.
The server has the URL to play.
The client connects, gets the URL, starts playback and synchronization.
There are usernames and a single shared password.
The password is supposedly secure across the network with some
Python AES library, but I doubt it.
The password is stored in plaintext in `~/.config/sync-mpv/serverpassword.conf`.
This thing actually appears to work, wow.
# Upstream
## sync-mpv
This present repo is an updated fork of this repo: