CGJU
CGJU
8 juillet 2026 · Temps de lecture 6 minutes

Qu'est-ce que le streaming DASH ?

DASH (Dynamic Adaptive Streaming over HTTP) est une technologie de streaming à débit adaptatif internationalement normalisée. Élaborée par l'organisation MPEG, son nom officiel est MPEG-DASH (ISO/IEC 23009-1), et elle constitue l'une des normes technologiques les plus importantes dans le domaine du streaming.

Contrairement aux protocoles de streaming traditionnels, DASH découpe le contenu vidéo en une série de petits fichiers basés sur HTTP, chaque segment contenant une courte période de données multimédias. Le lecteur peut sélectionner dynamiquement des segments de débits différents en fonction de l'état actuel du réseau, assurant ainsi une expérience de lecture fluide.

Avantages clés de DASH

  • Norme internationale : norme ouverte élaborée par l'organisation MPEG, indépendante de toute entreprise
  • Débit adaptatif : ajuste dynamiquement la qualité vidéo en fonction de la bande passante réseau
  • Indépendant du codage : prend en charge de multiples formats de codage tels que H.264, H.265, VP9, AV1
  • Compatible CDN : basé sur le protocole HTTP, tire pleinement parti de l'infrastructure CDN existante
  • Multi-appareils : prend en charge divers appareils tels que PC, téléphones, téléviseurs intelligents
  • Prise en charge DRM : prise en charge intégrée de la gestion des droits numériques

Explication détaillée du principe technique de DASH

Pour comprendre le fonctionnement de DASH, il faut aborder ses composants centraux et son flux de travail.

1. Fichier MPD (Media Presentation Description)

Le MPD est le fichier de configuration central de DASH, équivalent au fichier M3U8 dans HLS. Il s'agit d'un fichier au format XML qui décrit l'organisation de l'ensemble du contenu multimédia.

  • Period : période temporelle du contenu multimédia, chaque Period peut avoir des AdaptationSet différents
  • AdaptationSet : ensemble de différentes versions codées d'un même contenu, telles que vidéo, audio, sous-titres
  • Representation : une version codée spécifique, contenant un débit, une résolution et un format de codage particuliers
  • Segment : fragment de données multimédias réel, pouvant être téléchargé et lu indépendamment

2. Segmentation et codage

DASH découpe le contenu vidéo en plusieurs petits segments (généralement 2 à 10 secondes), chaque segment étant un fichier indépendant. Parallèlement, un même contenu est codé en plusieurs versions de débits et résolutions différentes, permettant au lecteur de choisir en fonction de l'état du réseau.

3. Algorithme de débit adaptatif

Le lecteur DASH intègre un algorithme de débit adaptatif (ABR) qui sélectionne dynamiquement le débit le plus approprié en fonction des indicateurs suivants :

  • Mesure de la bande passante réseau actuelle
  • Niveau de remplissage de la mémoire tampon
  • Fréquence d'images vidéo et perte d'images
  • Capacité de décodage de l'appareil

Comparaison détaillée DASH vs HLS

DASH et HLS sont les deux technologies de streaming à débit adaptatif les plus répandues, chacune ayant ses avantages et inconvénients.

Critère DASH HLS
Organisme de normalisation MPEG (norme internationale) Apple Inc.
Format de manifeste MPD (format XML) M3U8 (format texte)
Format de codage H.264/H.265/VP9/AV1, etc. Principalement H.264/H.265
Format de segment MP4/WebM/TS TS/fMP4
Prise en charge iOS Prise en charge native iOS 16+ Prise en charge native sur toutes les versions
Prise en charge DRM Widevine/PlayReady/FairPlay Principalement FairPlay
Faible latence Norme LL-DASH LL-HLS
Maturité de l'écosystème Mature, largement utilisé Très mature, le plus utilisé

Comment choisir ?

  • Scénarios pour DASH : besoins en support de multiples formats de codage, systèmes DRM multiples, norme internationalisée, scénarios axés sur Android/Web
  • Scénarios pour HLS : axé sur l'écosystème Apple, recherche de compatibilité maximale, utilisation répandue dans les scénarios de diffusion en direct
  • Bonnes pratiques : la plupart des plateformes de streaming proposent simultanément les deux formats DASH et HLS, en choisissant automatiquement selon le client

Comment utiliser un lecteur DASH

Pour lire du contenu DASH sur une page web, la solution la plus courante consiste à utiliser la bibliothèque dash.js. Il s'agit d'une implémentation de lecteur DASH open source maintenue par le DASH Industry Forum.

Méthode 1 : Utiliser un lecteur en ligne (le plus simple)

Si vous souhaitez simplement tester rapidement un flux vidéo DASH, vous pouvez utiliser directement notre lecteur MPEG-DASH en ligne, sans écrire le moindre code.

💡 Expérience rapide : Accédez directement à notre lecteur DASH en ligne, saisissez l'adresse MPD pour lire, avec prise en charge de la vitesse de lecture, des captures d'écran, etc.

Méthode 2 : Construire son propre lecteur avec dash.js

Si vous avez besoin d'intégrer la fonction de lecture DASH dans votre propre site web, vous pouvez utiliser la bibliothèque dash.js.

