streaming video over the interneteeweb.poly.edu/~yao/el6123_s16/videostreaming_dapengwu.pdfprotocols...
TRANSCRIPT
![Page 1: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/1.jpg)
Streaming Video over the Internet
Dr. Dapeng WuUniversity of Florida
Department of Electrical and Computer Engineering
![Page 2: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/2.jpg)
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
![Page 3: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/3.jpg)
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
![Page 4: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/4.jpg)
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
![Page 5: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/5.jpg)
Time-varying Delay
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Receiver
56 kb/s
RealPlayer
Delayed packets regarded as lost
Source
cnn.com5
![Page 6: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/6.jpg)
Effect of Packet Loss
Data path
AccessAccessSWSW
Domain A
Domain B
AccessAccessSWSW
Source
ReceiverNo packet loss
Loss of packetsNo retransmission
6
![Page 7: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/7.jpg)
Unicast vs. Multicast
MulticastUnicast
Pros and cons?7
![Page 8: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/8.jpg)
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?
![Page 9: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/9.jpg)
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
![Page 10: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/10.jpg)
Architecture for Video Streaming
10
![Page 11: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/11.jpg)
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
![Page 12: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/12.jpg)
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
![Page 13: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/13.jpg)
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
![Page 14: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/14.jpg)
Congestion Control• Window-based vs. rate control (pros and cons?)
Window-based control Rate control14
![Page 15: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/15.jpg)
Source-based Rate Control
15
![Page 16: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/16.jpg)
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
![Page 17: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/17.jpg)
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
![Page 18: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/18.jpg)
Error Control• FEC
– Channel coding– Source coding-based FEC– Joint source/channel coding
• Delay-constrained retransmission• Error resilient compression• Error concealment
18
![Page 19: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/19.jpg)
Channel Coding
19
![Page 20: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/20.jpg)
Delay-constrained Retransmission
20
![Page 21: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/21.jpg)
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
![Page 22: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/22.jpg)
Continuous Media Distribution Services
• Content replication (caching & mirroring)• Network filtering/shaping/thinning• Application-level multicast (overlay networks)
22
![Page 23: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/23.jpg)
23
Caching• What is caching? • Why using caching? WWW means World Wide Wait?• Pros and cons?
![Page 24: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/24.jpg)
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
![Page 25: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/25.jpg)
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
![Page 26: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/26.jpg)
Media Synchronization• Why media synchronization?• Example: lip-synchronization (video/audio)
26
![Page 27: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/27.jpg)
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
![Page 28: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/28.jpg)
Protocol Stacks
28
![Page 29: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/29.jpg)
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
![Page 30: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/VideoStreaming_DapengWu.pdfProtocols for Streaming Video • Network-layer protocol: Internet Protocol (IP) • Transport](https://reader030.vdocument.in/reader030/viewer/2022040414/5f1d362bd8c62c1285756b31/html5/thumbnails/30.jpg)
Homework
• Reading assignment: Chap. 15
30