SlideShare una empresa de Scribd logo
1 de 25
The next generation of network and browser
APIs that could change video streaming
Streaming Forum London
February 28, 2017
12:00 to 12:25 pm
Streamroot peer-accelerated delivery enables large-scale content
providers to increase the quality of online video while drastically
improving the economics of OTT business.
Who are we?
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.Infinite scale, limitless delivery.
1. Network-side standards & protocols
a. Application layer protocol: HTTP/2
b. Transport layer protocol: QUIC
1. Client-side APIs
a. Fetch API
b. Service workers
Where we’re going and what we’re
going to talk about.
Network protocols1
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Where are we now?
http/1.1
PROs
Ubiquitous, enabled large scale caching infrastructure (CDN)
CONs
Congestion prone
Multiple connections
RTT sensitive
Client pull approach
Verbose headers
RESULT: induces network, server & client overhead, latency for streaming video
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 improvements
Request / response multiplexing
Several asynchronous HTTP requests over a single TCP connection
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 improvements
Request / response multiplexing
Several asynchronous HTTP requests over a single TCP connection
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 improvements
Binary framing:
streams, messages
and frames
Request message
Response message
Stream 1
Stream N
HEADERS frame (stream 1)
:status:
:version:
:server:
:vary:
...
200
HTTP/2.0
nginx/1.0.11
Accept-Encoding
...
DATA frame (stream 1)
...response payload...
HEADERS frame (stream 1)
:method:
:path:
:version:
:scheme:
:user-agent:
GET
/index.html
HTTP/2.0
https
Chrome/26.0.1410.65
TCP Connection
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 improvements
Request prioritization
Flow control
Server push
Header compression
Additional improvements
Eliminate HoL blocking / congestion
Minimize protocol overhead
Lower latency
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/1.1 - Http/2 stacks
http1/1
TLS Session
http1/1
TLS Session
http1/1
TLS Session
http1/1
TLS Session
IP Network
TCP
Connection
TCP
Connection
TCP
Connection
TCP
Connection
http1/1 http1/1 http1/1 http1/1
TCP Connection
TLS Session
HTTP/2
Connection
HTTP/2
Stream
HTTP/2
Stream
HTTP/2
Stream
HTTP/2
Stream
IP Network
Browser Browser
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 in the field
Current browser support
Total: 74% full support; 5% partial
IE
11
Edge
14
Firefox
51
Chrome
56
Safari
10
Opera
42
iOS
Safari
10.2
Opera
Mini
all
Android
browser
53
Chrome for
Android
55
15 52 57 10.1 43
50 55 9.3 4.4.4
Deployed on top websites: Twitter, Facebook, Yahoo, Google...
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Http/2 for streaming video
Possibilities
● Better startup-time
● Lower latency
● Potential quicker ABR switches
Further R&D
● Server push & segment prioritization logic
● Flow control logic
Limitations
● Still subject to TCP constraints...
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Quic
Transport protocol developed by Google to be optimized for HTTP2
Replacement for TCP based on UDP to reduce RTT sensitivity
HTTP/2
HTTP/2
TLS 1.2 QUIC
UDP
TCP
Q
U
I
C
uick
DP
nternet
Connections
IP NetworkIP Network
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Quic
Key features:
● Shorter RTT connection times
● Multiplexing and flow control to avoid head of line blocking
● Forward error correction
● Improved congestion control
● Connection semantics & reliability equivalent to TCP
● Encryption over the entire channel
Q
U
I
C
uick
DP
nternet
Connections
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Quic deployment status
Deployment largely limited to Google stack; default on Chromium
QUIC Working Group at IETF - not yet standard
Support on Google websites, including Youtube
Q
U
I
C
uick
DP
nternet
Connections
Browser-side APIs2
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
XHR
Fetch
● Modern alternative to XMLHttpRequest (XHR)
● Relies heavily on Streams API
What is the fetch API?
Array
Buffer
Source
Buffer
fetch()
Source
Buffer
Readable Stream
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Fetch
Current browser support
Total: 63% full support
IE
11
Edge
14
Firefox
51
Chrome
56
Safari
10
Opera
42
iOS
Safari
10.2
Opera
Mini
all
Android
browser
53
Chrome for
Android
55
15 52 57 10.1 43
50 55 9.3 4.4.4
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Service Workers
● Programmable network proxy in form of a script running between web pages/ network
● Intercepts, handles, modifies, redirects, etc. programmatically changing requests / responses
● Relies heavily on Promises
What is it?
● DVR / offline viewing
● Content prediction / pre-caching
● Transmuxing / transcoding...
Applications to video streaming
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Service Workers
Current browser support
● HTTPS only
● Fetch only, no XHR
● Beware of API support
Limitations
Total: 62% partial support
IE
11
Edge
14
Firefox
51
Chrome
56
Safari
10
Opera
42
iOS
Safari
10.2
Opera
Mini
all
Android
browser
53
Chrome for
Android
55
So what happens when
we use it all together…?
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
HTTP2
QUIC
fetch()
Service workers
Faster startup
Lower latency
Less network / device overhead
Lower CPU use
Higher bandwidth
Quicker seeking
Low-latency use cases
Transmuxing
Transcoding
DVR
Offline viewing
Pre-caching
...
All together...
Thank you!
Infinite scale, limitless delivery.
© 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
Resources / contact us!
Erica Beavers, Head of Partnerships & Marketing
erica@streamroot.io
Resources:
HTTP/2 overview from `High Performance Browser Networking` (Ilya Grigorik) https://hpbn.co/http2/
HTTP/2 github pages maintained by the IETF HTTP working group https://http2.github.io/
QUIC overview (Matttias Genar) https://ma.ttias.be/googles-quic-protocol-moving-web-tcp-udp/
QUIC FAQ for geeks: https://docs.google.com/document/d/1lmL9EF6qKrk7gbazY8bIdvq3Pno2Xj_l_YShP40GLQE/edit
HTTP/2 & QUIC : TEACHING GOOD PROTOCOLS TO DO BAD THINGS (Kate Pearce/ Carl Vincent) : https://www.blackhat.com/docs/us-16/materials/us-
16-Pearce-HTTP2-&-QUIC-Teaching-Good-Protocols-To-Do-Bad-Things.pdf
Using Fetch: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
Service Worker API: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

