پروتکل HLS یکی از پراستفاده ترین پروتکلهای استریم ویدیو است. HLS مخفف عبارت HTTP live streaming میباشد اما با این وجود برای استریمهای On-demand یا به هنگام درخواست نیز استفاده میشود. این پروتکل فایلهای ویدیویی را به فایلهای HTTP کوچکتر و قابل دانلود تقسیم میکند و آنها را با استفاده از پروتکل HTTP تحویل مقصد میدهد. سیستم کاربر نیز این فایلهای HTTP را پس از بارگذاری در قالب ویدیو پخش مینماید. پروتکل انتقال داده استفاده شده در HLS، پروتکل TCP است.
یکی از مزیتهای پروتکل HLS این است که تمام دستگاههای متصل به اینترنت، HTTP را پشتیبانی مینمایند و این موضوع پیادهسازی آن را نسبت به پروتکلهایی که نیازمند استفاده از سرورهای مخصوص هستند، ساده تر میکند. مزیت دیگر یک استریم بر پایه HLS این است که کیفیت ویدیو در حال پخش نسبت به کیفیت اینترنت در پخش قابل کاهش یا افزایش است تا به این ترتیب وقفهای در پخش ویدیو بوجود نیاید.
پروتکل HLS در ابتدا توسط اپل برای استفاده بر روی محصولات این شرکت توسعه یافت، اما به تدریج کاربردی جهانی و گسترده پیدا نمود.
پروتکل HLS چگونه کار میکند؟
یک استریم HLS از یک سرور که محتوا در آن ذخیره شده(on-demand streaming) و یا در آن ایجاد میشود(live streaming) منشا میگیرد.
در سمت سرور دو اتفاق اصلی اتفاق میافتد:
- رمزنگاری: فرمت دادهها تغییر داده میشوند تا به این ترتیب هر دستگاهی قادر به شناخت و تفسیر آنها باشد. پروتکل HLS میبایست از یکی از دو استاندارد H.264 یا H.265 استفاده نماید.
- بخشبندی: ویدیو به بخشهای کوچکتر چند ثانیهای تقسیم میشود. این مقدار به صورت پیشفرض 6 ثانیه است، اما میتواند مقادیر دیگر را نیز بپذیرد. برای مثال پیش از سال 2016 زمان هر بخش به صورت پیشفرض 10 ثانیه بود. همچنین HLS این بخشها را ترتیب بندی میکند تا جا به جا پخش نشوند. وظیفه دیگر این پروتکل در این مرحله ایجاد بخشها با کیفیتهای مختلف مانند 480p,720p و 1080p است.
- توزیع: بخشهای رمزنگاری شده، طبق درخواست کاربر و تحت شبکه به سیستم او ارسال میشوند. در این گام به طور معمول، یک سرویس CDN فرایند انتقال دادهها به نقاط جغرافیایی مختلف را تسهیل مینماید. CDN همچنین برای ارائه سریعتر استریم به کاربر از کش استفاده میکند.
- دستگاه کاربر: همانطور که مشخص است، این دستگاه کاربر است که دادههای استریم شده را دریافت و ویدیو را پخش مینماید. سیستم کاربر(گوشی هوشمند، لپتاپ و …) از فایل رتبهبندی جهت مرتب کردن بخشهای دریافتی استفاده میکند و در هنگام نیاز نیز وظیفه تغییر کیفیت ویدیو در حال پخش را برعهده میگیرد.
پروتکلهای دیگر استفاده شده برای استریم
درکنار HLS، پروتکلهای دیگری همچون MPEG-DASH و HDS نیز با استفاده از HTTP کاربری مشابهی را ارائه میکنند. Adobe Flash که برپایه RTMP یا HDS کار میکرد، زمانی تکنولوژی اصلی برای استریم ویدیو شناخته میشد اما در حال حاضر بسیاری از مرورگرها از آن پشتیبانی نمیکنند. RTMP همچنان قابل استفاده میباشد، اما پشتیبانی از آن رو به کاهش است.