ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

20
1 www.streamroot.io Pierre-Louis Théron Nikolay Rodionov Axel Delmas

Transcript of ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Page 1: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

1

www.streamroot.io

Pierre-Louis Théron Nikolay Rodionov Axel Delmas

Page 2: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Les limites du streaming

2

8 Millions de vues simultanées

Enorme pic de trafic géré par Google et Akamai

Problèmes de qualité de service

Page 3: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Il est temps de re-décentraliser le web

3

Arrivée de la 4K

2015 2013 2014

50%

75%

Croissance du trafic mondial Consommation mobile

Les avantages du P2P

• Désengorger les goulots d’étranglement du réseau

• Gérer les pics de trafic : des millions d’utilisateurs

• Améliorer l’expérience utilisateur

Page 4: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

60

WebRTC

4

Nouveau Protocole rédigé par l’IETF pour faciliter les communications en temps réel sur le Web :

• Connections Peer-To-Peer • Très Faibles Latences • Vidéo, Audio et Data !

Open-Source C++ lib : • iOS, Android • Smart TVs • Set Top Boxes…

In-Browser JS API standardisée par le =

NO PLUGIN !

60% des navigateurs

1 000 000 000 Clients compatibles

Page 5: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

WebRTC Datachannel API

5

WebRTC DataChannel Canal de transfert de données brutes directement entre peers

• API JavaScript simple (similaire à WebSockets) • Latences très faibles • Communications cryptées par défaut (DTLS) • Peut fonctionner en mode « TCP » ou « UDP »

MAIS : ne gère pas la mise en relation des Peers (besoin d’un serveur de Signalling)

Page 6: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

WebRTC Datachannel API : Applications

• Chats/Messagerie privée

• Jeux Multi-joueurs à très faible latence (FPS)

• Partage de fichiers P2P

• Computing distribué

• CDN pour fichiers statiques

• BitTorrent dans les navigateurs

• LIVE et VOD Peer Assisted Streaming (Video et Audio)

6

Les possibilités d’applications sont infinies !

BananaBread

ShareFest.me

PeerServer

PeerCDN

WebTorrent

Page 7: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

StreamRoot

7

www.streamroot.io

Page 8: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

La solution StreamRoot

8

Solution de diffusion P2P de vidéo Live & VOD

Intégration facile: Script JavaScript

Analytics temps réel

Page 9: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

9

Les avantages de StreamRoot

Réduction des coûts de bande passante jusqu’à 90%

Gestion efficace des pics de consommation

Amélioration de l’expérience utilisateur

Page 10: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

1) Initialisation

10

Serveur / CDN

Initialisation depuis le CDN

Page 11: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

) Connexion au tracker

11

Tracker

Connexion avec le tracker

Serveur / CDN

Initialisation depuis le CDN

Page 12: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

) Signalement & Connexion au peers

12

Tracker

Peer avec le meilleur matching

Essaim de peers Serveur / CDN

Initialisation depuis le CDN

Page 13: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

) Peer-to-Peer streaming

13

Serveur / CDN

Tracker

P2P download

Essaim de peers

Page 14: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

StreamRoot Player JavaScript lib

Gestion de l’Adaptive Streaming :

MPEG-DASH

Auto-Switch selon les capacités utilisateur

Intelligence du Playback :

Buffering Intelligent (P2P First, CDN si P2P trop faible)

Fallbacks HTML5 et Flash pour navigateurs non supportés

Expérience transparente pour l’utilisateur

Optimisé pour la haute définition : HD / 4K

14

Page 15: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

StreamRoot Tracker

15

Fonction Première : Serveur de Mise en Relation • Listage et gestion des peers

• Mise en relation intelligente : (GeoIP, ISP, Bande Passante disponible, Position dans la lecture…)

• Suivi dynamique des performances de chaque Peer

Les plus : • Analytics et Canal de Communication avec les Peers en Temps Réel

• Service Centralisé : Valide les Peers, et permet de vérifier l’intégrité des Vidéos

• Non Bloquant : Si serveur HS, la vidéo tourne toujours

• Scalable avec le nombre de Peers connectés

Page 16: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Les possibilités futures

16

Box TV

Mobile ?

• DRM / Sécurité

• Autres devices

Page 17: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Démonstration de StreamRoot

17

demo.streamroot.io

Page 18: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

18

1 vidéo de 1h30

à 1000 Kbps

400 utilisateurs simultanés Utilisateurs dispersés sur plusieurs milliers

de kms.

45%

de réduction de bande passante

Autres Résultats :

Problèmes de Playback Petite partie de « super-seeders » ( Ratio Up/Down > 3 ) Mises en relation non optimales car durée du film très longue Latences de transferts très faibles entre peers (<1s) Très bonne connexion entre Paris et Moscou !

Total P2P

Retour d’expérience : Site de VOD

Page 19: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Live Streaming Demo

19

LIVE STREAMING DEMO : 1ere Mondiale !

Workflow :

Flux RTMP Live Transcodage en Flux

MPEG-DASH Lecteur HTML5 Dans Chrome

Page 20: ConférenSquad #2 : StreamRoot - HTML5 & WebRTC : de nouveaux horizons pour le streaming P2P

Demo : demo.streamroot.io

20

@StreamRoot