Low Latency Live Video Streaming over HTTP 2.0 Sheng Wei, Vishy - - PowerPoint PPT Presentation

low latency live video streaming over http 2 0
SMART_READER_LITE
LIVE PREVIEW

Low Latency Live Video Streaming over HTTP 2.0 Sheng Wei, Vishy - - PowerPoint PPT Presentation

Low Latency Live Video Streaming over HTTP 2.0 Sheng Wei, Vishy Swaminathan | Adobe Research NOSSDAV 2014 Demo Playback 1 Latency ~18.7s Live Event Playback 2 Latency ~3.7s NOSSDAV 2014 2 Latency in HTTP Live Video Streaming segments


slide-1
SLIDE 1

NOSSDAV 2014

Sheng Wei, Vishy Swaminathan | Adobe Research

Low Latency Live Video Streaming over HTTP 2.0

slide-2
SLIDE 2

NOSSDAV 2014

Demo

2

Live Event

Playback 1 Playback 2 Latency ~18.7s Latency ~3.7s

slide-3
SLIDE 3

NOSSDAV 2014

Latency in HTTP Live Video Streaming

§ Encoding/Decoding § Network Transmission § Buffering § Segmentation

§ Latency is at least 1 segment duration

3

Encoder Live Packager Web Server Player

… segments

HTTP Live Latency

1:0 0:0

slide-4
SLIDE 4

NOSSDAV 2014

How much is the latency, exactly?

4

req 1 Seg 1 t t t

Latency: 1 ~ 2 segment durations

Seg 2

Web Server [Swaminathan & Wei, MMSP’11]

slide-5
SLIDE 5

NOSSDAV 2014

Prior Solutions

5

§ Prior Solution 1: Reducing segment durations § Request Explosion Problem

§ Network Overhead § Client Overhead § Server/Cache Overhead

HTTP Client HTTP Server manifest req manifest Seg 1 req Seg 1

……

Seg n req Seg n

D – duration of the video – segment duration Number of requests:

N = D/ f D = 1 f

f

f N

slide-6
SLIDE 6

NOSSDAV 2014

Prior Solutions

§ Prior Solution 2: HTTP Chunked Encoding (HTTP 1.1) § Compatibility Issue – Stream Formats /Media Frameworks

§ Self-describing format (e.g., HDS, HLS) § Metadata-based format (e.g., DASH)

6

Segment

Chunk Chunk Chunk

req 1 seg 1 t t t seg 2 req 2

1 2 3 4

Web Server [Swaminathan & Wei, MMSP’11]

Latency: 1 ~ 2 chunk durations

Low Latency Live Streaming Using Chunked Encoding

slide-7
SLIDE 7

NOSSDAV 2014

New Solution Leveraging HTTP 2.0

§ HTTP 2.0

§ Draf (Nov. 2012), Standardization (Planned Nov. 2014) § Supported by Chrome/Firefox/Opera/IE § New feature: Server Push

§ Opportunity for Video Streaming

§ Addressing the request explosion problem (in prior solution 1) § Addressing compatibility issue (in prior solution 2)

7

Request

Response Push Push

slide-8
SLIDE 8

NOSSDAV 2014

Challenges for Video Streaming Using Server Push

§ HTTP 2.0 originally designed for web page loading and not video

§ Web Page: HTML with embedded resources § Video: Independent segments

§ Push strategies for video

§ When to push what?

§ More considerations

§ Adaptive bitrate switching § Asynchronous operations § CDN/Cache compatibilities

8

HTML jpg

CSS

Seg 1 Seg 2

… Web Page Video

slide-9
SLIDE 9

NOSSDAV 2014

Push Strategies

9

Client Server

r e q s e g 1 t

  • n

s e g 1 s e g 2 s e g n

(b) All-Push

Client Server

r e q s e g 1 s e g 1 s e g 2 s e g n r e q s e g 2 r e q s e g n

(a) No-Push Client Server

req seg 1 to k seg 1

seg k req seg (n-k+1) to n seg (n-k+1)

seg n

(c) k-Push

slide-10
SLIDE 10

NOSSDAV 2014

System Architecture

10

Live Packager Live Event Web Server Video Player HTTP 2.0 Library Playback Push Module HTTP 2.0

push_marker request Receiving/caching pushed content Push Strategy

slide-11
SLIDE 11

NOSSDAV 2014

Experimental Platform

11

slide-12
SLIDE 12

NOSSDAV 2014

Experimental Results

12

§ Live Latency w & w/o Server Push

Identical segment duration: 1 sec

0.5 1 1.5 2 2.5 3 3.5 4 4.5 1 2 3 4 5 6 7 8 9 10 Live Latency (sec) Runs Live Latency (Server Push) Live Latency (No Server Push)

slide-13
SLIDE 13

NOSSDAV 2014

Experimental Results

§ Request Overhead w & w/o Server Push

Identical segment duration: 1 sec

13

5 10 15 20 25 30 35 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Cumulative # Requests Video Playback Time (sec) Server Push No Server Push

slide-14
SLIDE 14

NOSSDAV 2014

Experimental Results

§ Request Overhead w & w/o Server Push

Identical request overhead (server-push: 1 sec segments; no-push: 5 sec segments)

14

1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Cumulative # Requests Video Playback Time (sec) Server Push No Server Push

slide-15
SLIDE 15

NOSSDAV 2014

Experimental Results

§ Live Latency w & w/o Server Push

Identical request overhead (server-push: 1 sec segments; no-push: 5 sec segments)

15

5 10 15 20 25 1 2 3 4 5 6 7 8 9 10 Live Latency (sec) Runs Live Latency (Server Push) Live Latency (No Server Push)

slide-16
SLIDE 16

NOSSDAV 2014

Experimental Results

§ Live Latency vs. Request Overhead

16

5 10 15 20 25 30 35 0.2 0.4 0.6 0.8 1

Live Latency (sec) # requests/sec

Server Push No Server Push

slide-17
SLIDE 17

NOSSDAV 2014

Conclusion & Future Directions

§ Improving live latency using server push in HTTP 2.0

§ Achieving low latency: small segment duration + server push § Solved the request explosion problem § Compatible with different stream formats

§ Future Directions

§ Optimizing k in k-push to reduce the overhead of adaptive bitrate switching § CDN/ISP cache compatibility tests

17

Demo available at the conference upon request Sheng Wei (swei@adobe.com) Vishy Swaminathan (vishy@adobe.com)