COMP9519, Tutorial Question for Lecture 6 and 7; Internet Streaming Media

1.  For real-time streaming of video and audio content UDP is preferred over TCP. Can you explain why ?

Can TCP support multicasting ?

2.  We want to stream MPEG-4 coded video and audio over the internet. What problems could arise if we choose to directly send the video and audio over UDP ?

Comment on problems that may be experienced at the client side.

3.  Could you draw the protocol stack required for streaming video (using the IETF protocols) for a video-on-demand service? Show the protocol layers required at the sender and receiver side.

4.  Assume you are streaming in a peer-to-peer scenario for video conferencing. The available network bandwidth fluctuates from 1Mbits/s to 2 Mbits/s. How would you [a] detect these fluctuations in bandwidth and [2] how would you use this information to achieve efficient streaming?

5.  In the peer-to-peer video conferencing situation (as explained above) what tools or techniques are available to achieve better resilience to packet loss ?

What packetization strategy could you use for video (assume MPEG-4) to enable resilience to error ?

6.  The table below shows RTP time stamps for received video and audio packets. The RTCP sender report (SR) maps RTP time stamps to real time (or “wall clock”). The mapping between RTP time stamps and the “wall clock” as provided by RTCP SR are also shown. Assuming video uses a clock rate of 90 kHz and the audio uses a clock rate of 8 kHz, can you calculate the real time or “wall clock” values for each of the RTP time stamps for the video and audio streams ?

What comment can you make about synchronization from the results ?

That is, which audio packet matches (or is sufficiently close in time to) the video packets?

RTP Timestamp for Audio / RTCP Sender report info for audio stream
1760 / SR 1680 = 15:2:32.00
1920
2080
2240
RTP Timestamp for Video / RTCP Sender report info for video stream
108000 / SR 106200 = 15:2:32.01
117000

7.  The RTCP interval or rate at which RTCP packets are sent depends on the number of participants in a session. What is the reason for this? Can you describe a strategy that could be used by all participants to determine bandwidth utilization for RTCP? Also, why is the RTCP interval varied randomly ?

8.  What functionality does RTSP provide ? What transport protocol is specified (if any) for RTSP ? While RTSP is similar to HTTP some important differences exist. Could you list at-least three differences between RTSP and HTTP ?

  1. You want to start and play a video clip (with only video) from an RTSP server. Could you draw the sequence of RTSP requests and responses required from the client to the server to start streaming the video clip ?

Show the direction of the requests and responses and indicate the corresponding method names. Note there is no need to write the total request and response messages. Just show method name and with arrows indicate the direction of requests and responses. Show the RTSP requests and responses in correct order.

10.  Now from the same RTSP server (as above) you want to start and play a clip containing both video and audio. Can you show the RTSP requests and responses required? Assume that the RTSP server allows aggregate control on the media file (which contains the audio and video streams).

11.  The MPEG-4 file format, MP4, allows for hint tracks to be stored. What is meant by “hinting” in this case ? What are some advantages in allowing hint tracks to be stored in the file ?

Comment on advantages to streaming servers.

If hint tracks were not present what would the server have to do to allow the video and audio samples stored in the file to be streamed ? Describe the procedure in point form.