Giter Site home page Giter Site logo

srsc2122-project's Introduction

srsc2122-project (PA1 - Phase 2)

A secure “pay-per-view” real-time media streaming system

Work Done

SAPKDP

  • SAPKDP complete specification working and tested (only added the movieID field to the ticket);
  • Runs over TCP only;
  • Some parameters can be configured in the config file;
  • SignalingServer supports multiple concurrent connections/clients;
  • Alterations:
    • Added the movieID field to the ticket.

RTSTP

  • RTSTP complete specification;
  • Runs over UDP only;
  • The server supports only one movie request.

Additional Notes

From PA#1:

  • Registered users' database can be found in users.json ;
  • Available movies' database can be found in movies.json;
  • Configuration files are under the config directory;
  • Keystore files are under the keystores directory;
  • Movie files are under the movies directory;

Compiling

The following command creates the srsc-project-PA1.jar file with all the dependencies:

mvn package

Running

Note: The instruction on this section assume the user is at the root of the project

SignalingServer

Default port is 8888. Any changes should also be reflected in the proxybox.properties file.

java -cp target/srsc-project-PA2.jar sigserver.SignalingServer <port>

# Example:
java -cp target/srsc-project-PA2.jar sigserver.SignalingServer

StreamingServer

Default port is 9999. Any changes should also be reflected in the proxybox.properties file.

java -cp target/srsc-project-PA2.jar strserver.StreamingServerUDP <port>

# Example:
java -cp target/srsc-project-PA2.jar strserver.StreamingServerUDP 

ProxyBox

The -movie, and -storepass arguments are optional and their default values are respectively monsters, and ** srsc2021**. The multicast address for the mpegplayers can be set in the proxybox.properties file.

java -cp target/srsc-project-PA2.jar proxybox.ProxyBox -user <username> -password <pwd> -keystore <keystore-file> -proxyinfo <proxyinfo-file> -movie <movieID> -storepass <keystore-password>

# Example:
java -cp target/srsc-project-PA2.jar proxybox.ProxyBox -user jpantao -password password -keystore keystores/proxybox.keystore -proxyinfo config/proxybox.properties -movie cars -voucher resources/coin_3040021e45931ef.voucher

Generate voucher

java -cp target/srsc-project-PA2.jar extra.VoucherMinter

With the run-pa2.sh script

Run the three components with the default configs:

# Available movieID's: cars, and monsters.

./scripts/run-pa2.sh <movieID> <voucherFile>

#Example
./scripts/run-pa2.sh cars resources/coin_3040021e45931ef.voucher

A log directory will be created by the script with the stdout of the 3 components.

srsc2122-project's People

Contributors

hab12335 avatar

Watchers

João Antão avatar

Forkers

hab12335

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.