1. Importer dash.js

Importer la bibliothèque dash.js via CDN :

<script src="https://cdn.dashjs.org/latest/dash.all.min.js"></script>

2. Structure HTML

Ajouter un élément vidéo dans la page :

<video id="video" controls playsinline></video>

3. Initialiser le lecteur

const video = document.getElementById('video');
const mpdUrl = 'https://example.com/stream.mpd';

const player = dashjs.MediaPlayer().create();
player.initialize(video, mpdUrl, true);

4. Configuration courante

player.updateSettings({
    streaming: {
        abr: {
            autoSwitchBitrate: {
                video: true,
                audio: true
            }
        },
        buffer: {
            stableBufferTime: 30,
            bufferTimeAtTopQuality: 60
        },
        lowLatencyEnabled: false
    }
});

Méthode 3 : Utiliser Shaka Player

Shaka Player est un autre excellent lecteur DASH développé par Google, également open source et gratuit :

const video = document.getElementById('video');
const player = new shaka.Player(video);
player.load('https://example.com/stream.mpd');

Génération de contenu DASH

Les outils les plus couramment utilisés pour générer du contenu DASH sont FFmpeg et GPAC (MP4Box).

Générer du DASH avec FFmpeg

La commande suivante peut convertir un fichier MP4 en format DASH :

ffmpeg -i input.mp4 \
  -map 0 -map 0 -map 0 \
  -b:v:0 800k -s:v:0 640x360 \
  -b:v:1 1500k -s:v:1 854x480 \
  -b:v:2 3000k -s:v:2 1280x720 \
  -b:a 128k \
  -use_timeline 1 -use_template 1 \
  -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" \
  -f dash output.mpd

Générer du DASH avec MP4Box

MP4Box de GPAC est un autre puissant outil de conditionnement DASH :

MP4Box -dash 4000 \
  -rap -frag-rap \
  -profile dashavc264:live \
  -out output.mpd \
  video_360p.mp4 video_480p.mp4 video_720p.mp4 audio.mp4

Questions fréquentes

1. Lequel est meilleur entre DASH et HLS ?

Il n'y a pas de "meilleur" absolu, tout dépend du scénario spécifique. DASH est une norme internationale, plus flexible et prend en charge davantage de formats de codage ; HLS dispose d'un écosystème plus mature et d'une meilleure compatibilité avec les appareils Apple. La plupart des plateformes commerciales proposent simultanément les deux formats.

2. Les navigateurs prennent-ils en charge DASH ?

Les navigateurs modernes ne prennent pas directement en charge la lecture DASH, mais grâce à des bibliothèques JavaScript telles que dash.js ou Shaka Player, en utilisant l'API MSE (Media Source Extensions), il est possible de lire du DASH. Les navigateurs principaux comme Chrome, Firefox, Edge prennent tous en charge MSE.

3. DASH peut-il être utilisé pour la diffusion en direct ?

Oui. DASH prend en charge les deux modes : diffusion en direct et vidéo à la demande. Pour les scénarios de diffusion en direct à faible latence, la norme LL-DASH (Low Latency DASH) peut être utilisée, avec une latence pouvant être réduite à 1-2 secondes.

4. Quelle est la différence entre un fichier MPD et un fichier M3U8 ?

MPD est le fichier manifeste de DASH, utilisant le format XML, avec une structure plus complexe mais des fonctionnalités plus puissantes ; M3U8 est le fichier manifeste de HLS, utilisant le format texte brut, plus simple et plus lisible. Les deux ont des fonctionnalités similaires, décrivant l'organisation du contenu multimédia.

5. Comment déboguer les problèmes de lecture DASH ?

  • Utiliser les outils de développement du navigateur pour inspecter les requêtes réseau et vérifier que le MPD et les segments se chargent correctement
  • Utiliser le mode débogage de dash.js pour consulter les sorties de journal détaillées
  • Utiliser un outil de validation MPD pour vérifier que le format du fichier MPD est correct
  • Vérifier que la configuration CORS (cross-origin) est correcte

6. Quels systèmes DRM DASH prend-il en charge ?

La norme DASH elle-même est indépendante des DRM, mais elle prend en charge les systèmes DRM courants, notamment Google Widevine, Microsoft PlayReady, Apple FairPlay, etc. Les DRM spécifiques pris en charge dépendent de l'implémentation du lecteur.

Conclusion

En tant que technologie de streaming à débit adaptatif normalisée internationalement, DASH occupe une position importante dans le domaine du streaming grâce à sa flexibilité, son indépendance vis-à-vis du codage et ses fonctionnalités puissantes. Avec la prise en charge native de DASH par iOS 16+, les scénarios d'application de DASH seront encore plus étendus.

Si vous souhaitez expérimenter rapidement la lecture DASH, vous pouvez utiliser directement notre lecteur MPEG-DASH en ligne : pas besoin d'écrire de code pour lire des flux vidéo DASH dans le navigateur.

Recommandations

Plus d'articles et d'outils pratiques

Vous voulez essayer la lecture DASH dès maintenant ?

Utilisez notre lecteur MPEG-DASH en ligne gratuit, pas besoin de coder, lisez directement des flux vidéo DASH dans le navigateur

Essayer maintenant ➡