The assignment is done in groups of two students. After the assignment has been
accomplished, please demonstrate it to some of the assistants. After the assistant
has verified the functionality of your implementation, you are free to leave. Before
leaving, please send your source codes with the list of the group members and
contact information by email to:
email@example.com. (group nr assignment) (email or possibly optima?)
The assistants are available until 18:00, but you can continue after that as well.
If you finish your assignment after 18:00, you can demonstrate the functionality next
day. (deadline: next assignment beginning)
- RFC3550: RTP: A Transport
Protocol for Real-Time Applications.
- The recommended programing languages for all assignments are Java and C/C++.
You can also use Python if you like, but in that case you have to find some libraries
by yourself. The programming style
- The default programming environment for all assignments is Linux (through Wmware),
but you can also use your own laptop with your preferred OS if it supports IPv6 and
has a webcam.
In this part of the assignment, you'll
build a very simple video sender and receiver. Your program should read video from a file
(motion jpeg), and then stream it via UDP to the receiver, where the video is rendered.
Your application should count the packets and tally the total number of
- Read the video file into a frame buffer, using standard Java and C++ I/O libraries
or any available media libraries. As a sample file, you can use the following file:
- Encapsulate the video data into RTP frames (RFC 3550), including proper
timing, payload type and sequence number information. You do not need to fill the
other RTP header fields in the sending and or check them in the receiving end.
Do not use libraries (such as JMF)
for automatic encapsulation of the video to RTP packets. Use IPv6 in the communication.
- Decapsulate the RTP packets and render the video in a simple UI at the receiving end,
after transporting it in RTP packets. The application should count the packets
and the total number of bytes transmitted.
- Demonstrate your application to an assistant and capture the RTP traffic using packet
sniffer, such as WireShark or tcpdump.
- There is neither need for duplex communication nor advanced session management (the
session management is done in the last assignment).