SlideShare a Scribd company logo
THE INS AND OUTS OF HTML5
VIDEO WORKFLOWS
Streaming Media West – Streaming Media University
Wednesday, November 1, 2017
9:00 am to 12:00 pm
● Leaders in distributed content delivery systems to accompany growth in OTT traffic
● Experts in HTML5 and mobile video technologies through integrations into open-
source & proprietary players
Streamroot: Who are we?
I. HTML5 basics
A. APIs: the basics
B. Support
II. The HTML5 workflow
A. Encoding
B. Formats
C. Network protocols
D. DRM
E. SSAI
F. HTTPs
III. Choosing a web player
A. Modern player architecture
B. Considerations & what to look for
C. A few open-source and proprietary options
→ EXAMPLES: hls.js
Debugging, subtitles, encryption, ads, Streamroot, ABR
What we’ll be talking about today.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Choosing mobile & STB
Environments
Building blocks
Your player options
Native vs Webview
IV. Going from POC to production
A. What could go wrong
B. Monitoring / iterating: setting up an AB testing workflow
C. What happens after I do a POC? Workflow, fallbacks, etc.
V. Making it work for you
D. Optimizing: my player’s ABR for my specific use case
What we’ll be talking about today.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
I. HTML5 Basics
APIs
1. Media Source Extensions
• Makes HTTP adaptive streaming
possible in HTML5
• Use JavaScript to build streams
and inject data into the video
tag’s buffer
Source: W3C
specs
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
I. HTML5 Basics
APIs
2. Encrypted Media Extensions
• Allows for DRMs in HTML5
• Provides a way to interact with
content protection systems
• Plugin-free
• Common Encryption (CENC):
standardized key and encryption
methods - multiple DRMs for same
file
Source: W3C
specs
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Source:
Bitmovin
1. HTML5 Basics
Support
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
II. The HTML5 Workflow
Encoding
H.264 → HEVC
- Diverging & multiplying patent pools
- Fees mainly for device producers
but also content licenses
- But… Apple announced support for
HEVC (June)
HEVC Patent pools
- MPEG LA
- HEVC Advanced
- VELOS Media
- Technicolor (standalone)
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Mobile $0.50 per device
4K TV $1.50 per device
Other $1 per device
Title by title $0.025 per title
Subscription $0.005-0.025 per user per month
Media $0.0025 per disc/title
HEVC Advance pricing structure
II. The HTML5 Workflow
Encoding
VP9 → AV1
- VP9 can now be used with MP4
- AV1: feature freeze in October; hard freeze for
end of 2017
Either way:
- Encode to MP4 and then repackage as
necessary for target platforms
Source: Encoding.com
2017 Global Media Format
Report
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Formats
Source: Encoding.com 2017
Global Media Format Report
72%21%7%
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Containers:
- less and less linked to codecs
- WebM losing traction
- fMP4/ISOBMFF can now be used everywhere (MSE, CMAF, and even with VP9 and
AV1)
HTTP Streaming formats:
II. The HTML5 Workflow
Formats: CMAF
Common Media Application Format:
- ISOBMFF + CENC + H.264/HEVC/etc. + Dash OR HLS manifest
- Apple supports fragmented MP4 in latest HLS version since iOS 10
PROs
Play DASH and HLS from single set of source files!
- Cut storage costs in half, efficient caching
- fMP4 involves less overhead than mpeg-ts
- No more need to transmux
- Single media engine for HLS and DASH
WARNING
- Legacy devices
- DRMs
- Implementation
not ready
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Formats: CMAF
In September 2017, Microsoft announced CMAF & CBC support for Playready 4.0
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Formats: A note on low latency
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
CMAF
- segment chunking combined with HTTP/2 Push mechanism for sub-2-second latency
Websockets
- Proprietary protocols (WOWZ) + SRT / UDP
L-HLS (Periscope)
- Modified HLS format
WebRTC
- Formats restrictions, scalability
Low latency (<3 seconds) is hard and expensive, don’t expect it to be magically solved.
II. The HTML5 Workflow
DRM
Switch from token authorization to HTML5 DRM
- Microsoft: PlayReady -> Dash/fMP4 -> CTR, CBC
- Chrome, FF: Widevine -> Dash/fMP4 -> CTR, CBC
- iOS: FairPlay -> HLS/TS/fMP4 -> CBC
Keep in mind Flash fallbacks if necessary.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
DRM
For complete compatibility lists, including mobile and STB: https://www.buydrm.com/keyos-platform-
compatibility-matrix
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Advertising
You’ll need to rewrite the client-side Ad selection in HTML5
Good news: Flash ads are dying too!
On Google Ad-exchange:
- No video ads can be added in Flash since April 2017
- No video ads will be served in Flash starting July 2017
But because of legacy, still may need some Flash fallbacks...
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Server-side ad insertion (SSAI)
A new approach on the market: SSAI.
PROs
- Not blocked by ad-blockers
- A smoother experience
CONs
- caching challenges
- not all players are ready, still need player integrations
- interactivity and measurement challenges
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
II. The HTML5 Workflow
Server-side ad insertion (SSAI)
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
How to cache custom
manifest & ad segments?
SCTE 35 triggers support?
Ad tracking?
II. The HTML5 Workflow
Network Protocols / HTTPS
HTTP2
- Improvement on HTTP 1.1
- Adds request multiplexing
- Adds server push
- Still over TCP
QUIC
- Transports HTTP2 over UDP instead
of TCP
- A lot of improvements in RTT,
bandwidth speed, packet recovery...
- Needs both server-side and client-
side implementation
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
TCP BBR
- Improves the TCP congestion control algorithm
- Improves RTT and available bandwidth by 5 to
50%
- requires server-side implementation only!
HTTPS
- mandatory with HTML5 players!
- Changing to HTTPs can be expensive and long,
depending on your CDN.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
III. Web Player Architecture
III. Player architecture
Modern player architecture
Before choosing:
1. Understand the specificities of your use case: type of streaming, user habits,
target platforms, etc.
1. Know your feature requirements: ads, paywall, UX, channels, playlists,
analytics, etc.
More flexible architecture with separation between UX and media engine logic!
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Skin
Ads
Playlists
DRM
Manager
Decoder /
Renderer
Authentication
Content decryption
module
Media Engine(s)
UI
Media Engine(s)
Playback
& DRM
Social sharing
III. Player architecture
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
1. Skin - the graphic design
of your player
2. UI logic - features defining
all interaction with the user
on top of video playback
Lots of plugins available, video.js for
example
III. Player architecture
User Interface
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Sample UI workflow with authentication, channels and pre-roll ad
III. Player architecture
User Interface
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Easily customizable, with many plugins available for use or inspiration.
Add features as plugins/modules to the core UI base.
Create a unified user experience across browsers, even if the media engine behind it
may vary from device to device.
Check out tools such as React native, Haxe
III. Player architecture
User Interface
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
III. Player architecture
Media Engine
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
III. Player architecture
Decoder & DRM manager
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
1. General criteria
- device, format and codec dependencies
III. What to look for
2. Custom features
- DRMs
- DVR subtitles
- QoS, etc.
3. Perfs & Quality
- startup time
- ABR
- error strategies
4. Street cred, robustness, ease of
use
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Light-touch dev:
- Simplicity and stability of the media engine
- Assess extensibility & ease of incorporating
special features
- Media engine customization
- Events exposed
- Debugging
Digging deeper:
- Robust yet flexible core design
- Tests and testing coverage
- community & support
PROs
Supported by DASH-IF
Pushed & maintained by Akamai + tier-1s (BBC)
Highest visibility, big community
Lots of features and use-cases handled
Widely used in production
Huge test suite + online test page
CONs
A little bit of technical debt and complexity
Non-trivial API and customization config
H264/AAC support only
III. What’s out there?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
PROs
Built by an entire at Google: solid & smart
Performances and robustness, quick to improve
Simple to get started, good tutorials
Only one supporting WebM, VP8, VP9, open audio codecs
Good support on github and Google groups
CONs
Google-centric
Today lacks some features for large broadcasters
Stricter PR & features policy
No ES6 support
Fewer OVP and open-source all-in-one integrations
III. What’s out there?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
PROs
Created by Dailymotion, built from scratch by author of Flashls
Enormous traction and visibility
Clear architecture design, easily extendable
Good robustness and debug demo, responsive support
Widely used in prod by all-in-one players + tier-1s
CONs
Some restrictions from the transmuxing & HLS: no DRMs today,
only AES128
III. What’s out there?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
PROs
Seamless Flash fallback with a MediaSource polyfill
De facto solution for HLS with VideoJS
Large community of users (Brightcove + Videojs)
In production with Brightcove with a wide range of customers
CONs
Videojs plugin: not usable without videojs
Lack of public debug tools or pages
Learning curve on providers & tech behind it
III. What’s out there?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
But there are also a lot of off-the-shelf options.
III. What’s out there?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile & Other Platforms
Different environments:
- Mobile web (Safari on iOS, Chrome on Android)
- Native Apps
Different APIs, different access levels… often more restrictive than web!
IV. Mobile and other platforms
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
Building blocks: iOS
Base player: AV Player
No low level-APIs
Almost no fragmentation
HLS
Fairplay
Browsers: no MSE on Safari, but native HLS support
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
Building blocks: Android
Base Player: MediaPlayer
Low level APIs:
- MediaCodec (like MSE)
- MediaDRM (like EME)
Extended open-source framework: ExoPlayer
DASH, HLS, mp4, Smooth...
Widewine
Browsers: as on Desktop, supports MSE!
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
Building blocks: Other devices
TVos: like iOS
Android TV: like Android + Playready
STBs:
- Android TV based
- Chromium/Opera Middle-ware based
- Proprietary frameworks (legacy)
SmartTVs:
- big fragmentation (Android, Tizen, proprietary…)
- Not following standards very well
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
What players to choose?
Build yourself:
- AV Player on iOS
- Exoplayer on Android
Off-the-shelf:
- all built on AV Player & ExoPlayer
- unified UX, UI & config
- adding some bonus features
(simpler DRMs, offline storage,
etc)
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
HTML5 approach?
iOS:
- no MSE in Safari, nor in Webview
Android:
- can use MSE-based players directly with a WebView!
PROs
Same code and logic on Desktop & Mobile
Comparable performance
Easier UX & UI: HTML & CSS
CONs
Less options than with ExoPlayer
Need to know JS & HTML5
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
IV. Mobile and other platforms
DRMs
iOS:
- Fairplay, only on the latest versions
Android:
- Widewine
So if you are using DRMs, you will need at least Widewine, Fairplay & Playready
to have a good device support.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
V. The Path to Production!
What could go wrong?
- - Encoding
- - DRMs
- - HTTPS
V. The Path to Production!
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Making a smooth transition.
- - HTML5 player rollout
- - Playback & QoS Metrics
- - AB Testing!
I did a POC. Now what?
- - Moving the UX to HTML5
- - Build the media engine extendable architecture (providers)
- - (optional) choose a Fallback alternative
Client AB testing methods:
1) Dynamic Config Injection
2) Different builds with a reverse proxy
V. The Path to Production!
AB testing pipeline: General setup
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
How much time does it take?
The build vs. buy tradeoff.
- Do I have the internal resources to develop,
integrate, customize and maintain?
- Are the features I need already available in
off-the-shelf and/or open-source solutions?
Consider time to market.
V. The Path to Production!
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Making it work for you
1. Maximize efficiency – stream at the highest bitrate possible
2. Minimize rebuffering – avoid underrun and playback stalls
3. Encourage stability – switch only when necessary
(4. Promote fairness across network bottlenecks)
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Introduction to ABR
Design Goals
1. Screen & Player Size
Resolution should never be larger than the actual size of the video player
2. Dropped frame rate
Downgrade when too many dropped frames per second
3. Startup time
Fetch the lowest quality first whenever the buffer is empty
VI. ABR Building Blocks
Constraints and parameters
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Available bandwidth estimation → maximize bitrate
Estimate the available bandwidth based on last segment
Available bandwidth = size of chunk / time taken to download
Basic bandwidth-based algorithm:
Estimate bandwidth
from last segment
stats
Choose first bitrate <
estimated bandwidth
Schedule
download
Network
conditions
Estimation Bitrate selection
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. ABR Building Blocks
Bandwidth estimation
More complex bandwidth-based algorithm:
Quantizing: quantize the smoothed bandwidth to a discrete bitrate
Take into account
historical values, not
just the last segment
Choose first bitrate <
adjusted bandwidth
Schedule
download
Network
conditions
Estimation Quantizing
Average or adjust
range of values
obtained
Smoothing
Apply coefficient to
adjust bandwidth
estimate
Bitrate selection
VI. ABR Building Blocks
Bandwidth estimation
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
Buffer fill size → Minimize rebuffering ratio
Buffer ratio = buffering time / (buffering time + playback time)
Abandon strategy
VI. ABR Building Blocks
Buffer control mechanism
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Buffer based algorithms
Pitfalls of bandwidth-based estimations:
• Not resilient to sudden network fluctuations
• Often leads to bitrate oscillations
• Biased by HTTP/TCP calls on the same device/network
→ What if we only used the buffer size?
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Buffer-based algorithms: concept
IF Output Rate > Input Rate
THEN Switch Down
IF Input Rate > K * Output Rate
THEN Switch Up
IF BufferSize > Buffer Threshold
THEN Stay at Max Rate
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Buffer-based algorithms: pros and cons
Advantages of buffer-based algorithms:
• Fewer estimation issues
• Particularly effective when throughput is highly variable
BUT:
• Too conservative during ramp-up phase
• Issues when you have different chunk sizes (VBR)
• Issues when you don’t have enough buffer!
• → HYBRID Buffer-level based algorithms, with bandwidth measurement used only when
needed (at start-up)
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Buffer-based algorithms: pros and cons
→ HYBRID Buffer-level based algorithms, with bandwidth measurement used
only when needed
For VOD:
On startup, while BufferSize<Bmax,
Use bandwidth-based algo to ramp up
more aggressively.
For Live and short-content VOD:
In the case Playlist length << Bmax,
Always use the Bandwidth-based
approach
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/rules/abr/BolaRule.js
Uses Utility Theory:
Maximize Vn + y Sn
Where:
Vn is the bitrate utility
Sn is the playback Smoothness
y is the tradeoff weight parameter
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. EXAMPLE
Dash.js BOLA - another approach
VI. And it works!
Improving hls.js’s ABR logic
1. Start taking historical values.
2. Use EWMA to smooth.
Take into account
historical values, not
just the last segment
Choose first bitrate <
adjusted bandwidth
Schedule
download
Network
condition
s
Estimation Quantizing
Average or adjust
range of values
obtained
Smoothing
Apply coefficient to
adjust bandwidth
estimate
Bitrate selection
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
https://github.com/dailymotion/hls.js/blob/master/src/controller/abr-controller.js
EWMA: Shaka Player:
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. And it works!
Improving hls.js’s ABR logic
native flashls hls.js,s=9,f=3hls.js,s=0,f=0hls.js,s=6,f=1
Rebuffering, percentile rank
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. And it works!
Improving hls.js’s ABR logic
Streaming type: VOD / Live ?
Devices: Desktop? Mobile? STBs?
Service: Premium? Ad based?
With data, personalize even more:
- Per country
- Per ISP
- Per network connection type
- Per viewer habits!
© 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
VI. Going further
Understand your use case
GET IN TOUCH!
Nikolay Rodionov, Co-Founder and CPO
nikolay@streamroot.io
Erica Beavers, Head of Partnerships
erica@streamroot.io