Más contenido relacionado

La actualidad más candente

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
Justindwah
 
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
Justindwah
 
Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?
Bitmovin Inc
 

La actualidad más candente (20)

The Road to Ultra Low Latency
The Road to Ultra Low LatencyThe Road to Ultra Low Latency
The Road to Ultra Low Latency
 
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
 
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
 
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
 
OTT Video DRM
OTT Video DRMOTT Video DRM
OTT Video DRM
 
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
 
Flash and HTML5 Video
Flash and HTML5 VideoFlash and HTML5 Video
Flash and HTML5 Video
 
NAB Show 2018 Notes
NAB Show 2018 NotesNAB Show 2018 Notes
NAB Show 2018 Notes
 
Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?Live, Low Delay, High Quality – How?
Live, Low Delay, High Quality – How?
 
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
 
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...
 
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
 
DRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and BitmovinDRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and Bitmovin
 
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest EncodingIBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
IBC Content Everywhere Hub Presentation: HTML5 And Fastest Encoding
 
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
 
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
 
Cloud Video Streaming without Plug-Ins
Cloud Video Streaming without Plug-InsCloud Video Streaming without Plug-Ins
Cloud Video Streaming without Plug-Ins
 
Tutorial adaptive-streaming
Tutorial adaptive-streamingTutorial adaptive-streaming
Tutorial adaptive-streaming
 
Edge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayEdge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format Today
 

Destacado

Destacado (15)

Nasty people in organizations and society
Nasty people in organizations and societyNasty people in organizations and society
Nasty people in organizations and society
 
Mobile-First Indexing: Re-thinking Position Zero
Mobile-First Indexing: Re-thinking Position ZeroMobile-First Indexing: Re-thinking Position Zero
Mobile-First Indexing: Re-thinking Position Zero
 
Venture Scanner Fintech Report Q1 2017
Venture Scanner Fintech Report Q1 2017Venture Scanner Fintech Report Q1 2017
Venture Scanner Fintech Report Q1 2017
 
The Search Landscape in 2017
The Search Landscape in 2017The Search Landscape in 2017
The Search Landscape in 2017
 
10 Ways to Improve Your Social Media Strategy Immediately
10 Ways to Improve Your Social Media Strategy Immediately10 Ways to Improve Your Social Media Strategy Immediately
10 Ways to Improve Your Social Media Strategy Immediately
 
Infographic: Medicare Marketing: Direct Mail: Still The #1 Influencer For Tho...
Infographic: Medicare Marketing: Direct Mail: Still The #1 Influencer For Tho...Infographic: Medicare Marketing: Direct Mail: Still The #1 Influencer For Tho...
Infographic: Medicare Marketing: Direct Mail: Still The #1 Influencer For Tho...
 
The Race to 2021: The State of Autonomous Vehicles and a "Who's Who" of Indus...
The Race to 2021: The State of Autonomous Vehicles and a "Who's Who" of Indus...The Race to 2021: The State of Autonomous Vehicles and a "Who's Who" of Indus...
The Race to 2021: The State of Autonomous Vehicles and a "Who's Who" of Indus...
 
