Auteur Sujet: TF1 popularise le peer-to-peer directement dans un navigateur web  (Lu 37529 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web

Vous êtes adapte des replays, live ou autres vidéos du groupe TF1  ?

Sans le savoir vous faites du peer-to-peer !


Le site MyTF1 le cache bien (je n'ai rien vu dans les Conditions Générales d'Utilisation des Services MYTF1 - MYTF1VOD - TFOUMAX, mais il y a bien du peer-to-peer sur ces sites.

TF1 utilise la technologie de la société française Streamroot ( https://streamroot.io/ )

Ils utilisent un flux UDP pour envoyer les paquets entre les clients en peer-to-peer, directement depuis le navigateur web, sans besoin d'une application ou d'un plug-in à installer.

Les flux sont chiffrés, ce n'est pas de https, car on est en UDP, mais c'est du DTLSv1.2 (Datagram Transport Layer Security).

Un brevet a été déposé par Streamroot en avril 2015 par Nikolay Rodionov (Co-Founder & COO) et Axel Delmas :

PROCEDE DE LECTURE EN CONTINU SUR UN EQUIPEMENT CLIENT D'UN CONTENU DIFFUSE AU SEIN D'UN RESEAU PAIR A PAIR

La présente invention concerne un procédé de lecture en continu sur un équipement client (11) d'un contenu diffusé au sein d'un réseau pair à pair (10) d'équipements clients (11, 12), ledit contenu étant constitué d'une séquence de segments, l'équipement client (11) comprenant une première mémoire tampon (M1) stockant de façon temporaire au moins un segment brut dudit contenu, chaque segment brut étant dans un format adapté pour le transfert au sein du réseau pair-à-pair (10), le procédé étant caractérisé en ce qu'il comprend la mise en œuvre par des moyens de traitement de données (110) de l'équipement (11) d'étapes de : (a) Conversion dans un format adapté pour la lecture sur l'équipement (11) d'au moins un segment brut de la première mémoire tampon (M1), et stockage dudit segment converti dans une deuxième mémoire tampon (M2) de l'équipement (11), de sorte que la deuxième mémoire tampon (M2) stocke un nombre compris entre un nombre minimal et un nombre maximal de segments convertis disposés en amont d'un point de lecture dudit contenu ; (b) Lecture depuis la deuxième mémoire tampon (M2) d'au moins un fragment du segment converti disposé au niveau dudit point de lecture ; (c) Suppression de ladite deuxième mémoire tampon (M2) d'au moins un segment converti disposé en aval dudit point de lecture, de sorte que la deuxième mémoire tampon (M2) stocke un nombre inférieur ou égal à un nombre maximal de segments convertis disposés en aval d'un point de lecture dudit contenu, le segment brut associé étant conservé temporairement dans la première mémoire tampon (M1).




Explication de la diffusion vidéo peer-to-peer par Streamroot : (traduction à gauche et l'original en anglais à droite - cliquez sur les miniatures ci-dessous - les documents sont au format PDF)
 

vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #1 le: 06 août 2019 à 22:00:43 »
Cas pratique : Visualisation du flux live de TF1

Sur cette capture, réalisée avec une connexion câble 100 Mb/s down et 5 Mb/s d'upload, j'ai reçu le flux en direct de TF1, mais ma connexions est utilisée en upload pour envoyer le flux à d'autres clients.

A noter l'absence de publicité pour regarder le live de TF1.

En vert le trafic reçu en TCP, sur une connexion https
En rouge le trafic émis en UDP, en peer-to-peer




La capture wireshark (34 Mo) si vous souhaitez regarder: (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
201908_tf1_live_sans_pub.pcapng.gz


Il est intéressant de regarder toutes les connexions nécessaires.

J'ai listées ci-dessous les différente connexions. L’utilisation de Streamroot ne fait aucun doute: on se connecte en https à cdn.streamroot.io


tcp.stream eq 0 : t=0,0 prod-player.tf1.fr             24 ko
tcp.stream eq 1 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 2 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 3 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 4 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 5 : t=0,1 cdn.streamroot.io               5 ko
tcp.stream eq 6 : t=0,1 player.tf1.fr                   8 ko
tcp.stream eq 7 : t=0,1 nqs.nice264.com                 6 ko
tcp.stream eq 8 : t=0,1 static.adsafeprotected.com      6 ko
tcp.stream eq 9 : t=0,1 das-q1-ssl.tf1.fr               4 ko
tcp.stream eq 10: t=0,1 www.googletagmanager.com       31 ko
tcp.stream eq 11: t=0,5 player.tf1.fr                  11 ko
tcp.stream eq 12: t=0,7 www.google-analytics.com       25 ko
tcp.stream eq 13: t=0,8 7b9de.v.fwmrm.net              16 ko
tcp.stream eq 14: t=0,8 strmt.tf1.fr                   14 ko
tcp.stream eq 15: t=0,8 strmt.tf1.fr                    4 ko
tcp.stream eq 16: t=0,8 compte.tf1.fr                   7 ko
tcp.stream eq 17: t=0,8 nqs.nice264.com                 7 ko
tcp.stream eq 18: t=0,8 tf1-das-live-ssl.tf1.fr        18 ko
tcp.stream eq 19: t=0,9 connect.facebook.net            7 ko
tcp.stream eq 20: t=0,9 tf1-das-live-ssl.tf1.fr         3 ko
tcp.stream eq 21: t=0,9 tf1-das-live-ssl.tf1.fr        28 Mo
tcp.stream eq 22: t=0,9 tf1-das-live-ssl.tf1.fr         4 ko
tcp.stream eq 23: t=0,9 connect.facebook.net            4 ko
tcp.stream eq 24: t=1,0 static.adsafeprotected.com     13 ko
tcp.stream eq 25: t=1,3 staticxx.facebook.com           4 ko
tcp.stream eq 26: t=1,3 www.facebook.com                6 ko
tcp.stream eq 27: t=1,5 pythagore.demdex.net           24 ko
tcp.stream eq 28: t=1,6 w.usabilla.com                 18 ko
tcp.stream eq 29: t=1,7 logs1169.xiti.com               5 ko
tcp.stream eq 30: t=1,7 prof.estat.com                  6 ko
tcp.stream eq 31: t=1,7 ads.stickyadstv.com             5 ko
tcp.stream eq 32: t=1,7 ads.stickyadstv.com             6 ko
tcp.stream eq 33: t=1,9 143.204.222.221                 0 ko
tcp.stream eq 34: t=2,1 auth.estat.com                  7 ko
tcp.stream eq 35: t=2,8 infinity-c9.youboranqs01.com    9 ko
tcp.stream eq 36: t=2,8 infinity-c9.youboranqs01.com    7 ko
tcp.stream eq 37: t=2,9 infinity-c9.youboranqs01.com    7 ko
tcp.stream eq 38: t=2,9 dpm.demdex.net                  6 ko
tcp.stream eq 39: t=2,9 sentry.io                      24 ko
tcp.stream eq 40: t=3,2 logs1169.xiti.com               5 ko
tcp.stream eq 41: t=3,4 mesure.streaming.estat.com     11 ko
tcp.stream eq 42: t=11  infinity-c9.youboranqs01.com   13 ko
tcp.stream eq 43: t=29  tf1-das-live-ssl.tf1.fr       198 ko
tcp.stream eq 44: t=31  incoming.telemetry.mozilla.org 12 ko
tcp.stream eq 45: t=31  incoming.telemetry.mozilla.org  5 ko
tcp.stream eq 46: t=31  strmt.tf1.fr                   18 ko
tcp.stream eq 47: t=62  logs1169.xiti.com               8 ko


Le flux source est envoyé par TF1 depuis tf1-das-live-ssl.tf1.fr , sur la connexion 21, qui fait 28 Mo alors que les autres font quelques ko :

vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #2 le: 06 août 2019 à 22:03:55 »
Voici un premier exemple concret: je partage mon flux avec ce client de la DSP Rennes Metropole Telecom

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #3 le: 06 août 2019 à 22:05:35 »
Partage du flux avec un client Orange ADSL situé en Île-de-France :

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #4 le: 06 août 2019 à 22:07:07 »
Partage du flux avec un client SFR ADSL :

On remarque que plusieurs paquets sont dédoublés, alors que l’intervalle de temps est très court. Je me demande bien pourquoi.

Exemple: 50ms entre les deux "Client Hello", ce temps sans réponse serait suffisant pour déclencher un renvoi ?

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #5 le: 06 août 2019 à 22:15:57 »
Cas pratique : Visualisation d'un replay TF1

Sur cette capture, toujours avec une connexion SFR câble 100 Mb/s down et 5 Mb/s d'upload, j'ai reçu le flux au tout début de TF1 et ensuite ce sont des internautes du monde entier (USA, Japon, Espagne,...) qui prennent le relais. Par contre je ne partage rien.

A noter la présence d'une publicité de 30 secondes qui n'utilise pas le peer-to-peer.

En vert le trafic reçu en TCP, sur une connexion https
En rouge le trafic émis en UDP, en peer-to-peer




La capture wireshark (61 Mo) si vous souhaitez regarder: (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
201908_tf1_replay_avec_pub.pcapng.gz


Il est intéressant de regarder toutes les connexions nécessaires : 84 connexions rien que pour la vidéo (j'ai exclut les connexions pour le site web de TF1 que l'on lance avant la vidéo)

Ici aussi, on se connecte en https à cdn.streamroot.io


tcp.stream eq 0 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 1 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 2 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 3 : t=0,0 prod-player.tf1.fr             24 ko
tcp.stream eq 4 : t=0,0 prod-player.tf1.fr              5 ko
tcp.stream eq 5 : t=0,0 api.ipify.org                   7 ko
tcp.stream eq 6 : t=0,1 nqs.nice264.com                 6 ko
tcp.stream eq 7 : t=0,1 static.adsafeprotected.com      6 ko
tcp.stream eq 8 : t=0,1 player.tf1.fr                   5 ko
tcp.stream eq 9 : t=0,2 cdn.streamroot.io               5 ko
tcp.stream eq 10: t=0,2 das-q1-ssl.tf1.fr               4 ko
tcp.stream eq 11: t=0,2 www.googletagmanager.com       32 ko
tcp.stream eq 12: t=0,5 player.tf1.fr                   9 ko
tcp.stream eq 13: t=0,6 ws.facil-iti.com                6 ko
tcp.stream eq 14: t=0,9 das-q1-ssl.tf1.fr              28 Mo
tcp.stream eq 15: t=0,9 static-player.tf1.fr           63 ko
tcp.stream eq 16: t=0,9 7b9de.v.fwmrm.net              30 ko
tcp.stream eq 17: t=0,9 strmt.tf1.fr                   15 ko
tcp.stream eq 18: t=0,9 strmt.tf1.fr                    4 ko
tcp.stream eq 19: t=0,9 www.google-analytics.com       26 ko
tcp.stream eq 20: t=0,9 nqs.nice264.com                 7 ko
tcp.stream eq 21: t=1,0 compte.tf1.fr                   7 ko
tcp.stream eq 22: t=1,0 das-q1-ssl.tf1.fr             977 ko
tcp.stream eq 23: t=1,0 das-q1-ssl.tf1.fr               3 ko
tcp.stream eq 24: t=1,0 das-q1-ssl.tf1.fr               1 ko
tcp.stream eq 25: t=1,2 179.60.192.7                    0 ko
tcp.stream eq 26: t=1,2 connect.facebook.net            7 ko
tcp.stream eq 27: t=1,3 static.adsafeprotected.com     14 ko
tcp.stream eq 28: t=1,6 www.facebook.com                6 ko
tcp.stream eq 29: t=2,3 cdn.tagcommander.com            5 ko
tcp.stream eq 30: t=2,4 pythagore.demdex.net           25 ko
tcp.stream eq 31: t=2,5 logs1169.xiti.com               6 ko
tcp.stream eq 32: t=2,5 52.47.44.247                    0 ko
tcp.stream eq 33: t=2,8 w.usabilla.com                 18 ko
tcp.stream eq 34: t=2,8 ads.stickyadstv.com             5 ko
tcp.stream eq 35: t=2,8 ads.stickyadstv.com             8 ko
tcp.stream eq 36: t=3,0 143.204.222.221                 0 ko
tcp.stream eq 37: t=3,5 7b9de.v.fwmrm.net               1 ko
tcp.stream eq 38: t=3,5 infinity-c9.youboranqs01.com    9 ko
tcp.stream eq 39: t=3,5 infinity-c9.youboranqs01.com    7 ko
tcp.stream eq 40: t=3,5 infinity-c9.youboranqs01.com    7 ko
tcp.stream eq 41: t=3,5 infinity-c9.youboranqs01.com    8 ko
tcp.stream eq 42: t=3,5 infinity-c9.youboranqs01.com    8 ko
tcp.stream eq 43: t=3,6 vast.adsafeprotected.com       17 ko
tcp.stream eq 44: t=3,8 pixel.adsafeprotected.com     214 ko
tcp.stream eq 45: t=3,8 vpaid2.adsafeprotected.com     27 ko
tcp.stream eq 46: t=4,1 dt.adsafeprotected.com         18 ko
tcp.stream eq 47: t=4,1 vastpixel2.adsafeprotected.com 14 ko
tcp.stream eq 48: t=4,1 imasdk.googleapis.com         112 ko
tcp.stream eq 49: t=4,1 dt.adsafeprotected.com         16 ko
tcp.stream eq 50: t=4,2 dt.adsafeprotected.com         21 ko
tcp.stream eq 51: t=4,3 pagead2.googlesyndication.com  14 ko
tcp.stream eq 52: t=4,3 pagead2.googlesyndication.com   4 ko
tcp.stream eq 53: t=4,4 s0.2mdn.net                    16 ko
tcp.stream eq 54: t=4,4 adservice.google.com            6 ko
tcp.stream eq 55: t=4,6 vastpixel2.adsafeprotected.com  9 ko
tcp.stream eq 56: t=4,7 csi.gstatic.com                 6 ko
tcp.stream eq 57: t=4,7 gcdn.2mdn.net                   6 ko
tcp.stream eq 58: t=4,8 vendorlist.consensu.org         7 ko
tcp.stream eq 59: t=4,8 r1---sn-25ge7nlz.c.2mdn.net     2 ko
tcp.stream eq 60: t=5,0 ade.googlesyndication.com      18 ko
tcp.stream eq 61: t=5,0 ade.googlesyndication.com       3 ko
tcp.stream eq 62: t=5,1 logs1169.xiti.com               5 ko
tcp.stream eq 63: t=5,1 216.58.204.129                  0 ko
tcp.stream eq 64: t=5,1 ads.stickyadstv.com             6 ko
tcp.stream eq 65: t=5,1 dpm.demdex.net                  8 ko
tcp.stream eq 66: t=5,1 vastpixel2.adsafeprotected.com  6 ko
tcp.stream eq 67: t=5,1 googleads4.g.doubleclick.net    3 ko
tcp.stream eq 68: t=5,1 sentry.io                      59 ko
tcp.stream eq 69: t=5,3 1f2e7.v.fwmrm.net               6 ko
tcp.stream eq 70: t=5,3 cm.g.doubleclick.net            3 ko
tcp.stream eq 71: t=12  incoming.telemetry.mozilla.org 11 ko
tcp.stream eq 72: t=12  incoming.telemetry.mozilla.org  5 ko
tcp.stream eq 73: t=17  dt.adsafeprotected.com          6 ko
tcp.stream eq 74: t=17  infinity-c9.youboranqs01.com    2 ko
tcp.stream eq 75: t=17  7b9de.v.fwmrm.net               1 ko
tcp.stream eq 76: t=17  infinity-c9.youboranqs01.com    2 ko
tcp.stream eq 77: t=17  logs1169.xiti.com               5 ko
tcp.stream eq 78: t=17  auth.estat.com                  7 ko
tcp.stream eq 79: t=17  logs1169.xiti.com               5 ko
tcp.stream eq 80: t=17  mesure.streaming.estat.com     12 ko
tcp.stream eq 81: t=31  strmt.tf1.fr                   15 ko
tcp.stream eq 82: t=33  infinity-c9.youboranqs01.com    2 ko
tcp.stream eq 83: t=63  infinity-c9.youboranqs01.com    2 ko
tcp.stream eq 84: t=77  logs1169.xiti.com               5 ko


Le flux source est envoyé par TF1 depuis das-q1-ssl.tf1.fr (et non comme avant tf1-das-live-ssl.tf1.fr), sur la connexion 14, qui fait 28 Mo alors que les autres font quelques ko :

vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #6 le: 06 août 2019 à 22:19:09 »
Flux Vod envoyé par un client Espagnol (connexion Orange dans la région de Barcelone) :

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #7 le: 06 août 2019 à 22:20:48 »
Flux Vod envoyé par un client Américain (connexion Cox Communications dans la région d'Atlanta) :

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #8 le: 06 août 2019 à 22:21:49 »
Flux Vod envoyé par un client Bouygues Telecom (peut-être une connexion 4G vu la plage IP) :

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #9 le: 06 août 2019 à 22:22:50 »
Flux Vod envoyé par un client Japonais, client de NTT :

Initialisation de la connexion :


Transfert de données : (192.168.0.20, c'est l'IP de mon PC sur mon réseau local)


vivien

  • Administrateur
  • *
  • Messages: 47 225
    • Twitter LaFibre.info
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #10 le: 06 août 2019 à 22:24:22 »
Voila,

Rien de grave, mais je ne comprends pas que TF1 n'informe pas plus le consommateur, surtout quand il regarde la TV en 4G et que cela va lui coûter deux fois pus de données, si il est choisit pour partager les flux qu'il reçois.

Je trouve aussi étonnant que les connexions pochent ne soient pas privilégiées et que sur les 5 clients qui m'envoient du flux pour regarder ma VoD, j'ai 4 pays différents : USA, Japon, Espagne, France 4G, France ADSL)

Nico

  • Modérateur
  • *
  • Messages: 44 486
  • FTTH 1000/500 sur Paris 15ème (75)
    • @_GaLaK_
TF1 popularise le peer-to-peer directement dans un navigateur web
« Réponse #11 le: 06 août 2019 à 22:29:27 »
Tu as vérifié que c'était le cas en 4G ? :)