Vous êtes perché avec enthousiasme dans votre fauteuil préféré avec votre tablette à la main. La bande-annonce du film que vous mourriez d'envie de voir est enfin sortie, et vous avez hâte de la voir. Vous démarrez le clip à partir du site Web du film, et ... attendez ... mise en mémoire tampon ... oh, ça y est. Hummm. C'est un peu le bégaiement. Ce n'est pas tout à fait ce que vous aviez en tête. Ne serait-il pas formidable que quelqu'un trouve un moyen de rendre le streaming vidéo en ligne et les téléchargements plus fluides et plus efficaces ?
Les smartphones et les tablettes avec haut débit mobile deviennent de plus en plus courants chaque jour. Un rapport publié en février 2012 indiquait qu'entre 2010 et 2011, les réseaux de données mobiles derrière ces appareils avaient augmenté de 133 % et que le smartphone moyen avait presque triplé sa consommation de données, passant de 55 Mo à 150 Mo par mois. Avec des appareils plus puissants et des vitesses de réseau plus rapides, le streaming vidéo est plus facile à consommer et représente désormais plus de la moitié de ce trafic [source : Cisco ].
Une croissance comme celle-ci inspire l'innovation, en particulier lorsqu'il s'agit de surmonter des obstacles. Si vous avez un forfait de données limité avec un fournisseur de services de données mobiles, vous devez être conscient de la quantité de données que vous avez consommée chaque mois afin de ne pas dépasser votre limite et de payer des pénalités. Même si vous avez un forfait illimité, vous souhaitez probablement limiter les données que vous téléchargez uniquement à ce que vous utilisez réellement afin que votre téléphone ou votre tablette fonctionne aussi efficacement que possible.
C'est là qu'intervient DASH. DASH signifie Dynamic Adaptive Streaming over HTTP. Comme nous le verrons dans cet article, DASH est une norme de streaming vidéo sur Internet. Il surmonte les problèmes avec certaines autres normes de diffusion en continu, notamment le gaspillage de bande passante sur du contenu non visionné et le manque d'adaptabilité au débit binaire disponible de votre connexion de données.
Les développeurs derrière DASH incluent Christopher Müller, Stefan Lederer et Christian Timmerer, tous associés à l'Université de Klagenfurt en Autriche. Leur effort fait partie d'un projet plus vaste appelé le projet de partenariat de 3e génération (3GPP) visant à créer des normes mondiales pour le haut débit mobile. Les trois chercheurs ont fait la chronique du développement de DASH sous forme de blog, et ils ont présenté et promu DASH à des collègues de l'industrie du monde entier [sources : ITEC-DASH , Timmerer , Timmerer et Müller , Lederer et al. , 3GPP ].
La nouvelle technologie a conduit à une nouvelle norme sous le Moving Picture Experts Group (MPEG). Si MPEG semble familier, ce n'est pas une surprise. MPEG est l'organisation à l'origine des normes de médias numériques les plus largement adoptées au monde, notamment la vidéo MPEG et l'audio MP3. En tant que norme, DASH est appelé MPEG-DASH. Au moment d'écrire ces lignes, MPEG-DASH a passé l'enquête et est en phase d'approbation par l'Organisation internationale de normalisation, où il est connu sous le nom d'ISO/IEC 23009-1.
Avant d'examiner de plus près DASH, examinons l'état de la technologie de streaming vidéo avant l'adoption de DASH.
- L'état du streaming vidéo avant DASH
- Technologie DASH
- Adoption du DASH
- Note de l'auteur
L'état du streaming vidéo avant DASH
Pour comprendre comment DASH améliore le streaming vidéo , regardons la technologie qui le précède.
HTTP est le principal protocole utilisé pour le contenu Web sur Internet . HTTP est également sans état, ce qui signifie que lorsque vous demandez des données à partir de votre ordinateur ou de votre appareil mobile, il se connecte au serveur Web sur Internet juste assez longtemps pour obtenir les données dont il a besoin, puis met fin à cette connexion. Vous avez peut-être vu cela lorsque vous utilisez un navigateur Web pour afficher une page et que vous perdez votre connexion Internet : la page Web reste chargée dans votre navigateur, même si vous n'êtes pas activement connecté au serveur d'où elle provient.
Au moment d'écrire ces lignes, l'état de l'art en matière de diffusion vidéo sur Internet était le protocole de diffusion en temps réel (RTSP). Contrairement à HTTP, RTSP est avec état. Cela signifie qu'il repose sur une connexion permanente entre votre ordinateur ou appareil mobile et le serveur Web qui envoie la vidéo. Cela signifie qu'une fois la connexion établie, le serveur envoie un flux constant de données à l'appareil jusqu'à ce qu'il envoie toute la vidéo ou jusqu'à ce que vous arrêtiez la vidéo, selon la première éventualité.
Parce qu'il est avec état, RTSP est moins efficace que HTTP. C'est parce qu'il est possible que vous téléchargiez plus de données que vous n'en avez réellement besoin. Par exemple, votre appareil peut télécharger une vidéo entière même si vous arrêtez de la regarder à mi-parcours.
Si RTSP pouvait s'ajuster aux différences de débit , ce ne serait pas un problème. Le débit est le nombre de bits de données que votre appareil peut télécharger par seconde. Ceci est affecté par la vitesse et le volume du trafic sur votre connexion Internet actuelle. Si vous avez un débit binaire élevé, le RTSP télécharge simplement plus de contenu vidéo sur la même durée, que vous regardiez ou non tout ce contenu.
Les débits Internet sont de plus en plus rapides, en particulier sur les réseaux mobiles. Des vitesses de téléchargement plus rapides ont conduit à plus de visionnage de vidéos et, par conséquent, ont poussé l'utilisation de la bande passante à des sommets inattendus. Cela met la pression sur les fournisseurs de haut débit pour économiser de l'argent et des ressources. En conséquence, les fournisseurs continuent d'augmenter leurs prix et de limiter ou de plafonner la bande passante pour leurs utilisateurs.
DASH est une alternative intéressante au RTSP car il rend le streaming vidéo plus efficace. Ensuite, nous verrons comment DASH y parvient.
Technologie DASH

