پخش زنده با CDN | آشنایی با مزایای شبکه توزیع محتوا برای پخش زنده

پربازیدترین مقالات

محصولات

آشنایی با مزایای CDN برای پخش زنده

آن‌چه در این مقاله می‌خوانید:

امروزه محتوای ویدیویی بخش زیادی از فضای اینترنت را به خود اختصاص داده است. در کشور ما نیز پلتفرم‌های پخش آنلاین فیلم و سریال در سال‌های اخیر با استقبال گسترده‌ای از سمت کاربران مواجه شدند و دوره‌های آموزشی آنلاین هم جایگاه خاص خود را در بین کاربران پیدا کرده‌اند. از آن‌جایی که کاربران در عصر تکنولوژی به دنبال سریع‌ترین راه برای دریافت اطلاعات هستند و دیگر انتظار برای پخش یک ویدئو را نمی‌پذیرند، ارائه‌دهندگان محتوای ویدئویی باید بتوانند محتوای خود را با کیفیت بالا و بدون تأخیر به کاربران تحویل دهند. یکی از راه‌حل‌های مناسب برای این کار استفاده از شبکه‌ی توزیع محتوا (CDN) است.

CDN ویدیویی چیست؟

CDN ویدیویی

CDN ویدیوئی یکی از انواع CDN است که به طور اختصاصی برای پشتیبانی از تحویل جریان ویدئویی طراحی شده است. استفاده از CDN برای پخش ویدئو زمان تأخیر را به حداقل می‌رساند و کمک می‌کند تا بینندگان در سراسر جهان بتوانند از این جریان ویدئویی استفاده کنند. CDN ویدیویی تضمین می‌کند که منبع یا سرور مبدأ در هنگام درخواست زیاد کاربران دچار مشکل نشود.

اکثر CDNها می‌توانند در کنار فایل‌های اصلی وب‌سایت مانند فایل‌های تصاویر و جاوااسکریپت، فایل‌های ویدیویی را هم ذخیره و ارائه دهند؛ اما CDNهای ویدیویی به طور خاص برای این فرمت از فایل‌ها ساخته شده‌اند و کارآمدتر هستند. به عنوان مثال، پلتفرم پخش آنلاین فیلم و سریال نتفلیکس شبکه‌ی توزیع محتوای خود را با نام Open Connect و با هدف ارائه‌ی بهتر محتوای ویدیویی خود عرضه کرد.

CDN چیست؟

شبکه توزیع محتوا (CDN) گروهی از سرورهای متصل به هم است که محتوا را از طریق اینترنت و کش  (cache) ارائه می‌کنند. کش کردن به معنای ذخیره‌ی موقت یک فایل است. پاپ‌سایت‌های یک CDN در سراسر جهان پراکنده شده‌اند و محتوا را نسبت به یک سرور اصلی یا یک مرکز داده با کارایی بیشتری به طیف وسیعی از مردم ارائه می‌دهند. هر زمان که یک کاربر درخواستی را از طریق CDN به سمت سرور ارسال می‌کند، CDN محتوای آن را در حافظه پنهان ذخیره می‌کند.

برای آشنایی بیشتر با سرویس CDN  اینجا کلیک کنید

چرا از CDN برای پخش ویدیو استفاده کنیم؟

پخش زنده ویدیویی

استفاده از CDN برای پخش ویدیو مزایایی دارد که در ادامه به آن‌ها اشاره می‌کنیم.

کاهش تأخیر در پخش ویدیو

با به حداقل رساندن فاصله‌ی زمانی بین کاربران و سرور ارائه‌دهنده‌ی ویدیو، تأخیر کاهش پیدا می‌کند. هر چقدر محتوای ویدیویی در محلی نزدیک‌تر به کاربر ذخیره گردد، سریع‌تر بارگذاری و پخش می‌شود و احتمالا CDN نسبت به نقطه‌ی منبع جریان ویدیویی سروری نزدیک‌تر به کاربر دارد.

سرور مبدا در اثر درخواست زیاد کاربران دچار مشکل نمی‌شود.

وقتی که درخواست‌های کاربران به جای یک سرور، بر روی چندین سرور CDN توزیع شود، دیگر نگران درخواست‌های زیاد بر روی سرور مبدأ نخواهید بود. گروهی متشکل از تعداد زیادی سرور بهتر از یک سرور می‌توانند ویدیو را برای هزاران بیننده پخش کنند.

محتوای جریان از پهنای باند شبکه تجاوز نخواهد کرد

یک شبکه تنها می‌تواند مقدار معینی داده را به طور همزمان عبور دهد. حداکثر مقدار داده‌ی قابل انتقال از یک شبکه، پهنای باند نامیده می‌شود. پهنای باند یک شبکه را می‌توان به ظرفیت یک بزرگراه تشبیه کرد. اگر تعداد زیادی خودرو بخواهند به طور همزمان از یک بزرگراه عبور کنند باعث ترافیک و کاهش سرعت نقل و انتقال می‌شود. اگر مقدار داده‌ی عبوری از یک شبکه بیش از پهنای باند آن باشد، تحویل داده تا حد زیادی کند می‌شود. این امر در هنگام پخش یک جریان ویدیویی باعث اختلال در بارگذاری آن می‌شود.

