shivansh / videoStream

Concurrent feedback-driven video broadcast protocol. Course project for Computer Networks (CS425).

Home Page:https://shivansh.github.io/posts/2019-01-09-Revisiting-networks-project/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Concurrent feedback-driven video broadcast protocol

Dependencies

  • OpenCV (3.2.0)
  • numpy

Implementation overview

An overview of the implemented design -

Implementation-Design

The reader-writer model

The implemented reader-writer model depicting 3 concurrent readers -
Reader-Writer-Model

Instructions

For quick testing purposes, run ./run.sh. This script starts a server and client process.

The current setup performs the transfer locally at localhost.

To run the individual components, follow the instructions below.

  • Start the server -

    python -O server.py -p <port>
    

    To enable debug mode, remove the -O flag.
    The server retrieves frames_per_payload number of frames from the webcam and constructs the following payload which is transferred -
    Payload-Structure

  • Start the client -

    python client.py -p <port>
    

    This will retrieve the payload from server, unpack and convert to numpy array appropriately, rendering the frames on the fly.

About

Concurrent feedback-driven video broadcast protocol. Course project for Computer Networks (CS425).

https://shivansh.github.io/posts/2019-01-09-Revisiting-networks-project/


Languages

Language:Python 54.0%Language:TeX 43.6%Language:Shell 2.4%