La norme DASH est une alternative intéressante au RTSP car elle rend le streaming vidéo plus efficace. DASH le fait en tirant parti de l'absence d'état de HTTP. Cela signifie que le logiciel standard DASH peut diffuser de la vidéo en ne saisissant que suffisamment de données vidéo pour combler l'écart entre plusieurs connexions HTTP.
Selon la norme DASH, le contenu vidéo existe sur le serveur dans ces deux parties :
- Media Presentation Description (MPD) - un manifeste ou un fichier contenant des informations sur le contenu vidéo
- Segments - morceaux de données vidéo séparés en plusieurs fichiers
You probably already know that in order to play an MP3 music file , you have to have software or a device that reads the MP3 standard file type. The same is true with DASH. To play DASH standard video, you'll need a DASH client. That client is some form of software that's programmed to play video that complies to the DASH standard. As the standard becomes more widely adopted, you'll find popular Web browsers and mobile apps adding DASH compatibility to their software.
A DASH client retrieves and plays the video content using these steps:
- The client downloads and reads the MPD to get important information, such as the content locations, segment encodings, resolution, minimum and maximum bandwidths, accessibility features like closed captioning and content restrictions (such as DRM).
- The client selects an appropriate segment encoding and begins streaming the content through a series of HTTP requests. The server creates and encodes each segments on demand for each request, all from the same source.
- The client buffers data as it's downloaded, while also keeping track of fluctuations in the connection bandwidth. If necessary, the client automatically changes to a different segment encoding (from those listed by the MPD) that's more compatible with the current bitrate. This ensures the client maintains a sufficient buffer throughout the video without downloading more data than you need.
Because of its structure, DASH acts as a framework for better consuming a single video source. For example, a DASH encoder can break up an MP4 video file into 2-second segments encoded for a Microsoft Silverlight client on a fast network. Then, it can use that same MP4 source to create 15-second segments for a game console on a slower network. For even more bandwidth optimization, the MPD can indicate multiple locations to choose from for each source file.
As of early 2012, there was a lot of buzz about how quickly DASH might take off, especially considering who's on board with it. We'll check out that buzz on the next page.
DASH Adoption