Design in Tech Report 2017
Design in Tech Report 2017Design in Tech Report 2017
Design in Tech Report 2017
 
Html5 and-css3-overview
Html5 and-css3-overviewHtml5 and-css3-overview
Html5 and-css3-overview
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Era
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
EasyFaces - Framework de Componentes JSF
EasyFaces - Framework de Componentes JSFEasyFaces - Framework de Componentes JSF
EasyFaces - Framework de Componentes JSF
 
HTML5 Canvas
HTML5 CanvasHTML5 Canvas
HTML5 Canvas
 
Video Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devicesVideo Streaming: from the native Android player to uncoventional devices
Video Streaming: from the native Android player to uncoventional devices
 

Similar a The next generation of protocols and APIs that could change streaming video

Chapter7 multimedia
Chapter7 multimediaChapter7 multimedia
Chapter7 multimedia
Khánh Ghẻ
 
Voice and Video on the Web
Voice and Video on the WebVoice and Video on the Web
Voice and Video on the Web
Kundan Singh
 

Similar a The next generation of protocols and APIs that could change streaming video (20)

HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster Web
 
IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai IBC 2013 Multi-network Forum - Akamai
IBC 2013 Multi-network Forum - Akamai
 
Chapter7 multimedia
Chapter7 multimediaChapter7 multimedia
Chapter7 multimedia
 
Dos presentation by ahlam shakeel
Dos presentation by ahlam shakeelDos presentation by ahlam shakeel
Dos presentation by ahlam shakeel
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTC
 
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptxBridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
Bridging_WebRTC_with_SIP_Alberto_WebRTCventures_Cluecon2023_NoVideo.pptx
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
 
Ateme gustavo marra bc day 2012
Ateme gustavo marra  bc day 2012Ateme gustavo marra  bc day 2012
Ateme gustavo marra bc day 2012
 
IPTV Workshop FDB104
IPTV Workshop FDB104IPTV Workshop FDB104
IPTV Workshop FDB104
 
Voice and Video on the Web
Voice and Video on the WebVoice and Video on the Web
Voice and Video on the Web
 
Hybrid Delivery Approach for OTT Contents
Hybrid Delivery Approach for OTT ContentsHybrid Delivery Approach for OTT Contents
Hybrid Delivery Approach for OTT Contents
 
Different Types of Live Video Streaming Protocols and the Way They Work
Different Types of Live Video Streaming Protocols and the Way They WorkDifferent Types of Live Video Streaming Protocols and the Way They Work
Different Types of Live Video Streaming Protocols and the Way They Work
 
Virtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisitedVirtual STB / Cloud UI Streaming revisited
Virtual STB / Cloud UI Streaming revisited
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
 
Wowza Ultra-Low Latency Streaming
Wowza Ultra-Low Latency StreamingWowza Ultra-Low Latency Streaming
Wowza Ultra-Low Latency Streaming
 
Multimedia networking
Multimedia networkingMultimedia networking
Multimedia networking
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
 
Taking DevOps Closer to the AWS Edge - CTD401 - re:Invent 2017
Taking DevOps Closer to the AWS Edge - CTD401 - re:Invent 2017Taking DevOps Closer to the AWS Edge - CTD401 - re:Invent 2017
Taking DevOps Closer to the AWS Edge - CTD401 - re:Invent 2017
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

