Understanding video streaming algorithms in the wild Maximilian - - PowerPoint PPT Presentation

understanding video streaming algorithms in the wild
SMART_READER_LITE
LIVE PREVIEW

Understanding video streaming algorithms in the wild Maximilian - - PowerPoint PPT Presentation

Understanding video streaming algorithms in the wild Maximilian Grner Photo: ETH Zrich / Gian Marco Castelberg Melissa Licciardello Ankit Singla Roadmap 3 Roadmap Introduction 3 Roadmap Introduction Setup 3 Roadmap


slide-1
SLIDE 1

Maximilian Grüner

Understanding video streaming algorithms in the wild

Photo: ETH Zürich / Gian Marco Castelberg

slide-2
SLIDE 2

Ankit Singla Melissa Licciardello

slide-3
SLIDE 3

Roadmap

3

slide-4
SLIDE 4

Roadmap

  • Introduction

3

slide-5
SLIDE 5

Roadmap

  • Introduction
  • Setup

3

slide-6
SLIDE 6

Roadmap

  • Introduction
  • Setup
  • Experiments

3

slide-7
SLIDE 7

Roadmap

  • Introduction
  • Setup
  • Experiments
  • Limitations and future work

3

slide-8
SLIDE 8

Roadmap

  • Introduction
  • Setup
  • Experiments
  • Limitations and future work
  • (Some) Takeaways

3

slide-9
SLIDE 9

4

Streaming in industry

Categories Share of global internet traffic %

[Sandvine 2019]

slide-10
SLIDE 10

4

Streaming in industry

Categories Share of global internet traffic %

[Sandvine 2019]

slide-11
SLIDE 11

4

Streaming in industry

Categories Share of global internet traffic %

[Sandvine 2019]

23.8 % Various, 23.1 % Netflix, 12.7 % YouTube, 4.2 % Twitch…

slide-12
SLIDE 12

5

Streaming in academia

Year # Google Scholar citations

slide-13
SLIDE 13

5

Streaming in academia

Year # Google Scholar citations

slide-14
SLIDE 14

6

slide-15
SLIDE 15

6

slide-16
SLIDE 16

6

slide-17
SLIDE 17

6

?

slide-18
SLIDE 18

6

?

Robust MPC

[ From MPC Paper]

slide-19
SLIDE 19

7

Services of interest

Provider Description Alexa Rank

slide-20
SLIDE 20

7

Services of interest

Provider Description Alexa Rank YouTube Broad coverage 2, Global

slide-21
SLIDE 21

7

Services of interest

Provider Description Alexa Rank YouTube Broad coverage 2, Global ZDF German Public Service 47, Germany

slide-22
SLIDE 22

7

Services of interest

Provider Description Alexa Rank YouTube Broad coverage 2, Global ZDF German Public Service 47, Germany Pornhub Pornographic video sharing website 46, Global

slide-23
SLIDE 23

7

Services of interest

Provider Description Alexa Rank YouTube Broad coverage 2, Global ZDF German Public Service 47, Germany Pornhub Pornographic video sharing website 46, Global Provider Description Alexa Rank YouTube Broad coverage 2, Global ZDF German Public Service 47, Germany Pornhub Pornographic video sharing website 46, Global Arte French-German,cultural 270,France Fandom Gaming, pop-culture 91, Global SRF Swiss Public Service 45, Switzerland TubiTV Movies and series of all genres 1330, USA Twitch Live and VoD streaming service, gaming 39, Global Vimeo Artistic content 188, Global XVideos Pornographic video sharing website 67, Global

slide-24
SLIDE 24

8

Providers Videos Net-traces Length X X X

slide-25
SLIDE 25

8

9750 minutes ~ 7 days of streaming time

Providers Videos Net-traces Length X X X

slide-26
SLIDE 26

9

Measurement setup

slide-27
SLIDE 27

9

Measurement setup

Browser Server

Request/Response

slide-28
SLIDE 28

9

Measurement setup

Browser Proxy Server

Request/Response Request/Response

slide-29
SLIDE 29

9

Measurement setup

Monitor Browser Proxy Server

Throughput Request/Response Request/Response

slide-30
SLIDE 30

9

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-31
SLIDE 31

9

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-32
SLIDE 32

9

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-33
SLIDE 33

9

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-34
SLIDE 34

10

Looking at a measurement

Mbps Time [s]

slide-35
SLIDE 35

10

Looking at a measurement

Mbps Time [s]

slide-36
SLIDE 36

10

