Qu'est-ce que le streaming ? | Comment fonctionne le streaming vidéo

Le streaming est un méthode permettant de visionner des vidéos ou d'écouter de la musique sans avoir à télécharger de fichiers. Les performances du streaming peuvent être améliorées, et le temps de mise en mémoire tampon réduit, si le propriétaire des fichiers utilise un CDN.

Share facebook icon linkedin icon twitter icon email icon

Streaming

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Découvrir comment fonctionne le streaming
  • Découvrir les causes du ralentissement de du streaming
  • Comprendre pourquoi le streaming utilise les protocoles UDP/IP plutôt que TCP/IP
  • Expliquer comment accélérer le streaming

Qu'est-ce que le streaming ?

Streaming de médias

Les premiers sites web étaient de simples pages de texte parfois agrémentées d'une ou deux images. Aujourd'hui, cependant, toute personne disposant d'une connexion Internet suffisamment rapide peut lire en streaming des films en haute définition ou passer un appel vidéo sur Internet. Cela est rendu possible grâce à une technologie appelée « streaming ».

Le streaming est la transmission continue de fichiers audio ou vidéo d'un serveur à un client. En termes plus simples, le streaming est ce qui se produit lorsque les consommateurs regardent la télévision ou écoutent des podcasts sur des appareils connectés à Internet. Le streaming consiste à stocker à distance le fichier multimédia lu sur l'appareil du client et à le transmettre quelques secondes à la fois via Internet.

Quelle est la différence entre le streaming et le téléchargement ?

Le streaming fonctionne en temps réel, et il est plus efficace que le téléchargement de fichiers multimédias. Dans le cas d'un téléchargement de fichier vidéo, une copie du fichier entier est enregistrée sur le disque dur de l'appareil, et la vidéo ne peut pas être lue tant que le téléchargement du fichier entier n'est pas terminé. En revanche, si elle est diffusée en streaming, le navigateur lit la vidéo sans la copier ni l'enregistrer. La vidéo se charge petit à petit au lieu que le fichier complet soit chargé en une seule fois, et les informations que le navigateur charge ne sont pas enregistrées localement.

Pensez par exemple à la différence entre un lac et un ruisseau : les deux contiennent de l'eau, et un ruisseau peut contenir autant d'eau qu'un lac, mais dans le cas d'un ruisseau, l'eau ne se trouve pas au même endroit en même temps. Un fichier vidéo téléchargé ressemble davantage à un lac dans la mesure où il occupe beaucoup d'espace sur le disque dur (et il faut beaucoup de temps pour déplacer un lac). Le streaming vidéo ressemble davantage à un ruisseau ou à une rivière, puisque les données de la vidéo sont transmises en continu et rapidement au navigateur de l'utilisateur.

Comment fonctionne le streaming ?

Tout comme les autres données qui sont envoyées sur Internet, les données audio et vidéo sont divisées en paquets de données. Chaque paquet contient une petite partie du fichier, et un lecteur audio ou vidéo intégré au navigateur de l'appareil client récupère le flux de paquets de données et l'interprète comme un fichier vidéo ou audio.

Contrairement à l'envoi de texte et d'images fixes, l'envoi de vidéos sur Internet nécessite un système de transfert de données plus rapide que le TCP/IP, qui privilégie la fidélité plutôt que la vitesse.

Comment le protocole UDP (User Datagram Protocol) améliore-t-il le streaming ?

UDP est un protocole de transport, c'est-à-dire qu'il est utilisé pour déplacer des paquets de données sur les réseaux. Le protocole UDP fonctionne conjointement avec l'Internet Protocol (IP). Ensemble, ils sont appelés UDP/IP. Contrairement au protocole TCP, le protocole UDP n'envoie pas de messages dans les deux sens pour ouvrir une connexion avant de transmettre des données, et il ne garantit pas que tous les paquets de données arrivent et soient dans le bon ordre. La transmission de données ne prend donc pas autant de temps qu'avec le protocole TCP, et bien que certains paquets soient perdus en cours de route, le nombre de paquets de données nécessaires pour entretenir le flux est tel que l'utilisateur ne remarque pas les paquets perdus.

