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:

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:

source .venv/bin/activate

Running

Client

To run the client with a localhost target:

python -m client

To target an external server, provide its IP address using the -s flag:

python -m client -s [server IP address]

Server

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