نحوه کار استریمینگ با نرخ بیت تطبیقی: مکانیسمهای نردبانهای کدگذاری و تحویل تکهتکه
استریمینگ با نرخ بیت تطبیقی (ABR) با خرد کردن ویدئوها به هزاران تکه کوچک و تنظیم پویا و لحظهای کیفیت آنها متناسب با سرعت اینترنت شما، از قطع و وصل شدن (بافرینگ) جلوگیری میکند. این فناوری برای ایجاد تعادل بین وضوح بصری و محدودیتهای عظیم پهنای باند جهانی، به «نردبانهای کدگذاری» و بهینهسازی بر اساس عنوان (Per-title optimization) متکی است.
به قلم الناز کریمی
این خبر را به اشتراک بگذارید
- مهندسان استریمینگ
- تمرکز بر کارایی پهنای باند، هزینههای CDN و کاهش بافرینگ از طریق نردبانهای بهینهشده.
- معماران پلتفرم
- تمرکز بر ارائه بالاترین کیفیت بصری ممکن با تنظیم کدگذاری متناسب با محتوای خاص.
- ارائهدهندگان زیرساخت شبکه
- تمرکز بر مکانیسمهای تحویل HTTP، کشینگ لبه و انطباق با شرایط نوسانی شبکه جهانی.
- تحلیلگران رسانه
- تمرکز بر ترکیب مکانیسمهای فنی در قالب تأثیرات اقتصادی و مصرفکننده به زبان ساده.
در سال ۲۰۰۹، شرکت اپل پیشنویس مشخصات HTTP Live Streaming (HLS) را منتشر کرد و اساساً مکانیسم انتقال ویدئو در سراسر اینترنت را بازنویسی نمود. پیش از آن لحظه، تماشای یک ویدئو به صورت آنلاین به معنای دانلود یک فایل واحد و یکپارچه بود؛ اگر اتصال شما از نرخ بیت آن فایل کمتر میشد، ویدئو متوقف میشد تا بافر کند. HLS یک پارادایم متفاوت را معرفی کرد: ویدئو را به هزاران تکه کوچک و مستقل خرد کرد و آنها را از طریق پروتکلهای استاندارد وب تحویل داد. امروزه، این سیستم تحویل تکهتکه، که به عنوان استریمینگ با نرخ بیت تطبیقی (ABR) شناخته میشود، موتور نامرئی است که تقریباً تمام پلتفرمهای ویدئویی روی زمین را به حرکت در میآورد.[1][3]
مقیاس عظیم مصرف ویدئو در عصر حاضر، ABR را به یک ضرورت ریاضی تبدیل کرده است. پیشبینی میشود که محتوای ویدئویی تا سال ۲۰۲۵، ۹۲٪ از کل ترافیک اینترنت را تشکیل دهد و فشار زیادی بر زیرساخت شبکه جهانی وارد کند. برای جلوگیری از فروپاشی اینترنت زیر بار میلیونها استریم ۴کی همزمان، پلتفرمها نمیتوانند صرفاً یک فید با کیفیت بالا را پخش کنند. در عوض، آنها باید به صورت پویا و لحظهای با دستگاه هر بیننده مذاکره کنند و جریان داده را طوری تنظیم نمایند که دقیقاً با ظرفیت اتصال محلی آنها مطابقت داشته باشد.[2]
این مذاکره به ساختاری به نام «نردبان کدگذاری» متکی است. هنگامی که یک پلتفرم یک ویدئوی جدید را دریافت میکند، یک فایل قابل پخش واحد ایجاد نمیکند. بلکه یک منو از نسخههای مختلف ایجاد میکند – که معمولاً از نسخه ۳۶۰پی با ۸۰۰ کیلوبیت بر ثانیه (kbps) تا نسخه ۴کی با ۱۵ مگابیت بر ثانیه (Mbps) متغیر است. سپس هر یک از این نسخهها به بخشهایی تقسیم میشوند که معمولاً بین ۲ تا ۱۰ ثانیه طول دارند.
هنگامی که بیننده دکمه پخش را میزند، پخشکننده ویدئو به عنوان یک تصمیمگیرنده فعال عمل میکند. معمولاً ابتدا تکه با کمترین نرخ بیت را درخواست میکند تا مطمئن شود ویدئو بلافاصله شروع به پخش میکند. سپس به طور مداوم سرعت دانلود و وضعیت بافر داخلی خود را نظارت میکند. اگر اتصال قوی باشد، پخشکننده از نردبان کدگذاری بالا میرود و تکه بعدی را از نسخه ۱۰۸۰پی یا ۴کی درخواست میکند.
اما اگر وایفای کاربر دچار مشکل شود یا سیگنال تلفن همراه او افت کند، پخشکننده فوراً از نردبان پایین میآید و یک تکه ۵۴۰پی را درخواست میکند تا ویدئو بدون نمایش صفحه بافر، به پخش ادامه دهد.[1]
«استریمینگ با نرخ بیت تطبیقی، کیفیت ویدئو را بر اساس شرایط شبکه تنظیم میکند تا پخش ویدئو را از طریق شبکههای HTTP بهبود بخشد.» این نکتهای است که Cloudflare، که یک شبکه تحویل محتوای جهانی (CDN) عظیم را اداره میکند، به آن اشاره دارد. «این فرآیند باعث میشود پخش برای بینندگان، صرف نظر از دستگاه، موقعیت مکانی یا سرعت اینترنتشان، تا حد امکان روان باشد.»[2]
«این فرآیند باعث میشود پخش برای بینندگان، صرف نظر از دستگاه، موقعیت مکانی یا سرعت اینترنتشان، تا حد امکان روان باشد.»
در حالی که مکانیسمهای اساسی نردبان کدگذاری جهانی هستند، نحوه پیادهسازی آن، پلتفرمهای آماتور را از غولهای صنعت جدا میکند. سالها، صنعت استریمینگ به نردبانهای «یک اندازه برای همه» متکی بود و نرخ بیت هدف یکسانی را برای هر محتوایی اعمال میکرد. یک فیلم اکشن پرسرعت و یک سیتکام انیمیشنی ثابت، هر دو ۵۸۰۰ کیلوبیت بر ثانیه برای نسخه ۱۰۸۰پی خود اختصاص میدادند.[2]
در سال ۲۰۱۵، مهندسان نتفلیکس متوجه شدند که این رویکرد ثابت، پهنای باند عظیمی را هدر میدهد. تیم فناوری این شرکت توضیح داد: «ما سالها را صرف توسعه رویکردی به نام کدگذاری بر اساس عنوان (Per-title encoding) کردهایم، که در آن تحلیلی بر روی یک عنوان خاص انجام میدهیم تا بهترین دستورالعمل کدگذاری را بر اساس پیچیدگی آن تعیین کنیم.» یک نمایش انیمیشنی با رنگهای تخت، برای عالی به نظر رسیدن به بیتهای بسیار کمتری نسبت به یک درام خشن و پر از دانه (Grain) نیاز دارد.[2]
با تجزیه و تحلیل پیچیدگی بصری خاص هر عنوان، نتفلیکس توانست یک نردبان کدگذاری سفارشی برای هر نمایش بسازد. برای یک عنوان با پیچیدگی متوسط، کدگذاری بهینهشده ۱۰۸۰پی تنها به ۴۶۴۰ کیلوبیت بر ثانیه نیاز داشت – این یعنی ۲۰٪ کاهش در پهنای باند در مقایسه با نردبان ثابت قدیمی ۵۸۰۰ کیلوبیت بر ثانیه، بدون هیچ افت قابل مشاهدهای در کیفیت بصری. برای محتوای انیمیشنی سادهتر، صرفهجویی حتی چشمگیرتر بود.
این بهینهسازی بر اساس عنوان، اکنون استاندارد طلایی برای استریمینگ ممتاز است. این امر به پلتفرمها اجازه میدهد تا وضوح بالاتری را به کاربران با اتصالات کند ارائه دهند، در حالی که همزمان هزینههای کلی پهنای باند خروجی پلتفرم را کاهش میدهند. پیادهسازی این نردبانهای بهینهشده میتواند مصرف کلی پهنای باند یک پلتفرم را تا ۵۰٪ کاهش دهد، که در هنگام سرویسدهی به میلیونها بیننده همزمان، یک حاشیه حیاتی است.
با این حال، نگهداری چندین نسخه از هر ویدئو یک بار ذخیرهسازی عظیم ایجاد میکند. در گذشته، پلتفرمها مجبور بودند این نردبانها را برای دستگاههای مختلف به روشهای متفاوتی بستهبندی کنند – با استفاده از کانتینر «.ts» برای HLS اپل و کانتینر MP4 تکهتکه شده («fMP4») برای پروتکل رقیب DASH. این بدان معنا بود که باید دو نردبان کامل و چند پلهای برای هر ویدئو کدگذاری و ذخیره میشد.[3]
برای حل این مشکل انباشتگی ذخیرهسازی، صنعت فرمت کاربردی رسانه مشترک (CMAF) را توسعه داد که در سال ۲۰۱۸ به عنوان یک استاندارد منتشر شد. CMAF کانتینر رسانهای زیربنایی را استاندارد میکند و اجازه میدهد تا یک مجموعه واحد از فایلهای MP4 تکهتکه شده به طور یکپارچه به پخشکنندههای HLS و DASH تحویل داده شود.
با یکپارچهسازی فرآیند بستهبندی، CMAF نیاز به ذخیره نردبانهای تکراری را از بین میبرد. به گفته Bunny.net، ارائهدهنده زیرساخت استریمینگ، «انجام این کار نیاز به ارائه چندین کپی از یک محتوا را حذف میکند و کارایی بالاتر و صرفهجویی نظری بیش از ۷۰٪ در تقاضای کدگذاری، بستهبندی و ذخیرهسازی را ممکن میسازد.»
CMAF همچنین «کدگذاری انتقال تکهتکه» (chunked transfer encoding) را معرفی کرد که به سرور اجازه میدهد کسری کوچک از یک سگمنت را قبل از اتمام کدگذاری کل سگمنت ارسال کند. این نوآوری تأخیر ذاتی استریمینگ HTTP را به شدت کاهش داد و آن را از ۳۰ ثانیه به حدود ۳ ثانیه رساند – این امر ABR را برای پخش زنده ورزشی و پخشهای بلادرنگ قابل استفاده کرد.[4]
نکات کلیدی
- استریمینگ با نرخ بیت تطبیقی (ABR) با شکستن ویدئوها به تکههای کوچک و تنظیم کیفیت در زمان واقعی، از بافرینگ جلوگیری میکند.
- پلتفرمها از یک «نردبان کدگذاری» برای ارائه چندین نسخه از یک ویدئو، از وضوح پایین تا ۴کی، استفاده میکنند.
- کدگذاری بر اساس عنوان (Per-title encoding) پیچیدگی بصری هر نمایش را تحلیل میکند تا اندازه فایلها را بهینه کند و تا ۵۰٪ در پهنای باند صرفهجویی نماید.
- استاندارد CMAF به پلتفرمها اجازه میدهد تا از یک مجموعه فایل واحد در دستگاههای اپل و اندروید استفاده کنند و به طور چشمگیری از انباشتگی ذخیرهسازی بکاهند.
- کدگذاری انتقال تکهتکه، تأخیر ذاتی استریمینگ HTTP را از ۳۰ ثانیه به تقریباً ۳ ثانیه کاهش داده است.
چرا مهم است
درک استریمینگ تطبیقی توضیح میدهد که چرا کیفیت ویدئوی شما به جای فریز شدن، نوسان میکند و زیرساخت عظیم و نامرئی مورد نیاز برای حفظ عملکرد اینترنت را در شرایطی که مصرف جهانی ویدئو سر به فلک کشیده است، آشکار میسازد.
آنچه نمیدانیم
- چگونه پذیرش گسترده کدک AV1 نردبانهای کدگذاری استاندارد را تغییر خواهد داد، زیرا فشردهسازی برتر آن به قدرت محاسباتی بسیار بیشتری برای کدگذاری نیاز دارد.
- ردپای کربن دقیق کدگذاری و ذخیرهسازی دهها نسخه برای هر ویدئو در یک پلتفرم، در مقایسه با انرژی صرفهجویی شده در انتقال.
- آیا استریمینگ HTTP با تأخیر فوقالعاده کم میتواند هرگز با تأخیر زیر ثانیه پروتکلهای WebRTC برای پخشهای تعاملی مطابقت داشته باشد یا خیر.
منابع
[1]Cloudflareارائهدهندگان زیرساخت شبکهWhat is adaptive bitrate streaming?
مطالعه در Cloudflare →
[2]Netflix Tech Blogمعماران پلتفرمPer-Title Encode Optimization
مطالعه در Netflix Tech Blog →
[3]Appleمعماران پلتفرمAbout the Common Media Application Format with HTTP Live Streaming
مطالعه در Apple →
[4]تیم سردبیری کوهستانتحلیلگران رسانهتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
هر زاویه. هر روز.
دریافت سرگرمی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.

