Assignment 6
The assignment is due Monday, April 28, 6.59 pm EDT,
to be submitted via CourseWorks.
Some of the questions below are research questions, where you are
asked to find information about a particular issue. You may use the
Engineering Library, any text books you have, one of the paper from the
class readings, or the web to come up with answers. Be sure to cite
your sources. Generally, a paragraph or two should be sufficient to
answer the question. There is no need to write a tutorial.
- As a next step towards building an interactive audio and video
application, complete the following steps for your application:
- Create a single executable that sends and receives both audio and
video.
- Your program should work for both IPv4 and IPv6. It should be
possible to send and receive audio and video via two different ports. In
other words, audio RTP and RTCP may arrive on port 5000 and 5001, video
on port 6000 and 6001.
- You do not have to implement inter-media synchronization and
playout buffering. You do not need to worry about lost or re-ordered
packets. In other words, you can play the audio packets as they arrive.
- You cannot use the JMF RTP library or an open-source RTP library
since the goal is to learn about implementing protocols, not just how to
use libraries.
- Audio and video should be transmitted using RTP, using the payload types 0 for audio
and 26 for video. (Note: you cannot use the built-in JMF RTP
functionality.) You need to support RTCP SR and SDES elements. You do
not need to support the M bit, CSRC, RTCP RR and other RTP
extensions.
- JPEG can be included "raw". (This will probably prevent
interoperation with vic, unfortunately, since vic uses RFC 2435.)
Your audio and video interoperate with the rat audio tool.
Due to the JPEG encapsulation and vic stability issues, we will forego
interoperability with vic. You can also use the rtp tools
for debugging.
- Using Cisco or Juniper router specifications, determine what
DiffServ modes (AF, EF?) and how many token bucket flows a modern router
support. Choose a single router for your investigation.
- RTP inter-media synchronization: A system has two media streams,
a G.711 audio stream and a video stream. The receiver receives two RTCP sender
reports (SR). The first SR, for video, contains:
| NTP timestamp | bf8c1623.7abc83a9
|
| RTP timestamp | 18000
|
The audio SR contains the following information:
| NTP timestamp | bf8c1624.816fc9bc
|
| RTP timestamp | 68880
|
What audio sample timestamp should be played for the video frame
labeled 20,000?
- A token bucket has an average rate of 30 Mb/s and a max. burst size
of 100 Mb. Assume that the token counter is initially "full". The
token bucket drops packets when there are no tokens. A host is
connected via a 100 Mb/s network and starts transmitting at full line
rate. How long can the host keep this up without having its packets
dropped?
- We simplistically model an MPEG video source as sending I and P
frames, with every 15th frame being an I frame. Assume that I frame has
a size of 10,000 bytes, while the P frames are 4,000 bytes long.
(Naturally, they are split into several packets.) (a) Describe a
minimum-rate tocket bucket that fits this source. (b) Can you reduce
either the token rate or bucket depth without changing the video source?