More Related Content

What's hot

HTM5/CENC par Romain Bouqueau de Gpac Licensing
HTM5/CENC par Romain Bouqueau de Gpac LicensingHTM5/CENC par Romain Bouqueau de Gpac Licensing
HTM5/CENC par Romain Bouqueau de Gpac LicensingJustindwah
 
The Perfect Storm MPEG DASH with H.265 (HEVC) with HTML5
The Perfect Storm  MPEG DASH with H.265 (HEVC) with HTML5The Perfect Storm  MPEG DASH with H.265 (HEVC) with HTML5
The Perfect Storm MPEG DASH with H.265 (HEVC) with HTML5
IMTC
 
Choosing the Segment Length for Adaptive Bitrate Streaming
Choosing the Segment Length for Adaptive Bitrate StreamingChoosing the Segment Length for Adaptive Bitrate Streaming
Choosing the Segment Length for Adaptive Bitrate Streaming
Bitmovin Inc
 
Multimedia Streaming Architecture
Multimedia Streaming ArchitectureMultimedia Streaming Architecture
Multimedia Streaming Architecture
Olaf Reitmaier Veracierta
 
September 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced EncodingSeptember 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced Encoding
Bitmovin Inc
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 Notes
Yusuke Goto
 
OTT Video DRM
OTT Video DRMOTT Video DRM
OTT Video DRM
Yoss Cohen
 
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
Tanya Vernitsky
 
DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2
Rufael Mekuria
 
Review Paper on HEVC (x265)
Review Paper on HEVC (x265)Review Paper on HEVC (x265)
Review Paper on HEVC (x265)
dhruvkanojia
 
The H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC StandardThe H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC Standard
IMTC
 
Converging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from NagraConverging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from NagraJustindwah
 
EARLY DAYS OF VIDEO CODING STANDARDIZATION
EARLY DAYS OF VIDEO CODING STANDARDIZATIONEARLY DAYS OF VIDEO CODING STANDARDIZATION
EARLY DAYS OF VIDEO CODING STANDARDIZATION
IMTC
 
Best practices for live streaming
Best practices for live streamingBest practices for live streaming
Best practices for live streaming
Ashok Lalwani
 
IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai
Verimatrix
 
CDN_Netflix_analysis
CDN_Netflix_analysisCDN_Netflix_analysis
CDN_Netflix_analysisSanket Jain
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructures
Giacomo Vacca
 
Managing Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
Managing Transition to HEVC/VP9/AV1 with Multi-Codec StreamingManaging Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
Managing Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
Bitmovin Inc
 
Encoding at Scale for Live Video Streaming
Encoding at Scale for Live Video StreamingEncoding at Scale for Live Video Streaming
Encoding at Scale for Live Video Streaming
Ray Adensamer
 
Kernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with CiliumKernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with Cilium
Cynthia Thomas
 

What's hot (20)

HTM5/CENC par Romain Bouqueau de Gpac Licensing
HTM5/CENC par Romain Bouqueau de Gpac LicensingHTM5/CENC par Romain Bouqueau de Gpac Licensing
HTM5/CENC par Romain Bouqueau de Gpac Licensing
 
The Perfect Storm MPEG DASH with H.265 (HEVC) with HTML5
The Perfect Storm  MPEG DASH with H.265 (HEVC) with HTML5The Perfect Storm  MPEG DASH with H.265 (HEVC) with HTML5
The Perfect Storm MPEG DASH with H.265 (HEVC) with HTML5
 
Choosing the Segment Length for Adaptive Bitrate Streaming
Choosing the Segment Length for Adaptive Bitrate StreamingChoosing the Segment Length for Adaptive Bitrate Streaming
Choosing the Segment Length for Adaptive Bitrate Streaming
 
Multimedia Streaming Architecture
Multimedia Streaming ArchitectureMultimedia Streaming Architecture
Multimedia Streaming Architecture
 
September 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced EncodingSeptember 27 Roundtable: Advanced Encoding
September 27 Roundtable: Advanced Encoding
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 Notes
 
OTT Video DRM
OTT Video DRMOTT Video DRM
OTT Video DRM
 
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance fo...
 
DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2DVB-I masterclass introductions-packaging-encoding-v2
DVB-I masterclass introductions-packaging-encoding-v2
 
Review Paper on HEVC (x265)
Review Paper on HEVC (x265)Review Paper on HEVC (x265)
Review Paper on HEVC (x265)
 
The H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC StandardThe H.265/MPEG-HEVC Standard
The H.265/MPEG-HEVC Standard
 
Converging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from NagraConverging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from Nagra
 
EARLY DAYS OF VIDEO CODING STANDARDIZATION
EARLY DAYS OF VIDEO CODING STANDARDIZATIONEARLY DAYS OF VIDEO CODING STANDARDIZATION
EARLY DAYS OF VIDEO CODING STANDARDIZATION
 
Best practices for live streaming
Best practices for live streamingBest practices for live streaming
Best practices for live streaming
 
IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai
 
CDN_Netflix_analysis
CDN_Netflix_analysisCDN_Netflix_analysis
CDN_Netflix_analysis
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructures
 
Managing Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
Managing Transition to HEVC/VP9/AV1 with Multi-Codec StreamingManaging Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
Managing Transition to HEVC/VP9/AV1 with Multi-Codec Streaming
 
Encoding at Scale for Live Video Streaming
Encoding at Scale for Live Video StreamingEncoding at Scale for Live Video Streaming
Encoding at Scale for Live Video Streaming
 
Kernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with CiliumKernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with Cilium
 

Similar to Streaming Media West 2017 - HTML5 Workshop

CommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) servicesCommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) services
Antonio Capone
 
Virtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisitedVirtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisited
Dr. Randolph Nikutta
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
Sunil Swain
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
Sunil Swain
 
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin Inc
 
Flash and HTML5 Video
Flash and HTML5 VideoFlash and HTML5 Video
Flash and HTML5 Video
Yoss Cohen
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
Douglas Tait
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersHarry Behrens, PhD
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
Victor Pascual Ávila
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascual
Alan Quayle
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
UppersideConferences
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
ForgeRock
 
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobilebitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
Bitmovin Inc
 