Looking at a measurement

Mbps Time [s]

Twitch

slide-37
SLIDE 37

10

Looking at a measurement

Mbps Time [s]

Twitch 2.2 Mbps @ ~ 300s

slide-38
SLIDE 38

11

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-39
SLIDE 39

11

Measurement setup

Monitor Browser Aggregator Proxy Server

Throughput Client State (Buffer..) Video Metadata Stats from Request/Response Request/Response Request/Response

slide-40
SLIDE 40

Is the measurement correct

12

slide-41
SLIDE 41

Is the measurement correct

12

Stream A

slide-42
SLIDE 42

Is the measurement correct

12

Stream B Stream A

slide-43
SLIDE 43

Is the measurement correct

12

Stream B Stream A User

slide-44
SLIDE 44

Is the measurement correct

12

Stream B Stream A User Same !

slide-45
SLIDE 45

Is the measurement correct

12

Stream B Stream A User Same ! Different !

slide-46
SLIDE 46

Is the measurement correct

12

[Formula from MPC Paper]

Experience function Stream B Stream A Same ! Different !

slide-47
SLIDE 47

Is the measurement correct

13

QoELinear

Providers

slide-48
SLIDE 48

Is the measurement correct

13

QoELinear

Providers

slide-49
SLIDE 49

Is the measurement correct

13

QoELinear

Providers

slide-50
SLIDE 50

Is the measurement correct

13

QoELinear

Providers

slide-51
SLIDE 51

14

Mbps Time [s]

Twitch

slide-52
SLIDE 52

14

Mbps Time [s]

Twitch Startup

slide-53
SLIDE 53

15

Startup

Provider Time [s]

slide-54
SLIDE 54

15

Startup

Provider Time [s]

slide-55
SLIDE 55

15

Startup

Provider Time [s]

slide-56
SLIDE 56

15

Startup

Provider Time [s]

slide-57
SLIDE 57

16

Mbps Time [s]

Twitch

slide-58
SLIDE 58

16

Mbps Time [s]

Twitch Startup

slide-59
SLIDE 59

16

Mbps Time [s]

Twitch Startup Converged

slide-60
SLIDE 60

17

Convergence

% Played Mbps Switch

slide-61
SLIDE 61

17

Convergence

% Played Mbps Switch

slide-62
SLIDE 62

17

Convergence

% Played Mbps Switch

Startup Converged

slide-63
SLIDE 63

17

Convergence

% Played Mbps Switch

slide-64
SLIDE 64

18

Mbps Time [s]

Twitch

Buffer [s]

Twitch

slide-65
SLIDE 65

18

Mbps Time [s]

Twitch

Buffer [s]

Twitch

slide-66
SLIDE 66

18

Mbps Time [s]

Twitch

Buffer [s]

Buffer Twitch

slide-67
SLIDE 67

18

Mbps Time [s]

Twitch

Buffer [s]

Buffer Twitch

slide-68
SLIDE 68

18

Mbps Time [s]

Twitch

Buffer [s]

Buffer Twitch

slide-69
SLIDE 69

19

Risk tolerance

% Played Buffer [s]

slide-70
SLIDE 70

19

Risk tolerance

% Played Buffer [s]

slide-71
SLIDE 71

19

Risk tolerance

% Played Buffer [s]

slide-72
SLIDE 72

20

Bandwidth Buffer State Playback

slide-73
SLIDE 73

20

Bandwidth Buffer State Playback

slide-74
SLIDE 74

20

240p 240p 240p 240p

Bandwidth Buffer State Playback

slide-75
SLIDE 75

20

240p 240p 240p 240p

Bandwidth Buffer State Playback

slide-76
SLIDE 76

240p

20

240p 240p 240p 240p 240p 240p 240p

Bandwidth Buffer State Playback

slide-77
SLIDE 77

240p

20

240p 240p 240p 240p 240p 240p 240p 720p

Bandwidth Buffer State Playback

slide-78
SLIDE 78

240p

20

240p 240p 240p 240p 240p 240p 240p 720p 720p

Bandwidth Buffer State Playback

slide-79
SLIDE 79

240p

20

240p 240p 240p 240p 240p 240p 240p 720p 720p

Bandwidth Buffer State Playback

Normal

slide-80
SLIDE 80

240p

20

240p 240p 240p 240p 240p 240p 240p 720p 720p

Bandwidth Buffer State Playback

Redownload

slide-81
SLIDE 81

21

Risk tolerance

% Played Buffer [s]

slide-82
SLIDE 82

