A secure “pay-per-view” real-time media streaming system
- 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 complete specification;
- Runs over UDP only;
- The server supports only one movie request.
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;
The following command creates the srsc-project-PA1.jar file with all the dependencies:
mvn package
Note: The instruction on this section assume the user is at the root of the project
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
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
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
java -cp target/srsc-project-PA2.jar extra.VoucherMinter
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.