The next generation of protocols and APIs that could change streaming video

  • 1. The next generation of network and browser APIs that could change video streaming Streaming Forum London February 28, 2017 12:00 to 12:25 pm
  • 2. Streamroot peer-accelerated delivery enables large-scale content providers to increase the quality of online video while drastically improving the economics of OTT business. Who are we?
  • 3. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.Infinite scale, limitless delivery. 1. Network-side standards & protocols a. Application layer protocol: HTTP/2 b. Transport layer protocol: QUIC 1. Client-side APIs a. Fetch API b. Service workers Where we’re going and what we’re going to talk about.
  • 5. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Where are we now? http/1.1 PROs Ubiquitous, enabled large scale caching infrastructure (CDN) CONs Congestion prone Multiple connections RTT sensitive Client pull approach Verbose headers RESULT: induces network, server & client overhead, latency for streaming video
  • 6. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 improvements Request / response multiplexing Several asynchronous HTTP requests over a single TCP connection
  • 7. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 improvements Request / response multiplexing Several asynchronous HTTP requests over a single TCP connection
  • 8. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 improvements Binary framing: streams, messages and frames Request message Response message Stream 1 Stream N HEADERS frame (stream 1) :status: :version: :server: :vary: ... 200 HTTP/2.0 nginx/1.0.11 Accept-Encoding ... DATA frame (stream 1) ...response payload... HEADERS frame (stream 1) :method: :path: :version: :scheme: :user-agent: GET /index.html HTTP/2.0 https Chrome/26.0.1410.65 TCP Connection
  • 9. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 improvements Request prioritization Flow control Server push Header compression Additional improvements Eliminate HoL blocking / congestion Minimize protocol overhead Lower latency
  • 10. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/1.1 - Http/2 stacks http1/1 TLS Session http1/1 TLS Session http1/1 TLS Session http1/1 TLS Session IP Network TCP Connection TCP Connection TCP Connection TCP Connection http1/1 http1/1 http1/1 http1/1 TCP Connection TLS Session HTTP/2 Connection HTTP/2 Stream HTTP/2 Stream HTTP/2 Stream HTTP/2 Stream IP Network Browser Browser
  • 11. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 in the field Current browser support Total: 74% full support; 5% partial IE 11 Edge 14 Firefox 51 Chrome 56 Safari 10 Opera 42 iOS Safari 10.2 Opera Mini all Android browser 53 Chrome for Android 55 15 52 57 10.1 43 50 55 9.3 4.4.4 Deployed on top websites: Twitter, Facebook, Yahoo, Google...
  • 12. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Http/2 for streaming video Possibilities ● Better startup-time ● Lower latency ● Potential quicker ABR switches Further R&D ● Server push & segment prioritization logic ● Flow control logic Limitations ● Still subject to TCP constraints...
  • 13. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Quic Transport protocol developed by Google to be optimized for HTTP2 Replacement for TCP based on UDP to reduce RTT sensitivity HTTP/2 HTTP/2 TLS 1.2 QUIC UDP TCP Q U I C uick DP nternet Connections IP NetworkIP Network
  • 14. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Quic Key features: ● Shorter RTT connection times ● Multiplexing and flow control to avoid head of line blocking ● Forward error correction ● Improved congestion control ● Connection semantics & reliability equivalent to TCP ● Encryption over the entire channel Q U I C uick DP nternet Connections
  • 15. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Quic deployment status Deployment largely limited to Google stack; default on Chromium QUIC Working Group at IETF - not yet standard Support on Google websites, including Youtube Q U I C uick DP nternet Connections
  • 17. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. XHR Fetch ● Modern alternative to XMLHttpRequest (XHR) ● Relies heavily on Streams API What is the fetch API? Array Buffer Source Buffer fetch() Source Buffer Readable Stream
  • 18. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Fetch Current browser support Total: 63% full support IE 11 Edge 14 Firefox 51 Chrome 56 Safari 10 Opera 42 iOS Safari 10.2 Opera Mini all Android browser 53 Chrome for Android 55 15 52 57 10.1 43 50 55 9.3 4.4.4
  • 19. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Service Workers ● Programmable network proxy in form of a script running between web pages/ network ● Intercepts, handles, modifies, redirects, etc. programmatically changing requests / responses ● Relies heavily on Promises What is it? ● DVR / offline viewing ● Content prediction / pre-caching ● Transmuxing / transcoding... Applications to video streaming
  • 20. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Service Workers Current browser support ● HTTPS only ● Fetch only, no XHR ● Beware of API support Limitations Total: 62% partial support IE 11 Edge 14 Firefox 51 Chrome 56 Safari 10 Opera 42 iOS Safari 10.2 Opera Mini all Android browser 53 Chrome for Android 55
  • 21. So what happens when we use it all together…?
  • 22. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery.
  • 23. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. HTTP2 QUIC fetch() Service workers Faster startup Lower latency Less network / device overhead Lower CPU use Higher bandwidth Quicker seeking Low-latency use cases Transmuxing Transcoding DVR Offline viewing Pre-caching ... All together...
  • 24. Thank you! Infinite scale, limitless delivery.
  • 25. © 2017 Streamroot - All rights reservedInfinite scale, limitless delivery. Resources / contact us! Erica Beavers, Head of Partnerships & Marketing erica@streamroot.io Resources: HTTP/2 overview from `High Performance Browser Networking` (Ilya Grigorik) https://hpbn.co/http2/ HTTP/2 github pages maintained by the IETF HTTP working group https://http2.github.io/ QUIC overview (Matttias Genar) https://ma.ttias.be/googles-quic-protocol-moving-web-tcp-udp/ QUIC FAQ for geeks: https://docs.google.com/document/d/1lmL9EF6qKrk7gbazY8bIdvq3Pno2Xj_l_YShP40GLQE/edit HTTP/2 & QUIC : TEACHING GOOD PROTOCOLS TO DO BAD THINGS (Kate Pearce/ Carl Vincent) : https://www.blackhat.com/docs/us-16/materials/us- 16-Pearce-HTTP2-&-QUIC-Teaching-Good-Protocols-To-Do-Bad-Things.pdf Using Fetch: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch Service Worker API: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API