MPEG-DASH (Dynamic Adaptive Streaming over HTTP) یکی دیگر از استانداردهای Adaptive Streaming است که بهمنظور تحویل streamهای ویدیویی به کاربرانی با پلتفرمهای مختلف با استفاده از استانداردی مشترک و واحد، معرفی شده است.
در گذشته برای تماشای محتوای ویدیویی بر بستر اینترنت، ابتدا باید کل فایل ویدیویی دانلود و سپس پخش ویدیو آغاز میشد. تاخیر فراوان حاصل از این روش در تماشای محتوای ویدیویی سبب خلق ایدهی streaming شد.
در streaming با تقسیم یک فایل ویدیویی به بخشهایی کوچکتر، این امکان فراهم میشود که بتوان بدون دانلود کل فایل در ابتدا، پخش ویدیو را آغاز کرد و بهتدریج و در حین پخش، بخشهای باقیماندهی فایل دانلود شوند. به این ترتیب تاخیر در آغاز پخش ویدیو کاهش مییابد.
در دههی ۱۹۹۰ تا ۲۰۰۰. بیشتر streamهای اینترنتی با پروتکل User Datagram Protocol (UDP) به مخاطبان نهایی تحویل میشدند که این امر معایبی همچون از دست رفتن پکتها در حین انتقال و block پکتهای UDP بهوسیلهی فایروالها و... را در پی داشت.
این معایب سبب ظهور تکنولوژیهای Adaptive Bitrate Streaming(ABR) در سال ۲۰۰۲ شدند. این تکنولوژیها برای تحویل محتوای ویدیویی به کاربران نهایی از پروتکل HTTP و بهدنبال آن Transmission Control Protocol (TCP) بهره میگیرند و به این ترتیب سبب حل دو مشکل بزرگ میشوند:
سه تکنولوژی مبتنیبر ABR streaming: HDS، HLS و Microsoft Smooth Streaming هستند که هر یک را شرکتی جداگانه معرفی کرده است و از روش و فرمتهای خاص خود برای streaming بهره میگیرند. این امر بدان معناست که یک دستگاه برای دریافت streamهایی به هر یک از این روشها، باید از پروتکل مربوطه پشتیبانی کند. برای نمونه، برخی پلتفرمها تنها از HDS و برخی دیگر تنها از HLS پشتیبانی میکنند. این موضوع سبب شد تا ایدهی ایجاد روشی استاندارد که تمامی پلتفرمها فارغ از نوع سازندهی آنها، قابلیت پشتیبانی از آن را داشته باشند، شکل گیرد.
در سال ۲۰۰۹، MPEG نخستینبار فراخوانی را بهمنظور معرفی طرحی استاندارد برای HTTP streaming اعلام کرد. در دو سالِ بعد از این فراخوان ابتدایی، MPEG در همکاری با standard groupهایی همچون Third Generation Partnership Project (3GPP) و شرکتهای متعددی همچون Microsoft و Netflix و... توانست این طرح را توسعه دهد. درنهایت، حاصل این همکاری گسترده معرفی استاندارد MPEG-DASH در سال ۲۰۱۲ بود.
در MPEG-DASH مشابه سایر تکنیکهای Adaptive Streaming، در ازای یک محتوای ویدیویی نسخههای مختلفی با رزولوشنهای متفاوت تهیه میشود. سپس هر یک از این نسخههای مختلف، به بخشهای کوچکتری با عنوان segment تقسیم و اطلاعات مربوط به این نسخههای مختلف در فایلی با نام Media Presentation Description (MPD) ذخیره میشود. تصویر زیر نشاندهندهی اجزای مختلف در روش MPEG-DASH است.
در هنگام پخش یک stream ویدیویی، ابتدا فایل MPD به کمک player کاربر دانلود میشود. player با بررسی محتوای این فایل، نسخهای را متناسب با وضعیت اینترنت دانلود و پخش را آغاز میکند. در زمان پخش ویدیو با بروز هرگونه تغییر در پهنای باند، player با سوییچ به نسخهای منطبق با وضعیت جدید، از توقف در پخش ویدیو جلوگیری میکند.
فایل MPD دارای ساختاری سلسله مراتبی است. به این شکل که یک فایل MDP دارای یک یا چند Period است که هر یک از این Periodها خود حاوی اطلاعاتی در رابطه با محتوای ویدیویی از قبیل codecهای مختلف، فایلهای صوتی بهازای زبانهای مختلف اگر وجود داشته باشد، زیرنویس و... هستند. این مولفههای مختلف در هر Period تحت AdaptationSetها قرار میگیرند. هر Period میتواند حاوی یک یا چند AdaptationSet باشد که از آنها بهمنظور گروهبندی مولفههای مختلف و مرتبط به هم استفاده میشود. برای نمونه، مولفههایی با codec، زبان، رزولوشن و... یکسان در یک AdaptationSet قرار میگیرند. هر AdaptationSet شامل Representationها است که حاوی رزولوشنهای (bitrate) مختلف بهازای محتوای مربوطه هستند. وجود تنها یک Representation برای پخش محتوای ویدیویی کافی است اما با اینحال، وجود Representationهای مختلف سبب میشود تا به هنگام تغییر وضعیت همچون تضعیف پهنای باند، player بتواند با سوییچ به نسخههای دیگر، به پخش ویدیو ادامه دهد. از سوی دیگر، هر Representation نیز به تعدادی Segment با طولی یکسان (از لحاظ زمانی) تقسیم میشود. تصویر زیر نشاندهندهی شمای گرافیکی این ساختار سلسله مراتبی است.
ابر آروان با پشتیبانی کامل از استاندارد MPEG-DASH نگرانیهای ناشی از عدم پشتیبانی از streamهای ویدیویی روی پلتفرمهای مختلف را حذف میکند، چرا که DASH، codec مستقل و ترکیبی از تمام فناوریها و استانداردهاست و این امر سبب میشود تا streamهای MPEG-DASH روی تمام دستگاهها بهشکل یکپارچه پشتیبانی شود و از این راه پیچیدگیها و هزینههای فنی نیز کاهش یابند.