Streaming Video over the Internet Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering
Streaming Video over the Internet
Dr. Dapeng WuUniversity of Florida
Department of Electrical and Computer Engineering
What is Streaming Video?
2
AccessAccessSWSW
Data path
AccessAccessSWSW
Domain A
Domain B
Domain C
Internet
AccessAccessSWSW
Receiver 1•Download mode: no delay bound •Streaming mode: delay bound
SourceReceiver 2RealPlayercnn.com
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
• Summary3
Time-varying Available Bandwidth
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Receiver
56 kb/s
4
Source
R>=56 kb/s
R<56 kb/s
No bandwidth reservation
RealPlayer
cnn.com
Time-varying Delay
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Receiver
56 kb/s
RealPlayer
Delayed packets regarded as lost
Source
cnn.com5
Effect of Packet Loss
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Source
ReceiverNo packet loss
Loss of packetsNo retransmission
6
Unicast vs. Multicast
MulticastUnicast
Pros and cons?7
Heterogeneity For Multicast
Domain A
Domain B
Domain C
Internet
Source
8
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?
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
• Summary9
Architecture for Video Streaming
10
Video Compression
Laye
red
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.
11
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
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
13
Congestion Control• Window-based vs. rate control (pros and cons?)
Window-based control Rate control14
Source-based Rate Control
15
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
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
17
Error Control• FEC
– Channel coding– Source coding-based FEC– Joint source/channel coding
• Delay-constrained retransmission• Error resilient compression• Error concealment
18
Channel Coding
19
Delay-constrained Retransmission
20
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
• Summary21
Continuous Media Distribution Services
• Content replication (caching & mirroring)• Network filtering/shaping/thinning• Application-level multicast (overlay networks)
22
23
Caching• What is caching? • Why using caching? WWW means World Wide Wait?• Pros and cons?
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
• Summary24
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
25
Media Synchronization• Why media synchronization?• Example: lip-synchronization (video/audio)
26
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
27
Protocol Stacks
28
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
29
Homework
• Reading assignment: Chap. 15
30