DMET 704 Multimedia Networking, Winter 2020
Packet Playback Simulation
Due on Tuesday 29th of December 2020 by 11:59 pm
1 General Background
During this project you will develop a simulation model of audio packets transmission, reception, buffer and playback. You will also create a graphical user interface which will allow users to edit the values of the model and observe different results.
You need a decent knowledge of the topic of Streaming Live Media discussed in the course aswell as a good understanding of any programming language. You can use any language/technology to develop the project as long as it satisfies all of the following conditions.
1. The simulation is expected to model the process of audio packets being transmitted.
2. The model should be able to generate a packet generation curve given a start time and the number of packets to be transmitted. n.b. The figure shows such a curve starting from time = 1 with 8 packets.
3. The model should be able to generate a packet receival curve by adding Randomly generated set of network delays to each packet from the generation curve.
4. The model should be able to generate a playback curve by adding a Playback delay to the receival curve. It should show and lost/late packets with a dotted line and only playback packets that haven’t been lost/late.
5. The model should be able to generate a buffer curve by showing the number of packets currently available for playback at the receivers buffer. Packets are added to the buffer when they arrive and are removed when they are played back. The buffer should have a fixed size and if more packets arrive than the size of the buffer then they should be considered as lost packets. Late packets are not added into the buffer.
6. The model should be able to calculate the minimum size of the buffer (maximum number of packets that are stored at any one point) and the average buffer size and display them to the user.
7. The model should be able to calculate the estimated play-out delay for the next talk spurt as mentioned in the course and display it to the user.
8. All the following values which were previously mentioned should be available for the user to view and edit: Start time, Number of packets, Network delays as a comma separated set of values, Playback delay, Buffer size, .
9. There should be a Generate Curve button that generates the graphs again based on any custom data changed by the user.
10. Make sure that the curve can display any number of data values and allow zooming out to encompass all the input data on one screen.
11. You should create a report in pdf format with all the team members names explaining the project code using any illustrative method such as a flow chart, an explanation on how to use the model and illustrations of sample output curves.
3 Project Deliverable and Submission
The project should be done in teams of 3 students. The whole project should be submitted in one zip folder and sent to the following email address: email@example.com
Good luck, get creative & have fun :)