La majeure partie d'Internet utilise le protocole TCP (Transmission Control Protocol, littéralement protocole de contrôle de transmissions). Ce protocole de transport implique un échange d'informations minutieux afin d'ouvrir une connexion. Une fois que la connexion est établie et que les deux appareils qui communiquent envoient des paquets dans les deux sens, le protocole TCP garantit que la transmission est fiable et que tous les paquets arrivent dans l'ordre.

Pour le streaming, la vitesse compte beaucoup plus que la fiabilité. Par exemple, si quelqu'un regarde un épisode d'une série en ligne, il n'est pas nécessaire que chaque pixel soit présent sur chaque image de l'épisode. L'utilisateur préfère que l'épisode soit diffusé à vitesse normale plutôt que d'attendre que chaque bit de données soit transmis. Il n'est donc pas gênant de perdre quelques paquets de données, ce qui explique pourquoi le streaming utilise le protocole UDP.

Si le protocole TCP est comparable à un service de livraison de colis qui exige que le destinataire signe pour pouvoir récupérer son colis, le protocole UDP ressemble quant à lui à un service de livraison qui laisse les colis sur le palier sans frapper à la porte pour obtenir une signature. Le service de livraison TCP perd moins de colis, mais le service de livraison UDP est plus rapide, car les colis peuvent être déposés même si personne n'est là pour signer le bordereau de livraison.

Qu'est-ce que la mise en mémoire tampon ?

Streaming et mise en mémoire tampon

Les lecteurs de médias en streaming chargent quelques secondes du flux à l'avance afin de pouvoir poursuivre la lecture de la piste audio ou vidéo si la connexion est brièvement interrompue. C'est ce qu'on appelle la mise en mémoire tampon. La mise en mémoire tampon permet de garantir une lecture fluide et continue des vidéos. Cependant, lorsque la connexion est lente ou que le réseau est très sollicité, la mise en mémoire tampon d'une vidéo peut prendre beaucoup de temps.

Quels sont les facteurs qui ralentissent le streaming ?

Du côté du réseau :

  • Latence du réseau : divers éléments ont une incidence sur la latence, par exemple l'endroit où le contenu auquel les utilisateurs tentent d'accéder est stocké.
  • Congestion du réseau : si le réseau reçoit trop de données, cela peut entraîner une dégradation des performances du streaming.

Du côté de l'utilisateur :

  • Problèmes de connexion WiFi : le redémarrage du routeur du réseau local, ou le passage à une connexion Ethernet au lieu d'une connexion WiFi, peuvent contribuer à améliorer les performances du streaming.
  • Appareils clients trop lents : la lecture de vidéos nécessite une bonne puissance de traitement. Si de nombreux processus sont en cours sur l'appareil qui lit la vidéo ou si l'appareil est simplement lent de manière générale, les performances du streaming peuvent en être altérées.
  • Bande passante insuffisante : pour le streaming vidéo, les réseaux domestiques ont besoin d'environ 4 Mbp/s de bande passante. Pour la vidéo haute définition, ils auront certainement besoin d'une bande passante plus importante.

Comment accélérer le streaming ?

Le streaming est affecté par les mêmes types de retards et de dégradations des performances que les autres types de contenu web. Le contenu diffusé en streaming étant stocké ailleurs, le lieu d'hébergement joue un rôle important, comme c'est le cas pour tous les types de contenu accessibles sur Internet. Si un utilisateur à New York essaie de lire une vidéo en streaming depuis un serveur en Californie, le contenu vidéo doit parcourir 4 800 km pour atteindre l'utilisateur. La mise en mémoire tampon de la vidéo sera donc longue (il est même possible que la vidéo ne soit pas lisible). C'est pour cette raison que Netflix et d'autres plateformes de streaming ont largement recours aux réseaux de distribution de contenu (CDN), qui stockent le contenu partout dans le monde, beaucoup plus près des utilisateurs.

Les CDN ont un énorme impact positif sur les performances du streaming. Cloudflare Stream Delivery utilise le CDN de Cloudflare pour stocker des contenus vidéo dans les datacenters de Cloudflare du monde entier. Cette répartition permet d'obtenir une réduction de la latence, donc des vidéos qui démarrent rapidement, et une réduction de la mise en mémoire tampon.