مفاهیم تبدیل و استریم ویدیو و صوت - وبلاگ ابر آروان

ابر آروان

زیرساخت یکپارچه ابری

۴ آذر ۱۳۹۸

مفاهیم تبدیل و استریم ویدیو و صوت

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

 

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

  • رزولوشن Resolution

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

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

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

  • واترمارک 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
  • ماشین زمان 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

این روش مشخص می‌کند که Encoder تلاش کند تمام فایل خروجی کیفیت مشخصی داشته باشد.
انکودر برای هر فریم خروجی، بیت‌ریتی که لازم است تا به کیفیت مشخص شده برسد را در نظر می‌گیرد به همین دلیل نمی‌شود حجم (Size) مشخصی برای خروجی تعیین کرد و این موضوع باعث می‌شود که استفاده از این روش برای لایو استریمینگ گزینه‌ی مناسبی نباشد.
بازه‌ی CRF برای انکودرهای H264 و H265 بین [0-51] است:

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

 

  • پروتکل‌های استریمینگ (Streaming Protocol)

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

 

  • تفاوت H264 و H265

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

    • H264 = MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC)
    • H265 = High Efficiency Video Coding (HEVC)
× برای اطلاع از آخرین اخبار و مقالات آروان عضو خبرنامه ما شوید