Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Streaming Video over the Internet
Dr. Dapeng WuUniversity of Florida
Department of Electrical and Computer Engineering
2
What is Streaming Video?
AccessAccess
SWSW
Data path
AccessAccess
SWSW
Domain A
Domain B
Domain C
Internet
AccessAccess
SWSW
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
AccessAccess
SWSW
Domain A
Domain B
AccessAccess
SWSW
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
AccessAccess
SWSW
Domain A
Domain B
AccessAccess
SWSW
Source
Receiver
56 kb/s
cnn.com
RealPlayer
Delayed packets regarded as lost
6
Effect of Packet Loss
Data path
AccessAccess
SWSW
Domain A
Domain B
AccessAccess
SWSW
Source
ReceiverNo packet loss
Loss of packets
No 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
AccessAccess
SWSW
AccessAccess
SWSW
GatewayGateway
EthernetTelephone
networks
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
Coder 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
AccessAccess
SWSW
AccessAccess
SWSW
GatewayGateway
EthernetTelephone
networks
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
AccessAccess
SWSW
AccessAccess
SWSW
GatewayGateway
EthernetTelephone
networks
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
31
Homework
• Reading assignment: Chap. 15