streaming video over the internet dapeng wu electrical & computer engineering university of...
TRANSCRIPT
Streaming Video over the Internet
Dapeng WuElectrical & Computer Engineering
University of Florida
2
What is Streaming Video?
AccessAccessSWSW
Data path
AccessAccessSWSW
Domain A
Domain B
Domain C
Internet
AccessAccessSWSW
SourceReceiver 2
Receiver 1•Download mode: no delay bound
•Streaming mode: delay bound
cnn.com RealPlayer
3
Outline• Challenges for quality video transport
• An architecture for video streaming– Video compression– Application-layer QoS control– Continuous media distribution services– Streaming server– Media synchronization mechanisms– Protocols for streaming media
• Summary
4
Time-varying Available Bandwidth
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Source
Receiver
56 kb/s
R>=56 kb/s
R<56 kb/s
cnn.com
RealPlayer
No bandwidth reservation
5
Time-varying Delay
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Source
Receiver
56 kb/s
cnn.com
RealPlayer
Delayed packets regarded as lost
6
Effect of Packet Loss
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Source
ReceiverNo packet loss
Loss of packetsNo retransmission
7
Unicast vs. Multicast
Unicast Multicast
Pros and cons?
8
Heterogeneity For Multicast
Domain A
Domain B
Domain C
Internet
Source Receiver 1
Receiver 2
AccessAccessSWSW
AccessAccessSWSW
GatewayGateway
EthernetTelephonenetworks
Receiver 364 kb/s
1 Mb/s
256 kb/s
•Network heterogeneity
•Receiver heterogeneityWhat Quality?
What Quality?
9
Outline• Challenges for quality video transport
• An architecture for video streaming– Video compression– Application-layer QoS control– Continuous media distribution services– Streaming server– Media synchronization mechanisms– Protocols for streaming media
• Summary
10
Architecture for Video Streaming
11
Video Compression
Lay
ered
Cod
er D
D
D
+
+
Layer 0
Layer 1
Layer 2 1 Mb/s
256 kb/s
64 kb/s
Layered video encoding/decoding.
D denotes the decoder.
12
Application of Layered Video
Domain A
Domain B
Domain C
Internet
Source Receiver 1
Receiver 2
AccessAccessSWSW
AccessAccessSWSW
GatewayGateway
EthernetTelephonenetworks
Receiver 364 kb/s
1 Mb/s
256 kb/s
IP multicast
13
Application-layer QoS Control• Congestion control (using rate control):
– Source-based, requires• rate-adaptive compression or • rate shaping
– Receiver-based– Hybrid
• Error control:– Forward error correction (FEC)– Retransmission– Error resilient compression– Error concealment
14
Congestion Control• Window-based vs. rate control (pros and cons?)
Window-based control Rate control
15
Source-based Rate Control
16
Video Multicast• How to extend source-based rate control to multicast?• Limitation of source-based rate control in multicast• Trade-off between bandwidth efficiency and service
flexibility
17
Receiver-based Rate Control
Domain A
Domain B
Domain C
Internet
Source Receiver 1
Receiver 2
AccessAccessSWSW
AccessAccessSWSW
GatewayGateway
EthernetTelephonenetworks
Receiver 364 kb/s
1 Mb/s
256 kb/sIP multicast for layered video
18
Error Control• FEC
– Channel coding– Source coding-based FEC– Joint source/channel coding
• Delay-constrained retransmission• Error resilient compression• Error concealment
19
Channel Coding
20
Delay-constrained Retransmission
21
Outline• Challenges for quality video transport
• An architecture for video streaming– Video compression– Application-layer QoS control– Continuous media distribution services– Streaming server– Media synchronization mechanisms– Protocols for streaming media
• Summary
22
23
Continuous Media Distribution Services
• Content replication (caching & mirroring)
• Network filtering/shaping/thinning
• Application-level multicast (overlay networks)
24
Caching• What is caching? • Why using caching? WWW means World Wide Wait?• Pros and cons?
25
Outline• Challenges for quality video transport
• An architecture for video streaming– Video compression– Application-layer QoS control– Continuous media distribution services– Streaming server– Media synchronization mechanisms– Protocols for streaming media
• Summary
26
Streaming Server• Different from a web server
– Timing constraints– Video-cassette-recorder (VCR) functions (e.g.,
fast forward/backward, random access, and pause/resume).
• Design of streaming servers– Real-time operating system– Special disk scheduling schemes
27
Media Synchronization• Why media synchronization?• Example: lip-synchronization (video/audio)
28
Protocols for Streaming Video• Network-layer protocol: Internet Protocol (IP) • Transport protocol:
– Lower layer: UDP & TCP– Upper layer: Real-time Transport Protocol (RTP) &
Real-Time Control Protocol (RTCP)• Session control protocol:
– Real-Time Streaming Protocol (RTSP): RealPlayer– Session Initiation Protocol (SIP): Microsoft
Windows MediaPlayer; Internet telephony
29
Protocol Stacks
30
Summary• Challenges for quality video transport
– Time-varying available bandwidth
– Time-varying delay
– Packet loss
• An architecture for video streaming– Video compression
– Application-layer QoS control
– Continuous media distribution services
– Streaming server
– Media synchronization mechanisms
– Protocols for streaming media