استریم ویدیو و صوت

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

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

استریم ویدیو و صوت چیست؟

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

به‌اختصار می‌توان گفت، به هر شکل از ارایه‌ی محتوای ویدیویی (مانند فیلم‌ها، برنامه‌های تلویزیونی، رویدادهای ورزشی زنده و …)، استریم ویدیو گفته می‌شود.

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

هم استریم ویدیو و هم صوت، از فناوری‌ها و پروتکل‌های مختلفی استفاده می‌کنند تا اطمینان حاصل شود که محتوا بدون وقفه به کاربر تحویل داده می‌شود. این فناوری‌ها شامل رمزگذاری (Encoding) و ترانسکدینگ (Transcoding)، جریان بیت تطبیقی (Adaptive Bitrate Streaming)، شبکه‌های تحویل محتوا (CDN) و دیگر مواردی هستند که در ادامه با جزییات بیش‌تری هر یک را توضیح می‌دهیم. در کنار این موارد باید بدانید که کیفیت استریم همواره تحت تاثیر عواملی مانند سرعت اتصال به اینترنت، قابلیت‌های دستگاه و کارایی زیرساخت سرویس استریم قرار می‌گیرد.

مفاهیم کاربردی

  • رزولوشن (Resolution)

به تعداد پیکسل‌هایی گفته می‌شود که در هر بُعد (طول / عرض) می‌توان آن‌ها را نمایش داد، برای هر نسبت تصویری رزولوشن‌های استاندارد وجود دارد.

رزولوشن

  • نسبت تصویر (Aspect Ratio)

به نسبت طول به عرض یک فریم یا تصویر گفته می‌شود. از میان استانداردهای ویدیویی متنوعی که وجود دارند، رایج‌ترین آن‌ها «16:9» و «3:2» هستند.

نسبت تصویر

  • واترمارک (Watermark)

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

واترمارک

  • تصویر شاخص (Cover Image)

تصویری است که پیش از نمایش ویدیو (پیش از Play شدن ویدیو) نمایش داده می‌شود.

  • لینک امن (Secure Link)

لینکی اختصاصی است که براساس پارامترهای مختلف (مانند IP ،Expire Time ،Key) تعریف می‌شود و فقط به کسانی که این معیارها را در اختیار داشته باشند، پاسخ می‌دهد.

  • بافر و تاخیر (Latency)

در دنیای ویدیو تاخیر به مدت زمانی گفته می‌شود که یک فریم ضبط (Capture) و در سمت کاربر نهایی نمایش داده شود. این اصطلاح در حوزه‌ی پخش زنده نیز رایج است و به بخش‌های مختلفی تبدیل می‌شود که هر کدام کاربرد ویژه‌ی خود را دارند.

  • Sub-Second (< 1 Second):
    • Voice Chat
    • Video Call
  • Ultra-Low Latency (1-5 Second):
    • Trivia
  • Low Latency (5-10 Second):
    • Esports
    • CableTV
  • Legacy Latency (10-30 Second):
    • Social Media
  • سازگاری (Responsive)

سازگاری با دستگاه‌های مختلف به توانایی سرویس یا پلتفرم ویدیو اشاره دارد که به کاربران اجازه می‌دهد تا فارغ از نوع و اندازه‌ی دستگاه بتوانند به بهترین شکل ممکن، از خدمات پلتفرم استریم ویدیو استفاده کنند. این ویژگی بسیار مهم است تا کاربران بتوانند محتواهای استریم را بر روی تلفن‌های همراه، رایانه‌ها، تلویزیون‌ها و … به‌آسانی مشاهده کنند.

  • ماشین زمان (Time Machine)

ماشین زمان به تعریف بازه‌ی زمانی در لایو استریم اشاره می‌کند که کاربر نهایی می‌تواند به آن اندازه، یک لایو استریم را به عقب برگرداند و آن را مشاهده کند.

مفاهیم زیرساختی

  • انکودینگ (Encoding)

به تبدیل یک فرمت فشرده‌نشده (Uncompressed) یا انکودنشده (Un-Encoded) به فرمتی فشرده‌شده (Compressed) و انکودشده (Encoded)  انکودینگ گفته می‌شود. برخی از تولیدکنندگان محتوای ویدیویی تبدیل آنالوگ به دیجیتال را هم با همین اصطلاح می‌شناسند.

Uncompressed,Un-Encoded Format => Compressed, Encoded Format

  • ترنسکدینگ (Transcoding)

به تبدیل یک فرمت فشرده‌شده (Compressed) و انکودشده (Encoded) به فرمتی فشرده‌شده (Compressed) و انکودشده (Encoded) ترنسکودینگ گفته می‌شود. در اصطلاح رایج به ترسنکودینگ تبدیل دیجیتال به دیجیتال هم می‌گویند.

Compressed,Encoded Format => Compressed, Encoded Format

پروسه‌ی Transcoding معمولن زمانی انجام می‌شود که یکی از موارد زیر صدق کند:

  • دستگاه (Device) مقصد، فرمت فعلی را پشتیبانی نکند.
  • دستگاه (Device) مقصد، فضای ذخیره‌سازی محدودی دارد و به فشرده‌سازی و کاهش حجم بیش‌تری نیاز است.
  • یک فرمت قدیمی که اکنون پشتیبانی خوبی در نرم‌افزارها و وسیله‌های امروزی ندارد به یک فرمت جدیدتر با پشیبانی بهتر تبدیل شود.

  • ماکسینگ (Muxing)

