58 lines
1.5 KiB
Markdown
58 lines
1.5 KiB
Markdown
# Video Streaming Proof of Concept
|
|
|
|
This project is a demo for streaming video output from multiple "client" devices to one "server". This is a basic demo
|
|
of what sauron-cv seeks to accomplish.
|
|
|
|
## Installation
|
|
|
|
It is strongly recommended that you use a virtual environment. These instructions will assume you are using venv, you
|
|
can substitute this with your preferred environment management. You will need to make sure that the `virtualenv` package
|
|
is installed globally, either via pip or the `python3-virtualenv` package in your system package manager.
|
|
|
|
When first cloning this repo, run the following:
|
|
|
|
```shell
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
This will create a virtual environment, enter that virtual environment, and install the required packages.
|
|
|
|
If you start a new shell, you will need to re-enter the virtual environment:
|
|
|
|
```shell
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
## Running
|
|
|
|
### Client
|
|
|
|
To run the client with a localhost target:
|
|
|
|
```shell
|
|
python -m client
|
|
```
|
|
|
|
To target an external server, provide its IP address using the `-s` flag:
|
|
|
|
```shell
|
|
python -m client -s [server IP address]
|
|
```
|
|
|
|
### Server
|
|
|
|
```shell
|
|
python -m server
|
|
```
|
|
|
|
### Common Flags
|
|
|
|
Make sure that these match between your client and server!!
|
|
|
|
| Short | Long | Description | Default |
|
|
|-------|---|---|---|
|
|
| `-p` | `--port` | The port for the client / server to communicate on. | `5005` |
|
|
| `-W` | `--width` | Image width in pixels. | `640` |
|
|
| `-H` | `--height` | Image height in pixels. | `480` | |