22

Bandwidth usage

Provider Played/ Downloaded

slide-83
SLIDE 83

22

Bandwidth usage

Provider Played/ Downloaded

slide-84
SLIDE 84

22

Bandwidth usage

Provider Played/ Downloaded

slide-85
SLIDE 85

22

Bandwidth usage

Provider Played/ Downloaded

slide-86
SLIDE 86

22

Bandwidth usage

Provider Played/ Downloaded

slide-87
SLIDE 87

23

Mbps Time [s]

Twitch

slide-88
SLIDE 88

23

Mbps Time [s]

Twitch

slide-89
SLIDE 89

23

Mbps Time [s]

Twitch

slide-90
SLIDE 90

23

Mbps Time [s]

Twitch Pre-spike

slide-91
SLIDE 91

23

Mbps Time [s]

Twitch Pre-spike Post-spike

slide-92
SLIDE 92

24

Reactivity

% Played

Mbpsbefore − Mbpsafter

# Downloads after change

slide-93
SLIDE 93

24

Reactivity

% Played

Mbpsbefore − Mbpsafter

# Downloads after change

slide-94
SLIDE 94

24

Reactivity

% Played

Mbpsbefore − Mbpsafter

# Downloads after change # Downloads after change

slide-95
SLIDE 95

25

Mbps Time [s]

slide-96
SLIDE 96

25

Mbps Time [s]

Available

slide-97
SLIDE 97

25

Mbps Time [s]

Available Played

slide-98
SLIDE 98

26

Bandwidth usage

Provider Downloaded/ Download-able

slide-99
SLIDE 99

26

Bandwidth usage

Provider Downloaded/ Download-able

slide-100
SLIDE 100

26

Bandwidth usage

Provider Downloaded/ Download-able

slide-101
SLIDE 101

26

Bandwidth usage

Provider Downloaded/ Download-able

slide-102
SLIDE 102

27

Quality of experience

slide-103
SLIDE 103

27

Quality of experience

Played

slide-104
SLIDE 104

27

Quality of experience

Played Static Image

slide-105
SLIDE 105

27

Quality of experience

Played Static Image Action Scene

slide-106
SLIDE 106

27

Quality of experience

Played Static Image Static Image Action Scene

[Videos from YouTube]

slide-107
SLIDE 107

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-108
SLIDE 108

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-109
SLIDE 109

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-110
SLIDE 110

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-111
SLIDE 111

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-112
SLIDE 112

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-113
SLIDE 113

27

Quality of experience

Resolution Played Static Image Static Image Action Scene Buffer

[Videos from YouTube]

slide-114
SLIDE 114

28

Quality of experience

% Played

Top [x%] VMAF chunks

|VMAF[0..%Top] − VMAF[0..100]|

slide-115
SLIDE 115

28

Quality of experience

% Played

Top [x%] VMAF chunks

|VMAF[0..%Top] − VMAF[0..100]|

slide-116
SLIDE 116

28

Quality of experience

% Played

Top [x%] VMAF chunks

|VMAF[0..%Top] − VMAF[0..100]|

slide-117
SLIDE 117

Limitations and future work

29

slide-118
SLIDE 118

Limitations and future work

  • Latency

29

slide-119
SLIDE 119

Limitations and future work

  • Latency
  • Geography

29

slide-120
SLIDE 120

Limitations and future work

  • Latency
  • Geography
  • Mobile vs. desktop space

29

slide-121
SLIDE 121

Limitations and future work

  • Latency
  • Geography
  • Mobile vs. desktop space
  • Optimisation at the provider

29

slide-122
SLIDE 122

(Some) Takeaways

30

slide-123
SLIDE 123

(Some) Takeaways

  • 1. Prioritisation of stable streaming

30

slide-124
SLIDE 124

(Some) Takeaways

  • 1. Prioritisation of stable streaming
  • 2. Buffer goal differs

30

slide-125
SLIDE 125

(Some) Takeaways

  • 1. Prioritisation of stable streaming
  • 2. Buffer goal differs
  • 3. Bandwidth is not fully used

30

slide-126
SLIDE 126

(Some) Takeaways

  • 1. Prioritisation of stable streaming
  • 2. Buffer goal differs
  • 3. Bandwidth is not fully used
  • 4. Indication for optimisation

30

slide-127
SLIDE 127

https://github.com/magruener/understanding-video-streaming-in-the-wild

Understanding video streaming algorithms in the wild

Photo: ETH Zürich / Gian Marco Castelberg