موتور (Engine) یا دستگاهی (Device) که یک‌سری Media Asset را با هم ترکیب می‌کند و در قالب یک کانتینر (Container) عرضه می‌کند. برای مثال ویدیو، صوت، زیرنویس را با یکدیگر ترکیب و در قالب کانتینر (Ex: MP4, AVI, MKV) عرضه می‌کند. وابسته به این‌که چه کانتینری برای خروجی انتخاب شده است، می‌توان چند صوت مختلف یا چند زیرنویس به زبان‌های مختلف را در خروجی قرار داد.

پروسه‌ی Demuxing دقیقن برعکس روال بالا کار می‌کند و یک Container را می‌گیرد و Assetهای مختلف درون آن را خروجی می‌دهد.

  • بیت ریت (Bitrate)

به تعداد بیت‌ها (Bits) در ثانیه بیت ریت گفته می‌شود. به‌طور کلی حجم و کیفیت ویدیو و صوت را مشخص می‌کند و هر چه بیش‌تر باشد، خروجی حجم بیش‌تر و کیفیت بالاتری دارد. (اگر یک ویدیو با رزولوشن یک‌سان را در نظر بگیریم)

File Size = bitrate (kilobits per second) x duration

  • ABR = Adaptive Bitrate Streaming

یک تکنولوژی بر پایه‌ی پروتکل HTTP است که در لحظه‌ پهنای باند مصرفی و ظرفیت CPU کاربر را می‌سنجد و بر اساس آن کیفیت ویدیو/صوت را تطبیق می‌دهد. البته نیازمند آن است که ویدیو/صوت در بیت‌ریت‌های مختلفی عرضه شود.

  • VBR = Variable Bitrate

در این روش یک بازه برای بیت‌ریت‌ها تعریف می‌شود و Encoder نسبت به نیاز ویدیو/صوت در هر ثانیه، بیت‌ریت را بین بازه‌ی مورد نظر انتخاب می‌کند و در طول ویدیو/صوت به‌شکل داینامیک تغییر می‌کند و بالاتر یا پایین‌تر می‌رود. این روش زمان بیش‌تری برای Encode شدن نسبت به CBR نیاز دارد، ولی خروجی بهتری ارایه می‌دهد و روش رایج‌تری است.

  • CBR = Constant Bitrate

در این روش Encoding، بیت‌ریت یا تعداد بیت‌ها در هر ثانیه از ویدیو/صوت ثابت باقی می‌ماند. در واقع بیت‌ریت تمامی ثانیه‌های ویدیو/صوت یکسان است. این روش زمانی استفاده می‌شود که قصد استریم کردن روی بستری با ظرفیت و حجم پایین داریم. در نتیجه بیش‌ترین (Maximum) ظرفیتی که دردسترس است را انتخاب می‌کنیم و به‌عنوان مقدار CBR در نظر می‌گیریم.

به‌طور کلی، این روش بیش‌تر در زمینه‌ی لایو استریم (پخش زنده) استفاده می‌شود.

  • CRF = Constant Rate Factor

در این روش تلاش می‌شود تا تمام فایل خروجی کیفیت مشخصی داشته باشد. به عبارت ساده‌تر، انکودر برای هر فریم خروجی، بیت‌ریتی که لازم است تا به کیفیت مشخص‌شده برسد را در نظر می‌گیرد؛ به همین دلیل، نمی‌توان حجم (Size) مشخصی برای خروجی تعیین کرد و این موضوع باعث می‌شود که استفاده از این روش برای لایو استریمینگ گزینه‌ی مناسبی نباشد.

بازه‌ی CRF برای انکودرهای H264 و H265 بین [0-51] است:

  • 0 = بدون افت کیفیت (Lossless Quality)
  • 23 = مقدار پیش‌فرض (Default)
  • 51 = بدترین کیفیت (Worst Quality)
  • پروتکل‌های استریمینگ (Streaming Protocol)

با استفاده از پروتکل‌های استریمینگ، فایل را به قسمت‌های کوچک‌تری (Chunk) تقسیم کرد و نمایش داد. در این حالت نیاز نیست که برای پخش شدن  ویدیو/صوت کل فایل در سمت کاربر دانلود شود؛ بلکه با دانلود شدنِ قسمت‌های ۲ تا ۱۰ ثانیه‌ای (Chunk) سمت کاربر امکان پخش استریم وجود دارد. در حال حاضر، رایج‌ترین پروتکل‌های استریمینگ HLS و DASH هستند.

  • تفاوت H264 و H265

H264 و H265 هر دو بخشی از تکنولوژی‌های فشرده‌سازی یا در واقع کدک (Codec) هستند و تفاوت اصلی آن‌ها در میزان فشرده‌سازی است. H265 تکنولوژی جدیدتری است و خروجی با کیفیت معادل H264 ( با بیت ریت و سایز خروجی تقریبن نصف) ارایه می‌دهد. در یک نگاه تفاوت H264 و H265 به شرح زیر است:

 H264 = MPEG-4 Part 10, Advanced Video Coding

H264 یک استاندارد فشرده‌سازی محبوب است و ویژگی‌های زیر را دارد:

  • فشرده‌سازی با کیفیت خوب
  • امکان پخش شدن روی بیش‌تر دستگاه‌ها
  • برخورداری از بیت‌ریت بالا

H265 = High Efficiency Video Coding

H265 به‌عنوان یک تکنولوژی نسل جدید فشرده‌سازی ویدیو مطرح شده و از ویژگی‌های زیر برخوردار است:

  • فشرده‌سازی با کیفیت بالاتر
  • مناسب برای رزولوشن‌های بالا مانند 2K و 4K

CDN در پلتفرم استریم ویدیو و صوت چه نقشی دارد؟

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

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