Video Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRMVideo Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRM
Stefan Lederer
 
Video Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRMVideo Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRM
Bitmovin Inc
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
Victor Pascual Ávila
 
PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014Dialogic Inc.
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
Anton Whalley
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
Giacomo Vacca
 

Similar to Streaming Media West 2017 - HTML5 Workshop (20)

CommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) servicesCommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) services
 
Virtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisitedVirtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisited
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video WorkflowsBitmovin LIVE Tech Talks: Data Driven Video Workflows
Bitmovin LIVE Tech Talks: Data Driven Video Workflows
 
Flash and HTML5 Video
Flash and HTML5 VideoFlash and HTML5 Video
Flash and HTML5 Video
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriers
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascual
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobilebitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
bitdash - Simple & Easy MPEG-DASH Player for Web and Mobile
 
Video Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRMVideo Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRM
 
Video Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRMVideo Encoding and HTML5 Playback With Native DRM
Video Encoding and HTML5 Playback With Native DRM
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 
PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014PowerMedia XMS at Mobile World Congress 2014
PowerMedia XMS at Mobile World Congress 2014
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 

More from Erica Beavers

VLC 3.0 ++
VLC 3.0 ++VLC 3.0 ++
VLC 3.0 ++
Erica Beavers
 
Streamroot Verizon Ventures Demo Day Deck
Streamroot Verizon Ventures Demo Day DeckStreamroot Verizon Ventures Demo Day Deck
Streamroot Verizon Ventures Demo Day Deck
Erica Beavers
 
IBC 360 Tour: Virtual or Real Trends
IBC 360 Tour: Virtual or Real TrendsIBC 360 Tour: Virtual or Real Trends
IBC 360 Tour: Virtual or Real Trends
Erica Beavers
 
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
Erica Beavers
 
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
Erica Beavers
 
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
Erica Beavers
 

More from Erica Beavers (6)

VLC 3.0 ++
VLC 3.0 ++VLC 3.0 ++
VLC 3.0 ++
 
Streamroot Verizon Ventures Demo Day Deck
Streamroot Verizon Ventures Demo Day DeckStreamroot Verizon Ventures Demo Day Deck
Streamroot Verizon Ventures Demo Day Deck
 
IBC 360 Tour: Virtual or Real Trends
IBC 360 Tour: Virtual or Real TrendsIBC 360 Tour: Virtual or Real Trends
IBC 360 Tour: Virtual or Real Trends
 
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
Paris Video Tech - 1st Edition: Streamroot, Adaptive Bitrate Algorithms: comm...
 
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
Paris Video Tech - 1st Edition: Afrostream, un player agile  pour suivre le m...
 
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
Paris Video Tech - 1st Edition: Dailymotion Améliorer l'expérience utilisateu...
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

