HTML5 & WebRTC: New Horizons for P2P streaming
-
Upload
nicolas-weil -
Category
Technology
-
view
8.268 -
download
5
description
Transcript of HTML5 & WebRTC: New Horizons for P2P streaming
www.streamroot.io
Pierre-Louis Théron Nikolay Rodionov Axel Delmas
Video streaming limits
2
8 Millions simultaneous viewers
Huge traffic peak managed by Google and Akamai
QoS issues
It is time to re-decentralize the Web
3
4K is coming
2015 2013 2014
50%
75%
The global traffic is growing quickly More Mobile users
P2P advantages
• Relieve the network’s bottlenecks
• Manage traffic peaks with millions of users
• Improve the user experience
60
WebRTC
4
New IETF protocol that facilitates web real time communications :
• Peer-To-Peer Connections • Very low Latencies • Video, Audio and Data !
Open-Source C++ lib : • iOS, Android • Smart TVs • Set Top Boxes…
In-Browser JS API standard =
NO PLUGIN !
60% Of browsers
1 000 000 000 Compatible clients
WebRTC Datachannel API
5
WebRTC DataChannel Enables raw data transmissions directly between peers
• Simple JavaScript API (similar to WebSockets) • Low latencies • Communications encrypted by default (DTLS) • Can work in « TCP » or « UDP » mode
BUT : doesn’t manage the “peers signaling” (you need a signaling server)
WebRTC Datachannel API : Applications
• Chat / private Messaging service
• Multi-player video game with low latencies (FPS)
• P2P file sharing
• Distributed Computing
• CDN for static data
• BitTorrent in the browser
• LIVE & VOD Peer Assisted Streaming (Video et Audio)
6
An infinite number of applications !
BananaBread
ShareFest.me
PeerServer
PeerCDN
WebTorrent
StreamRoot
7
www.streamroot.io
StreamRoot Solution
8
P2P video delivery solution for VOD & Live Streaming
Easy Integration : JavaScript Snippet
Real time analytics
9
StreamRoot advantages
Bandwidth costs reduction by up to 90%
Efficient handle of traffic peaks
A better user experience
How does it work : 1) Initialization
10
Server
/ CDN
CDN initiates
the streaming
The user initiates the streaming from the CDN
How does it work : 2) Connection to the tracker
11
Tracker
Connection to the
tracker
Server
/ CDN
He automatically connects to the StreamRoot tracker
How does it work : 3) Signalization & Connection
12
Tracker
Peer matching
Peer pool Server
/ CDN
The tracker establishes the connection with
the most useful peers
How does it work : 4) Peer-to-Peer streaming
13
Server
/ CDN
Tracker
P2P download
The user downloads most of the stream
from the other peers
Peer pool
StreamRoot Player JavaScript lib
Adaptive Streaming :
MPEG-DASH
Bitrate auto-switch
Playback intelligence :
Smart Buffering (P2P First, CDN if P2P is too weak)
HTML5 Fallbacks and Flash non compatible browsers
Transparent user experience
Optimized for high definition: HD and 4K
14
StreamRoot Tracker
15
Primary function : Signaling server • lists and manages Peers
• Smart signaling : (GeoIP, ISP, available bandwidth…)
• Dynamically analyses each peer performances
More features:
• Analytics and Push Server
• Centralized service : peers and content integrity validation
• Not blocking : if the server is down, the user can still watch the video
• Scalable
17
1 video 1h30
1000 Kbps bitrate
400 simultaneous viewers Very scattered population
45%
Of bandwidth reduction
Other results :
Some « super-seeders » ( Ratio Up/Down > 3 ) The peer connection is not optimized for long videos Very low transfer latencies between peers (<1s)
Total P2P
Feedbacks : VOD deployment
Live Streaming Demo
18
LIVE STREAMING DEMO : World premiere
Workflow :
RTMP Live MPEG-DASH Transcoding HTML5 player
in Chrome