Multimedia Communications
Mini-assignment: traceroute
traceroute from linux6.cs.nctu.edu.tw (or any host in NCTU campus) to www.csail.mit.edu and answer the following questions.
- Dump the results
- How many hops from the source to the destination?
- What is the hop introducing the maximal average delay
- Why sometimes a later router responds faster than an earlier router? (Why sometimes the response latency is decreasing?
When and where to submit?
- Due: Mar. 3 (Fri.) 11:59pm
- Email to mmcom.nctu@gmail.com
- Email subject: [MMC] yourID_traceroute
- Filename: MMC_yourID_traceroute.pdf
Lab 1: Audio Streaming
Introductrion
In this assignment, you will learn how to use TCP and UDP socket to deliver audio signal and call the Ubuntu library to real-time play the stream. You will also learn how to use Traffic Control to manually configure your network conditions for experiments. Through experiments, you can perceive how audio quality varies with the available bandwidth and the selected underlying transportation protocol. You will also learn how to quantitatively evaluate the quality of the received audio stream.
Please modify the example
code (.cpp files) to finish your tasks. Detailed
description and the default parameters are given in the
slides (hw1_info.pdf).
Prerequisite
- Learning socket programming online. Below are some tutorial:
- Install Linux (on VM [optional]).
- Make sure you can play and record audio sound on the installed Linux.
Files to submit
- shell scripts for running your code
- socket programming codes
- server_tcp.cpp
- client_tcp.cpp
- server_usp.cpp
- client_udp.cpp
- audio processing code
- output files
- ratexx_tcp.wav, ratexx_udp.wav
- ratexx_tcp.csv
- 1-2 page report (including the required figures and short discussion)
Due
File Submission
Grading
- Shell script: 10%
- TCP socket: 25%
- UDP socket: 25%
- Audio processing: 25%
- Report: 15%
Lab 2: Video Streaming
Introductrion
In this assignment, you will learn how to dynamically configure the
video rates during encoding. You will also need to adjust the sending
rate of the UDP stream according to the dynamic video rates. The UDP
client should track packets losses, pad null bits for lost packets and
estimate the PSNR using FFMpeg.
Please modify the example
code (.cpp files) to finish your tasks. Detailed
description and the default parameters are given in the
slides (hw2_info.pdf).
Files to submit
- makefile and shell scripts for running your code
- Makefile
- streaming.sh
- control.sh
- socket programming codes
- x264_encode.cpp
- server.cpp
- client.cpp
- 1-2 page report (including the required figures and short discussion)
Due
File Submission
Grading
- shell script: 10%
- encoder: 25%
- streaming server: 25%
- streaming client: 25%
- report: 15%