اگر برای تحویل ویدیو به کاربر از یک شبکه‌ی توزیع محتوای CDN استفاده کنید، دیگر نگران پهنای باند سرور و کندی عملکرد آن نخواهید بود. استفاده از CDN مانند حالتی خواهد بود که تعداد مشخصی اتومبیل به جای عبور از یک بزرگراه، از چندین مسیر مختلف و بدون ترافیک به مقصد برسند.

چگونه می‌توان یک جریان ویدیویی را کش کرد؟

جریان به طور مداوم فایل‌های ویدیویی را از یک سرور به کاربر منتقل می‌کند. با این حال، پخش ویدیویی به عنوان یک فایل پیوسته به دستگاه کاربر نمی‌رود. در واقع، پخش ویدیویی به بخش‌های کوچکتری تقسیم می‌شود و هر بخش پس از بارگیری به ترتیب صحیح توسط پخش‌کننده‌ی ویدیوی کاربر اجرا می‌شود.

هر بخش ویدیو را می‌توان به صورت جداگانه مانند فایل‌های تصاویر یا جاوااسکریپت توسط یک CDN کش کرد. هنگامی که یک کاربر درخواست یک جریان دارد، CDN به محض این‌که بخش‌های ویدیو از مبدا جریان برسند، شروع به ذخیره‌سازی آن‌ها در حافظه‌ی پنهان می‌کند. هنگامی که کاربر بعدی درخواست همان جریان را دارد، CDN می‌تواند همان بخش‌ها را به ترتیب از حافظه‌ی پنهان فراخوانی و اجرا کند.

CDN چگونه یک جریان ویدیویی زنده را کش می‌کند؟

پخش زنده

کش کردن ویدیوی درخواستی که در آن ویدیو از فضای ذخیره‌سازی تحویل داده می‌شود، برای CDN کاری نسبتا ساده است؛ CDN ویدیوی ذخیره شده را از سرور اصلی درخواست می‌کند و پس از تحویل ویدیو آن را در حافظه‌ی پنهان ذخیره می‌کند.

در پخش زنده‌ی ویدیویی، هیچ نسخه‌ی ذخیره شده‌ای وجود ندارد، اما روند کلی کار مشابه حالت قبل است. تنها تفاوت این است که CDN به جای ذخیره‌ی ویدیوهای قبلی، ویدیو را همزمان با ایجاد در زمان واقعی در حافظه‌ی پنهان خود ذخیره می‌کند. سپس جریان به جای پخش از سرور مبدأ، از حافظه‌ی پنهان به بینندگان ارائه می‌شود.

حتی اگر پخش ویدیوی زنده از CDN نسبت به سرور اصلی با چند ثانیه تأخیر همراه باشد، به دلیل پیوستگی جریان ویدیو، حس زنده بودن ویدیو را بیشتر به کاربر القا می‌کند و کاربر با اختلالی در پخش مواجه نمی‌شود. از آن‌جایی که CDN نسبت به سرور مبدا در مکانی نزدیک‌تر به کاربر قرار دارد، زمان رفت و برگشت داده (RTT) بین کاربر و سرور را کاهش می‌یابد. استفاده از CDN  هم‌چنین می‌تواند از مشکلات محدودیت پهنای باند که باعث کاهش سرعت پخش زنده می‌شود هم جلوگیری کند.

سوالات متداول

CDN  ویدیویی چیست؟

CDN ویدیویی نوعی شبکه توزیع محتواست که محتوای ویدیویی را در چندین سرور ذخیره کرده و با ارائه‌ی ویدیو از نزدیک‌ترین سرور به کاربر، تأخیر در پخش ویدیو را به حداقل رسانده و کیفیت پخش را بالا می‌برد.

محدودیت پهنای باند چگونه باعث تأخیر در پخش ویدیو می‌شود؟

پهنای باند میزان داده‌ای که می‌تواند همزمان از یک کانال عبور کند را مشخص می‌کند. وقتی درخواست‌های پخش ویدیویی زیادی به یک سرور ارسال می‌شود، به دلیل محدودیت پهنای باند پاسخ این درخواست‌ها دیرتر به کاربر می‌رسد که این مسأله باعث تأخیر در پخش ویدیو می‌گردد.

کش شدن پخش ویدیویی چگونه انجام می‌گیرد؟

پخش ویدیویی جریانی پیوسته نیست، بلکه به قسمت‌های کوچکتری تقسیم می‌شود که هر قسمت پس از رسیدن به سرورهای CDN در حافظه‌ی پنهان ذخیره شده و پس از فراخوانی کاربر به ترتیب برای او ارسال می‌شوند.

آیا امکان کش شدن پخش ویدیویی زنده هم وجود دارد؟

بله، فرآیند کش شدن پخش ویدیویی زنده هم مانند یک جریان ویدیویی صورت می‌گیرد و به دلیل پیوستگی جریان ویدیو کاربر متوجه چند ثانیه تأخیر در پخش نخواهد شد.

 


منابع:

مقالات مرتبط

FaaS چیست؟ آشنایی با مزایا و کاربردهای Functions as a services

FaaS یا تابع به‌عنوان سرویس چیست؟

FaaS چیست؟استفاده از سرویس تابع به‌عنوان سرویس (FaaS) به توسعه‌دهندگان کمک می‌کند تا بدون دغدغه تهیه و مدیریت زیرساخت، تمرکزشان را روی کدنویسی و ساخت اپلیکیشن قرار دهند. در این مقاله به بررسی کامل FaaS می‌پردازیم.