# 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` |