Streaming Media. Unicast Redundant traffic Multicast One to many.
-
date post
21-Dec-2015 -
Category
Documents
-
view
234 -
download
2
Transcript of Streaming Media. Unicast Redundant traffic Multicast One to many.
Supporting Real-time Requirements QoS and Resource reservation
Resource Reservation to bound data delivery delay, loss, jitter etc.
Adaptive Rate Control Adjust video traffic characteristics to
suit the Internet.
Video Traffic Periodic generation of frames at
regular intervals. Variable bit rate. Frame periodicity must be maintained
for the video to appear “smooth” Data unavailable at playout is useless. Jitter (variability in interarrival times)
Buffering and Start-up Latency Congestion leads to Data Loss
Decreasing Data Rate Error Control
Summary Delay Sensitive, Loss Insensitive
Multicast and Heterogeneity The Internet is Heterogeneous
Infra-structural (Spatial) Traffic density (Temporal) Administrative
Fairness Goal Every receiver should receive video that is
commensurate to the resources available. Is this fair to “other” traffic?
Rate Adaptive Digital Video Compression, Scene Complexity,
Motion
Video Encoder
Smoothing Buffer
Feedback
Network
Raw video stream is fed to encoder Encoder sends encoded data to
buffer Buffer level provides feedback Feedback is used to control data
output rate at encoder. Quantization, frame rate, pixel
resolution etc. are controlled.
Network feedback can also be used. Queueing information (internal to the
network) End-system information
Adaptive Bit-Rate Video Single Stream Adaptive Approach
Replicated Streams Adaptive Approach
Layered Video Streams Approach
RTP Real-Time Transport Protocol End-to-end Protocol NO notion of “Connection”. (hence
unreliable) Application level Requires framing and segmentation
be taken care of by lower layers.
RTP (continued) Divided into two parts (consecutive
ports for UDP) Data (audio + video packets, even-
numbered port) Control
Can use single PDU in case UDP is not used.
RTP Data Packet Header Payload Type (1 byte)
eg: JPEG etc. Timestamp (32 bits)
generation instant of the data Sequence marker (16 bits)
packet seq. number to help loss detection Marker bit
end of frame for video beginning of talk-spurt for audio
RTP Data Packet Header (contd) Synchronization Source Identifier
(32 bits) randomly generated identifying
session source.
RTP Control Channel Control protocol called RTCP
QoS monitoring and Congestion Control multicast all other receivers know how others are doing sender-report, helps receivers compute data-rate
Intermedia Synchronization wall-clock time + RTP timestamp allows synch of audio and video
Identification Detailed identification of participant instead of just a 32
bit identifier. Session size estimation and scaling
scaled to 5% of data rate
RTCP Packets
Several types to carry a variety of information Source description (SDES)
CNAME, email, location, name, ... Sender report (SR)
Bytes sent -> estimated rate Timestamp -> synchronization Receiver report (RR) Loss rate, interarrival jitter, roundtrip delay Explicit leave (BYE) Compound packets (SDES CNAME + RR)
RTCP traffic Control
RTP session scale: two to thousands of participants
RTCP traffic increases with session size Want to keep to small fraction of data
bandwidth (5%) Randomized response with rate decreasing
as number of participants increases Give active senders more bandwidth But limited by tolerable age of status
Single Stream Video Multicast Adjust video output rate Three parameters
refresh rate (?) quantizer (color scheme 4:2:2,
4:1:1….) movement detection threshold (what
defines motion) Application can specify which of
these to control
Single Stream Video Multicast RTCP is used for feedback
Feedback implosion probabilistic probing
Fair? (No…..)
Replicated Streams Destination Set Grouping
Multiple replicated streams on different multicast addresses.
Different quality and data rates. Receivers can switch streams
Switching Streams Congestion due to presence of two
streams simultaneously on the same link
Bandwidth Control Protocol Congestion History Checking before
stream switch. Local Area Bandwidth Limit restricts the
number of streams received in local area.
Layered Video Multicast Disjoint layers on different
addresses Cumulative subscription Many protocols making different
assumptions
RLM Receiver based Sender does not participate Receivers share loss information Receivers join and drop groups based
on these shared loss reports. Receivers back off when they or other
receivers see congestion. The higher the layer, the longer the
back-off duration.
Problems with RLM Receiver Consensus Fast Leaves and Joins Impact of failed experiments on
topologically unrelated receivers. UNFAIR Arguably the most cited and most
maligned protocol!!
TCP rate-based Congestion Control Analyze TCP to come with a magic formula
to describe Bandwidth = 1.3 * MTU / (RTT * sqrt(Loss))
Adapt sender rate to match such a formula. But what is RTT?
Let receivers make this decision. Define loss thresholds based on this formula,
for each layer. If loss exceeds this threshold, drop a layer…