The popularity of OTT platforms for live video streaming is such that Twitch---a service for gamecasters---is today the fourth largest source of US Internet traffic at peak. The challenge for CDN providers is to find a trade-off between the Quality of Experience (QoE) at the user side (which should be maximized) and the footprint of these services on the delivery network infrastructure (which should be minimized). We believe that technologies for dynamic adaptive streaming represent opportunities to revisit this trade-off. We have studied some of these opportunities from an optimization standpoint. We present in this talk two recent contributions: (i) minimizing the footprint by delivering only a subset of the video representations to the CDN edge servers, and (ii) maximizing the QoE by selecting the best video encoding parameters at the origin servers.
4. Context
Target applications : live streaming platforms
Target network : CDN-based delivery architecture
Content Provider
encoders
ingest
server
CDN
origin
server
edge
servers
Clients
3 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
5. Problem
one ingested stream = a dozen of representations
4 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
6. Problem
one ingested stream = a dozen of representations
= tens of Mbps to deliver
to each edge server
4 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
7. Problem
one ingested stream = a dozen of representations
= tens of Mbps to deliver
to each edge server
thousands of streams = a huge stress on the
CDN infrastructure
4 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
8. Motivations
Our goal : find a better trade-off between
The Quality of Experience (QoE) at the user side
The CDN infrastructure cost
5 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
9. Motivations
Our goal : find a better trade-off between
The Quality of Experience (QoE) at the user side
The CDN infrastructure cost
Our approach : optimization, bounds, heuristics
5 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
13. Case study : Twitch
7 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
14. What is a broadcaster
Anybody who screencasts, encodes, and uploads
online online
nb. of viewers
time
t1 t1 t2 t2
session 1 session 2
8 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
15. Data retrieval
Three months in 2014 : from Jan. 6th to Mar. 6th
time
all
channels
of one
snapshot
9 :00 9 :05 9 :10 9 :15 9 :20
every five minutes → one snapshot
Dataset available : http ://dash.ipv6.enstb.fr/dataset/twitch/
9 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
16. How many online broadcasters
0 10 20 30 40 50 60 70 80 90
0
2K
4K
6K
8K
10K
Days
Nb.ofonlinechannels
min max
10 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
17. How much bandwidth is needed
0 10 20 30 40 50 60 70 80 90
0
1
2
Days
Bandwidth(Tbps)
min max
11 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
18. Characteristics of the ingested videos
240p 360p 480p 720p 1080p
0
0.2
0.4
0.6
Representation
Sessionsratio
0.1 1 10
0
0.25
0.5
0.75
1
Video bit-rate (Mbps)
CDFofthesessions
720p
12 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
19. Characteristics of the ingested videos
240p 360p 480p 720p 1080p
0
0.2
0.4
0.6
Representation
Sessionsratio
0.1 1 10
0
0.25
0.5
0.75
1
Video bit-rate (Mbps)
CDFofthesessions
720p 480p 1080p
12 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
25. A dataset for transcoding ingested videos
original
video
yuv
broadcaster-
prepared video
1080p
2.75 Mbps
encoding
15 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
26. A dataset for transcoding ingested videos
original
video
yuv
broadcaster-
prepared video
1080p
2.75 Mbps
encoding
cloud-
transcoded repr.
360p
1.6 Mbps
transcoding
measure CPU cycles
500 1000 1500 2000 2500
0.6
0.8
1
1.2
1.4
1.6
Rate (in kbps)
CPU(inGHz)
224p 360p 720p 1080p
15 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
27. A dataset for transcoding ingested videos
original
video
yuv
broadcaster-
prepared video
1080p
2.75 Mbps
encoding
cloud-
transcoded repr.
360p
1.6 Mbps
transcoding
measure CPU cycles
reference video
360p
3 Mbps
estimating
QoE
500 1000 1500 2000 2500
30
32
34
36
38
40
Rate (in kbps)
PSNR(indB)
224p 360p 720p 1080p
500 1000 1500 2000 2500
0.6
0.8
1
1.2
1.4
1.6
Rate (in kbps)
CPU(inGHz)
224p 360p 720p 1080p
15 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
28. Problem Formulation
a type of video
a resolution
a bit-rate
Ingested streams
16 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
29. Problem Formulation
a type of video
a resolution
a bit-rate
Ingested streams
a max download capacity
a max display size
a stream to watch
End-users
16 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
30. Problem Formulation
a type of video
a resolution
a bit-rate
Ingested streams
a max download capacity
a max display size
a stream to watch
End-users
limited CPU resources
limited delivery capacity
Constraints
16 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
31. Problem Formulation
a type of video
a resolution
a bit-rate
Ingested streams
a max download capacity
a max display size
a stream to watch
End-users
limited CPU resources
limited delivery capacity
Constraints
decide for each stream :
nb of representations
their resolutions
their bit-rates
16 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
32. Integer Linear Program (ILP)
max
{ααα,βββ}
i∈I o∈O u∈U
fiou · αiou (1a)
s.t. i ∈ I, o ∈ O, u ∈ U (1b)
o∈O
αiou ≤ diu, i ∈ I, u ∈ U (1c)
i∈I o∈O
ro − cu · αiou ≤ 0, u ∈ U (1d)
i∈I o∈O u∈U
αiou ≥ R · N, (1e)
βiom ≤
1, if (vi = vo & si = so & bi > bo)
(vi = vo & si > so & bi ≥ bo)
0, otherwise
i ∈ I, o ∈ O, m ∈ M (1f)
i∈I o∈O
pio · βiom ≤ Pm, m ∈ M (1g)
... (1h)
17 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
33. How far from the optimal ?
1. Define simulation settings using three datasets :
A collection of broadcasters’ streams
A population of end-viewers
A transcoding dataset of QoE and CPU measures
18 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
34. How far from the optimal ?
1. Define simulation settings using three datasets :
A collection of broadcasters’ streams
A population of end-viewers
A transcoding dataset of QoE and CPU measures
2. Compute optimal representations with ILP
18 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
35. How far from the optimal ?
1. Define simulation settings using three datasets :
A collection of broadcasters’ streams
A population of end-viewers
A transcoding dataset of QoE and CPU measures
2. Compute optimal representations with ILP
3. Compare ILP optimum with current solutions :
Full-cover strategies : the smallest rate per resolution
Cloud-transcoding providers sets (e.g. Zencoder)
18 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
36. How far from the optimal ?
The 50 most popular channels are transcoded
20 40 60 80 100
29
30
31
32
33
number of machines
Avg.PSNR(indB)
19 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
37. How far from the optimal ?
The 50 most popular channels are transcoded
20 40 60 80 100
29
30
31
32
33
Full-Cover
number of machines
Avg.PSNR(indB)
19 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
38. How far from the optimal ?
The 50 most popular channels are transcoded
20 40 60 80 100
29
30
31
32
33
Full-Cover Zencoder
number of machines
Avg.PSNR(indB)
19 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
39. Heuristic in a nutshell
Input : streams + total CPU
Process each stream
20 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
40. Heuristic in a nutshell
Input : streams + total CPU
Process each stream
Fix a stream CPU based on optimum :
1) stream popularity
2) stream CPU < 10GHz
3) video type
4) resolution
20 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
41. Heuristic in a nutshell
Input : streams + total CPU
Process each stream
Fix a stream CPU based on optimum :
1) stream popularity
2) stream CPU < 10GHz
3) video type
4) resolution
Find stream representations w.r.t CPU
20 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
42. Heuristic in a nutshell
Input : streams + total CPU
Process each stream
Fix a stream CPU based on optimum :
1) stream popularity
2) stream CPU < 10GHz
3) video type
4) resolution
Find stream representations w.r.t CPU
Any pending stream ? Next stream
Output : Representations
yes
no
20 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
43. Algorithms performance
0 2 000 4 000 6 000 8 000 10 000 12 000 14 000 16 000 18 000 20 000
31
31.5
32
32.5
33
Total CPU (GHz)
Avg.PSNR(dB)
Full-Cover
21 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
44. Algorithms performance
0 2 000 4 000 6 000 8 000 10 000 12 000 14 000 16 000 18 000 20 000
31
31.5
32
32.5
33
Total CPU (GHz)
Avg.PSNR(dB)
Full-Cover Zencoder
21 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
45. Algorithms performance
0 2 000 4 000 6 000 8 000 10 000 12 000 14 000 16 000 18 000 20 000
31
31.5
32
32.5
33
Total CPU (GHz)
Avg.PSNR(dB)
Full-Cover Zencoder Heuristic
21 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
46. More details in
L. Toni, R. Aparicio-Pardo, K. Pires, A. Blanc, G. Simon and P. Frossard.
Optimal Selection of Adaptive Streaming Representations
ACM Transactions on Multimedia Computing, Communications and Applications, 2015.
R. Aparicio, K. Pires, A. Blanc and G. Simon.
Transcoding Live Video Streams at a Massive Scale in the Cloud
in Proc. of ACM MMSys, 2015.
22 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
48. Model
ISP 1 ISP 2 ISP 3
origin servers
reflectors
edge servers
24 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
49. Model
ISP 1 ISP 2 ISP 3
origin servers
reflectors
edge servers
Assumption : The upload capacity of the
equipments is the main resource to save
24 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
50. Our idea in a nutshell
Do not send all representations to edge servers
25 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
51. Our idea in a nutshell
Do not send all representations to edge servers
CDN
coordinator
25 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
52. Our idea in a nutshell
Do not send all representations to edge servers
CDN
coordinator
1
edge servers
report to the
CDN coordinator
about the
requests they
got during the
last period
1
25 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
53. Our idea in a nutshell
Do not send all representations to edge servers
CDN
coordinator
2
The CDN coor-
dinator decides
utility scores
for all repre-
sentations and
all edge servers
2
25 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
54. Our idea in a nutshell
Do not send all representations to edge servers
CDN
coordinator
3
sources deliver
representations so
that the overall
utility score is
maximal, subject
to network
under-provisioning
3
25 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
55. A simple example of delivery
4
6
4
5
mobile ftth other mobile
reflectors with upload
capacity expressed in Mbps
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
56. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
4
6
4
5
mobile ftth other mobile
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
57. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
4
6
4
5
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
other
ulow = 4
uhigh = 4
mobile
ulow = 6
uhigh = 1
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
58. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
4
6
4
5
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
other
ulow = 4
uhigh = 4
mobile
ulow = 6
uhigh = 1
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
59. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
2
6
1
4
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
other
ulow = 4
uhigh = 4
mobile
ulow = 6
uhigh = 1
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
60. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
2
6
1
4
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
mobile
ulow = 6
uhigh = 1
other
ulow = 4
uhigh = 4
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
61. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
2
3
1
1
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
mobile
ulow = 6
uhigh = 1
other
ulow = 4
uhigh = 4
e ulow + uhigh = 23
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
62. A simple example of delivery
reflectors with upload
capacity expressed in Mbps
One stream
Two representations
low-quality 1 Mbps
high-quality 3 Mbps
2
3
1
1
mobile
ulow = 6
uhigh = 1
ftth
ulow = 3
uhigh = 9
mobile
ulow = 6
uhigh = 1
other
ulow = 4
uhigh = 4
e ulow + uhigh = 23
Can we do better ?
26 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
63. What we have done
J. Liu, G. Simon, G. Texier, and C. Rosenberg.
User-centric discretized delivery of rate-adaptive live
streams in underprovisioned CDN networks
IEEE Journal in Selected Areas in Communications, 2014.
27 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
64. What we have done
J. Liu, G. Simon, G. Texier, and C. Rosenberg.
User-centric discretized delivery of rate-adaptive live
streams in underprovisioned CDN networks
IEEE Journal in Selected Areas in Communications, 2014.
A linear program to compute the optimal delivery
Only on small-scale network and few movies
27 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
65. What we have done
J. Liu, G. Simon, G. Texier, and C. Rosenberg.
User-centric discretized delivery of rate-adaptive live
streams in underprovisioned CDN networks
IEEE Journal in Selected Areas in Communications, 2014.
A linear program to compute the optimal delivery
Only on small-scale network and few movies
Some fast optimal algorithms for special cases
27 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
66. What we have done
J. Liu, G. Simon, G. Texier, and C. Rosenberg.
User-centric discretized delivery of rate-adaptive live
streams in underprovisioned CDN networks
IEEE Journal in Selected Areas in Communications, 2014.
A linear program to compute the optimal delivery
Only on small-scale network and few movies
Some fast optimal algorithms for special cases
A fast heuristic with near-optimal performances
27 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
67. A glimpse of simulation results
provisioning only 1
5 of a full delivery
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
User satisfaction
CDFofusers
28 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
68. A glimpse of simulation results
provisioning only 1
5 of a full delivery
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
User satisfaction
CDFofusers
A naive approach
28 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
69. A glimpse of simulation results
provisioning only 1
5 of a full delivery
two thirds of users do
not get the best repr.
a fifth of users
experience quality
half the optimal
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
User satisfaction
CDFofusers
A naive approach
28 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
70. A glimpse of simulation results
provisioning only 1
5 of a full delivery
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
User satisfaction
CDFofusers
A naive approach
Our optimal solution
28 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
71. A glimpse of simulation results
provisioning only 1
5 of a full delivery
room for improvement
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
User satisfaction
CDFofusers
A naive approach
Our optimal solution
28 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
72. Conclusion
29 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
73. Takeaway
Adaptive streaming can be harmful for infrastructures
30 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
74. Takeaway
Adaptive streaming can be harmful for infrastructures
Current implementations are far from optimal
30 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
75. Takeaway
Adaptive streaming can be harmful for infrastructures
Current implementations are far from optimal
Smarter solutions exist
30 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams
76. Takeaway
Adaptive streaming can be harmful for infrastructures
Current implementations are far from optimal
Smarter solutions exist
Significant improvements can be obtained
30 / 30 Gwendal Simon Adaptive Delivery of Live Video Streams