NOSSDAV 2014
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 - - 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
NOSSDAV 2014
Demo
2
Live Event
Playback 1 Playback 2 Latency ~18.7s Latency ~3.7s
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
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]
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
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
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
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
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
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
NOSSDAV 2014
Experimental Platform
11
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)
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
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
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)
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
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