Streaming Media West 2017 - HTML5 Workshop

  • 1. THE INS AND OUTS OF HTML5 VIDEO WORKFLOWS Streaming Media West – Streaming Media University Wednesday, November 1, 2017 9:00 am to 12:00 pm
  • 2. ● Leaders in distributed content delivery systems to accompany growth in OTT traffic ● Experts in HTML5 and mobile video technologies through integrations into open- source & proprietary players Streamroot: Who are we?
  • 3. I. HTML5 basics A. APIs: the basics B. Support II. The HTML5 workflow A. Encoding B. Formats C. Network protocols D. DRM E. SSAI F. HTTPs III. Choosing a web player A. Modern player architecture B. Considerations & what to look for C. A few open-source and proprietary options → EXAMPLES: hls.js Debugging, subtitles, encryption, ads, Streamroot, ABR What we’ll be talking about today. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 4. IV. Choosing mobile & STB Environments Building blocks Your player options Native vs Webview IV. Going from POC to production A. What could go wrong B. Monitoring / iterating: setting up an AB testing workflow C. What happens after I do a POC? Workflow, fallbacks, etc. V. Making it work for you D. Optimizing: my player’s ABR for my specific use case What we’ll be talking about today. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 5. I. HTML5 Basics APIs 1. Media Source Extensions • Makes HTTP adaptive streaming possible in HTML5 • Use JavaScript to build streams and inject data into the video tag’s buffer Source: W3C specs © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 6. I. HTML5 Basics APIs 2. Encrypted Media Extensions • Allows for DRMs in HTML5 • Provides a way to interact with content protection systems • Plugin-free • Common Encryption (CENC): standardized key and encryption methods - multiple DRMs for same file Source: W3C specs © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 7. Source: Bitmovin 1. HTML5 Basics Support © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 8. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. II. The HTML5 Workflow
  • 9. II. The HTML5 Workflow Encoding H.264 → HEVC - Diverging & multiplying patent pools - Fees mainly for device producers but also content licenses - But… Apple announced support for HEVC (June) HEVC Patent pools - MPEG LA - HEVC Advanced - VELOS Media - Technicolor (standalone) © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. Mobile $0.50 per device 4K TV $1.50 per device Other $1 per device Title by title $0.025 per title Subscription $0.005-0.025 per user per month Media $0.0025 per disc/title HEVC Advance pricing structure
  • 10. II. The HTML5 Workflow Encoding VP9 → AV1 - VP9 can now be used with MP4 - AV1: feature freeze in October; hard freeze for end of 2017 Either way: - Encode to MP4 and then repackage as necessary for target platforms Source: Encoding.com 2017 Global Media Format Report © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 11. II. The HTML5 Workflow Formats Source: Encoding.com 2017 Global Media Format Report 72%21%7% © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. Containers: - less and less linked to codecs - WebM losing traction - fMP4/ISOBMFF can now be used everywhere (MSE, CMAF, and even with VP9 and AV1) HTTP Streaming formats:
  • 12. II. The HTML5 Workflow Formats: CMAF Common Media Application Format: - ISOBMFF + CENC + H.264/HEVC/etc. + Dash OR HLS manifest - Apple supports fragmented MP4 in latest HLS version since iOS 10 PROs Play DASH and HLS from single set of source files! - Cut storage costs in half, efficient caching - fMP4 involves less overhead than mpeg-ts - No more need to transmux - Single media engine for HLS and DASH WARNING - Legacy devices - DRMs - Implementation not ready © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 13. II. The HTML5 Workflow Formats: CMAF In September 2017, Microsoft announced CMAF & CBC support for Playready 4.0 © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 14. II. The HTML5 Workflow Formats: A note on low latency © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. CMAF - segment chunking combined with HTTP/2 Push mechanism for sub-2-second latency Websockets - Proprietary protocols (WOWZ) + SRT / UDP L-HLS (Periscope) - Modified HLS format WebRTC - Formats restrictions, scalability Low latency (<3 seconds) is hard and expensive, don’t expect it to be magically solved.
  • 15. II. The HTML5 Workflow DRM Switch from token authorization to HTML5 DRM - Microsoft: PlayReady -> Dash/fMP4 -> CTR, CBC - Chrome, FF: Widevine -> Dash/fMP4 -> CTR, CBC - iOS: FairPlay -> HLS/TS/fMP4 -> CBC Keep in mind Flash fallbacks if necessary. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 16. II. The HTML5 Workflow DRM For complete compatibility lists, including mobile and STB: https://www.buydrm.com/keyos-platform- compatibility-matrix © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 17. II. The HTML5 Workflow Advertising You’ll need to rewrite the client-side Ad selection in HTML5 Good news: Flash ads are dying too! On Google Ad-exchange: - No video ads can be added in Flash since April 2017 - No video ads will be served in Flash starting July 2017 But because of legacy, still may need some Flash fallbacks... © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 18. II. The HTML5 Workflow Server-side ad insertion (SSAI) A new approach on the market: SSAI. PROs - Not blocked by ad-blockers - A smoother experience CONs - caching challenges - not all players are ready, still need player integrations - interactivity and measurement challenges © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 19. II. The HTML5 Workflow Server-side ad insertion (SSAI) © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. How to cache custom manifest & ad segments? SCTE 35 triggers support? Ad tracking?
  • 20. II. The HTML5 Workflow Network Protocols / HTTPS HTTP2 - Improvement on HTTP 1.1 - Adds request multiplexing - Adds server push - Still over TCP QUIC - Transports HTTP2 over UDP instead of TCP - A lot of improvements in RTT, bandwidth speed, packet recovery... - Needs both server-side and client- side implementation © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. TCP BBR - Improves the TCP congestion control algorithm - Improves RTT and available bandwidth by 5 to 50% - requires server-side implementation only! HTTPS - mandatory with HTML5 players! - Changing to HTTPs can be expensive and long, depending on your CDN.
  • 21. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. III. Web Player Architecture
  • 22. III. Player architecture Modern player architecture Before choosing: 1. Understand the specificities of your use case: type of streaming, user habits, target platforms, etc. 1. Know your feature requirements: ads, paywall, UX, channels, playlists, analytics, etc. More flexible architecture with separation between UX and media engine logic! © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 23. Skin Ads Playlists DRM Manager Decoder / Renderer Authentication Content decryption module Media Engine(s) UI Media Engine(s) Playback & DRM Social sharing III. Player architecture © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 24. 1. Skin - the graphic design of your player 2. UI logic - features defining all interaction with the user on top of video playback Lots of plugins available, video.js for example III. Player architecture User Interface © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 25. Sample UI workflow with authentication, channels and pre-roll ad III. Player architecture User Interface © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 26. Easily customizable, with many plugins available for use or inspiration. Add features as plugins/modules to the core UI base. Create a unified user experience across browsers, even if the media engine behind it may vary from device to device. Check out tools such as React native, Haxe III. Player architecture User Interface © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 27. III. Player architecture Media Engine © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 28. III. Player architecture Decoder & DRM manager © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 29. 1. General criteria - device, format and codec dependencies III. What to look for 2. Custom features - DRMs - DVR subtitles - QoS, etc. 3. Perfs & Quality - startup time - ABR - error strategies 4. Street cred, robustness, ease of use © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. Light-touch dev: - Simplicity and stability of the media engine - Assess extensibility & ease of incorporating special features - Media engine customization - Events exposed - Debugging Digging deeper: - Robust yet flexible core design - Tests and testing coverage - community & support
  • 30. PROs Supported by DASH-IF Pushed & maintained by Akamai + tier-1s (BBC) Highest visibility, big community Lots of features and use-cases handled Widely used in production Huge test suite + online test page CONs A little bit of technical debt and complexity Non-trivial API and customization config H264/AAC support only III. What’s out there? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 31. PROs Built by an entire at Google: solid & smart Performances and robustness, quick to improve Simple to get started, good tutorials Only one supporting WebM, VP8, VP9, open audio codecs Good support on github and Google groups CONs Google-centric Today lacks some features for large broadcasters Stricter PR & features policy No ES6 support Fewer OVP and open-source all-in-one integrations III. What’s out there? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 32. PROs Created by Dailymotion, built from scratch by author of Flashls Enormous traction and visibility Clear architecture design, easily extendable Good robustness and debug demo, responsive support Widely used in prod by all-in-one players + tier-1s CONs Some restrictions from the transmuxing & HLS: no DRMs today, only AES128 III. What’s out there? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 33. PROs Seamless Flash fallback with a MediaSource polyfill De facto solution for HLS with VideoJS Large community of users (Brightcove + Videojs) In production with Brightcove with a wide range of customers CONs Videojs plugin: not usable without videojs Lack of public debug tools or pages Learning curve on providers & tech behind it III. What’s out there? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 34. But there are also a lot of off-the-shelf options. III. What’s out there? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 35. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. IV. Mobile & Other Platforms
  • 36. Different environments: - Mobile web (Safari on iOS, Chrome on Android) - Native Apps Different APIs, different access levels… often more restrictive than web! IV. Mobile and other platforms © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 37. IV. Mobile and other platforms Building blocks: iOS Base player: AV Player No low level-APIs Almost no fragmentation HLS Fairplay Browsers: no MSE on Safari, but native HLS support © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 38. IV. Mobile and other platforms Building blocks: Android Base Player: MediaPlayer Low level APIs: - MediaCodec (like MSE) - MediaDRM (like EME) Extended open-source framework: ExoPlayer DASH, HLS, mp4, Smooth... Widewine Browsers: as on Desktop, supports MSE! © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 39. IV. Mobile and other platforms Building blocks: Other devices TVos: like iOS Android TV: like Android + Playready STBs: - Android TV based - Chromium/Opera Middle-ware based - Proprietary frameworks (legacy) SmartTVs: - big fragmentation (Android, Tizen, proprietary…) - Not following standards very well © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 40. IV. Mobile and other platforms What players to choose? Build yourself: - AV Player on iOS - Exoplayer on Android Off-the-shelf: - all built on AV Player & ExoPlayer - unified UX, UI & config - adding some bonus features (simpler DRMs, offline storage, etc) © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 41. IV. Mobile and other platforms HTML5 approach? iOS: - no MSE in Safari, nor in Webview Android: - can use MSE-based players directly with a WebView! PROs Same code and logic on Desktop & Mobile Comparable performance Easier UX & UI: HTML & CSS CONs Less options than with ExoPlayer Need to know JS & HTML5 © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 42. IV. Mobile and other platforms DRMs iOS: - Fairplay, only on the latest versions Android: - Widewine So if you are using DRMs, you will need at least Widewine, Fairplay & Playready to have a good device support. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 43. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. V. The Path to Production!
  • 44. What could go wrong? - - Encoding - - DRMs - - HTTPS V. The Path to Production! © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. Making a smooth transition. - - HTML5 player rollout - - Playback & QoS Metrics - - AB Testing! I did a POC. Now what? - - Moving the UX to HTML5 - - Build the media engine extendable architecture (providers) - - (optional) choose a Fallback alternative
  • 45. Client AB testing methods: 1) Dynamic Config Injection 2) Different builds with a reverse proxy V. The Path to Production! AB testing pipeline: General setup © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 46. How much time does it take? The build vs. buy tradeoff. - Do I have the internal resources to develop, integrate, customize and maintain? - Are the features I need already available in off-the-shelf and/or open-source solutions? Consider time to market. V. The Path to Production! © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 47. © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. Making it work for you
  • 48. 1. Maximize efficiency – stream at the highest bitrate possible 2. Minimize rebuffering – avoid underrun and playback stalls 3. Encourage stability – switch only when necessary (4. Promote fairness across network bottlenecks) © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. Introduction to ABR Design Goals
  • 49. 1. Screen & Player Size Resolution should never be larger than the actual size of the video player 2. Dropped frame rate Downgrade when too many dropped frames per second 3. Startup time Fetch the lowest quality first whenever the buffer is empty VI. ABR Building Blocks Constraints and parameters © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 50. Available bandwidth estimation → maximize bitrate Estimate the available bandwidth based on last segment Available bandwidth = size of chunk / time taken to download Basic bandwidth-based algorithm: Estimate bandwidth from last segment stats Choose first bitrate < estimated bandwidth Schedule download Network conditions Estimation Bitrate selection © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. ABR Building Blocks Bandwidth estimation
  • 51. More complex bandwidth-based algorithm: Quantizing: quantize the smoothed bandwidth to a discrete bitrate Take into account historical values, not just the last segment Choose first bitrate < adjusted bandwidth Schedule download Network conditions Estimation Quantizing Average or adjust range of values obtained Smoothing Apply coefficient to adjust bandwidth estimate Bitrate selection VI. ABR Building Blocks Bandwidth estimation © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 52. Buffer fill size → Minimize rebuffering ratio Buffer ratio = buffering time / (buffering time + playback time) Abandon strategy VI. ABR Building Blocks Buffer control mechanism © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 53. VI. Buffer based algorithms Pitfalls of bandwidth-based estimations: • Not resilient to sudden network fluctuations • Often leads to bitrate oscillations • Biased by HTTP/TCP calls on the same device/network → What if we only used the buffer size? © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 54. VI. Buffer-based algorithms: concept IF Output Rate > Input Rate THEN Switch Down IF Input Rate > K * Output Rate THEN Switch Up IF BufferSize > Buffer Threshold THEN Stay at Max Rate © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 55. VI. Buffer-based algorithms: pros and cons Advantages of buffer-based algorithms: • Fewer estimation issues • Particularly effective when throughput is highly variable BUT: • Too conservative during ramp-up phase • Issues when you have different chunk sizes (VBR) • Issues when you don’t have enough buffer! • → HYBRID Buffer-level based algorithms, with bandwidth measurement used only when needed (at start-up) © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 56. VI. Buffer-based algorithms: pros and cons → HYBRID Buffer-level based algorithms, with bandwidth measurement used only when needed For VOD: On startup, while BufferSize<Bmax, Use bandwidth-based algo to ramp up more aggressively. For Live and short-content VOD: In the case Playlist length << Bmax, Always use the Bandwidth-based approach © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 57. https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/rules/abr/BolaRule.js Uses Utility Theory: Maximize Vn + y Sn Where: Vn is the bitrate utility Sn is the playback Smoothness y is the tradeoff weight parameter © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. EXAMPLE Dash.js BOLA - another approach
  • 58. VI. And it works! Improving hls.js’s ABR logic 1. Start taking historical values. 2. Use EWMA to smooth. Take into account historical values, not just the last segment Choose first bitrate < adjusted bandwidth Schedule download Network condition s Estimation Quantizing Average or adjust range of values obtained Smoothing Apply coefficient to adjust bandwidth estimate Bitrate selection © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost.
  • 59. https://github.com/dailymotion/hls.js/blob/master/src/controller/abr-controller.js EWMA: Shaka Player: © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. And it works! Improving hls.js’s ABR logic
  • 60. native flashls hls.js,s=9,f=3hls.js,s=0,f=0hls.js,s=6,f=1 Rebuffering, percentile rank © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. And it works! Improving hls.js’s ABR logic
  • 61. Streaming type: VOD / Live ? Devices: Desktop? Mobile? STBs? Service: Premium? Ad based? With data, personalize even more: - Per country - Per ISP - Per network connection type - Per viewer habits! © 2017 Streamroot - All rights reservedFlawless quality. Global reach. FIxed cost. VI. Going further Understand your use case
  • 62. GET IN TOUCH! Nikolay Rodionov, Co-Founder and CPO nikolay@streamroot.io Erica Beavers, Head of Partnerships erica@streamroot.io

