31
Streaming Video over the Internet Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering

Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 3: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 4: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 5: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 6: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

6

Effect of Packet Loss

Data path

AccessAccess

SWSW

Domain A

Domain B

AccessAccess

SWSW

Source

ReceiverNo packet loss

Loss of packets

No retransmission

Page 7: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

7

Unicast vs. Multicast

Unicast Multicast

Pros and cons?

Page 8: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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?

Page 9: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 10: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

10

Architecture for Video Streaming

Page 11: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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.

Page 12: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 13: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 14: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

14

Congestion Control• Window-based vs. rate control (pros and cons?)

Window-based control Rate control

Page 15: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

15

Source-based Rate Control

Page 16: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 18: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

18

Error Control

• FEC

– Channel coding

– Source coding-based FEC

– Joint source/channel coding

• Delay-constrained retransmission

• Error resilient compression

• Error concealment

Page 19: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

19

Channel Coding

Page 20: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

20

Delay-constrained Retransmission

Page 21: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 22: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

22

Page 23: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

23

Continuous Media Distribution Services

• Content replication (caching & mirroring)

• Network filtering/shaping/thinning

• Application-level multicast (overlay networks)

Page 24: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

24

Caching

• What is caching?

• Why using caching? WWW means World Wide Wait?

• Pros and cons?

Page 25: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 26: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 27: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

27

Media Synchronization

• Why media synchronization?

• Example: lip-synchronization (video/audio)

Page 28: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 29: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

29

Protocol Stacks

Page 30: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

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

Page 31: Streaming Video over the Interneteeweb.poly.edu/~yao/EL6123_s16/videoTransport_DapengWu.pdf · • An architecture for video streaming – Video compression – Application-layer

31

Homework

• Reading assignment: Chap. 15