Prior to the DASH standard, some platforms for HTTP streaming included Apple's HTTP Live Streaming and Adobe HTTP Dynamic Streaming. While these are successful in taking advantage of HTTP's efficiency, they're also proprietary. That means they each run with a different protocol, and they're not compatible with each other.
If major brands in Internet video streaming adopt the DASH standard, it could replace the less-efficient RTSP standard while eliminating the need for proprietary software. Some companies, like Netflix and Microsoft , are already on board with DASH. They're part of the MPEG-DASH Promoters Group, an organization of streaming video service providers supporting the new standard. By encoding video and creating clients that comply with MPEG-DASH, this group hopes to speed the standard's adoption across the industry.
Mark Watson, a senior engineer at Netflix , is excited about DASH for storage efficiency, too. Streaming service providers like Netflix use a content delivery network (CDN) to store and deliver video. To accommodate different types of devices, providers have to offer different video formats, which means having multiple copies of the same content in their CDNs. During a December 2011 interview with StreamingMedia.com, Watson stated that under the DASH standard, "everything can be encoded one way and encapsulated one way, and stored on our CDN servers just once." This leads to cost savings for storage space in addition to improved streaming performance [source: Dreier].
DASH also includes live streaming standards. Since DASH encoders create video segments on demand for the client, the client may be able to consume that live stream faster and in segment sizes that are appropriate to the current bitrate. This means fewer skips during video playback and a live stream that's closer to real time. Though there isn't a lot of buzz about it yet, this could lead to an increase in live streaming availability for sporting events and live TV shows, and more people watching live TV via the Internet.
The future looks bright for DASH, but time will tell how quickly providers adopt it and how soon software companies produce DASH-compliant clients. As we keep an eye on the standard, dash on over to the next page for lots more information about DASH.
Author's Note
Before this article, I knew very little about streaming video standards. Now, I understand the problem with RTSP, particularly regarding wasted bandwidth. Since DASH is a framework for consuming existing video formats, it doesn't disrupt video production itself. That also means that proprietary formats like Flash could be delivered with the advantage of DASH efficiency. As someone who loves to use YouTube on my smartphone, I look forward to the improved experience and reduced bandwidth that the DASH standard could deliver. I also hope that security mechanisms that limit HTTP requests from the same client can adapt to receiving repeated requests for video segments. I'm interested to see how streaming services will handle that while resisting denial of service attacks.
Related Articles
- How Streaming Video and Audio Work
- How Discovery Education Streaming Works
- What are the benefits to watching sporting events via live streaming?
- How fast should my Internet connection be to watch streaming HD movies?
More Great Links
- ISO Standard Documents for DASH: ISO/IEC PRF 23009-1
- MPEG-DASH Promoters Group
Sources
- 3GPP. "About 3GPP." (Mar. 9, 2012) http://www.3gpp.org/About-3GPP
- Cisco. "Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2011-2016." Feb. 14, 2012. (Mar. 8, 2012) http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-520862.pdf
- Dreier, Troy. "Netflix Sees Cost Savings in MPEG DASH Adoption." StreamingMedia.com. Information Today, Inc. Dec. 15, 2011. (Mar. 9, 2012) http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=79409
- International Organization for Standardization (ISO). "ISO/IEC PRF 23009-1." (Mar. 8 2012) http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623
- Lederer, Stefan, Müller, Christopher, and Timmerer, Christian. "Dynamic Adaptive Streaming over HTTP Dataset." ACM. Feb. 2012. http://web.cs.wpi.edu/~claypool/mmsys-dataset/2012/dhttp/p89-lederer.pdf
- Ozer, Jan. "What is Adaptive Streaming?" StreamingMedia.com. Information Today, Inc. Apr. 28, 2011. (Mar. 9, 2011) http://www.streamingmedia.com/Articles/Editorial/What-Is-.../What-is-Adaptive-Streaming-75195.aspx
- Ozer, Jan. "What is MPEG DASH?" StreamingMedia.com. Information Today, Inc. Nov. 22, 2011. (Mar. 9, 2011) http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=79041
- MPEG. "MPEG Home." (Mar. 9, 2012) http://www.mpeg.org/
- Müller, Christopher, and Timmerer, Christian. "Dynamic Adaptive Streaming over HTTP (DASH)." May 2, 2011. (Mar. 8, 2012) http://www.slideshare.net/christian.timmerer/dynamic-adaptive-streaming-over-http-dash
- Rick, Christopher. "MPEG DASH Gains Industry Support As 'Streaming Media Standard'." ReelSEO. ReelVideo, LLC. Mar. 5, 2012. (Mar. 8, 2012) http://www.reelseo.com/mpeg-dash-streaming-media-standard/
- Stockhammer, Thomas. "Dynamic Adaptive Streaming over HTTP - Design Principles and Standards." Nov. 2010. (Mar. 8, 2012) http://www.w3.org/2010/11/web-and-tv/papers/webtv2_submission_64.pdf
- Timmer, Christian. "Diffusion adaptative dynamique sur HTTP (DASH)." 11 février 2011. (8 mars 2012) http://multimediacommunication.blogspot.com/2011/02/dynamic-adaptive-streaming-over-http.html