Editor's Notes

  1. @charlo - Eurosport video player example that we used in blog
  2. Authentication Payment Channels / Playlists Configuration logic / device detection A/B testing logic Ads
  3. Manifest parser & interpreter Downloader Streaming engine Quality metrics estimators ABR controller DRM manager (optional) Transmuxer (optional)
  4. difficult to correlate a unique segment download time to the real device’s available bandwidth, for several reasons: You can have very quick bandwidth changes, especially on a mobile network, as well as unexpected bandwidth drops The requests can be living in parallel with other TCP request (HTTP or any other on the user’s device) This can lead to frequent estimation oscillations!
  5. difficult to correlate a unique segment download time to the real device’s available bandwidth, for several reasons: You can have very quick bandwidth changes, especially on a mobile network, as well as unexpected bandwidth drops The requests can be living in parallel with other TCP request (HTTP or any other on the user’s device) This can lead to frequent estimation oscillations!
  6. difficult to correlate a unique segment download time to the real device’s available bandwidth, for several reasons: You can have very quick bandwidth changes, especially on a mobile network, as well as unexpected bandwidth drops The requests can be living in parallel with other TCP request (HTTP or any other on the user’s device) This can lead to frequent estimation oscillations!
  7. difficult to correlate a unique segment download time to the real device’s available bandwidth, for several reasons: You can have very quick bandwidth changes, especially on a mobile network, as well as unexpected bandwidth drops The requests can be living in parallel with other TCP request (HTTP or any other on the user’s device) This can lead to frequent estimation oscillations!
  8. BOLA stuff ? The approach is quite difficult to explain… based on utility theory, and supposed to be a lot more efficient because there are no need to estimate the bandiwdth. BUT Not fully implemented in dash.js, and there are some optimisation constants that depend a lot on the use-case (target buffer, live, vod…) Today not working great for small segment sizes AND small buffer size ( but good for 1+ min apparently?) Still work in progress, but an interesting approach!
  9. http://ebdash.dm.gg/player/#/visualize/create?type=histogram&indexPattern=%5Bplayer-%5DYYYY-MM-DD&_g=(refreshInterval:(display:Off,pause:!f,section:0,value:0),time:(from:now-7d,mode:quick,to:now))&_a=(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'data.metadata.stream_type:live%20%20AND%20data.duration.played:%3E0')),vis:(aggs:!((id:'1',params:(),schema:metric,type:count),(id:'2',params:(extended_bounds:(),field:data.rebufferingNb,interval:1),schema:group,type:histogram),(id:'3',params:(filters:!((input:(query:(query_string:(analyze_wildcard:!t,query:'data.metadata.stream_tech:native')))),(input:(query:(query_string:(analyze_wildcard:!t,query:'data.delivery.stream.abrEwmaSlow:0%20AND%20data.delivery.comment:QOEABR10')))),(input:(query:(query_string:(analyze_wildcard:!t,query:'data.delivery.stream.abrEwmaSlow:9%20AND%20data.delivery.stream.abrEwmaFast:5')))),(input:(query:(query_string:(analyze_wildcard:!t,query:'data.metadata.stream_tech:flashls'))))),row:!f),schema:split,type:filters)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,mode:percentage,scale:linear,setYExtents:!f,shareYAxis:!t,times:!(),yAxis:()),type:histogram))