انکودینگ ویدیو (Video Encoding) چیست ؟ انواع، کاربرد و اهمیت آن
انکودینگ (Encoding) به فرآیندی گفته میشود که در آن دادههای مختلف از طرف فرستنده به فرمتی تبدیل میشود که توسط گیرنده قابل خواندن و سازگار باشد. مهمترین کارهایی که در این پروسه انجام میشوند، فشردهسازی حجم و تغییر فرمت فایل ویدیویی میباشد.با توسعه و گسترش صنعت تولید محتوای ویدیویی، تکنولوژی انکودینگ ویدیو نیز از اهمیت زیادی برخوردار شده و پیشرفت قابل توجهی کردهاست. به طوری که امروزه بسیاری از پلتفرمهای پخش و استریم ویدیو، تولیدکنندگان محتوا، شبکههای تلویزیونی و شبکههای اجتماعی به این فناوری وابسته هستند.
فرآیند انکودینگ برای انواع دادهها مانند فایلهای صوتی، عکس، متن و ویدیو استفاده میشود ولی تمرکز این مقاله روی انکودینگ فایلهای ویدیویی میباشد. در این مقاله از نگاوید به زبان ساده فرآیند انکودینگ ویدیو را توضیح دهیم، هر آنچه راجع به این مفهوم باید بدانید در این مقاله قرار دارد.
اهمیت و کاربردهای انکودینگ
یک فایل ویدیویی خام را در نظر بگیرید که به اصطلاح به آن RAW گفته میشود. فایلهای با پسوند RAW که با نرمافزارهای خاص قابل خواندن هستند، فشردهسازی نشده و هیچ ادیت صوتی و تصویری روی آنها انجام نشده است؛ دقیقاً همان جزئیات و تصاویری را نمایش میدهد که توسط سنسورهای دوربین ضبط شده اند. این فایلها معمولاً دارای ویژگیهای زیر هستند که در فرآیند ادیت و تولید محتوا، اصلاح و بهبود میابند:
- دارای حجم زیاد و کیفیت بالا
- رنگهای اصلاح نشده و مرده و صداهای ناواضح و کم کیفیت
فرمت ناسازگار با بسیاری از دستگاهها و پلتفرمها
به زبان ساده یک فایل ویدیویی از تعداد زیادی فریم تشکیل شده و هر فریم در واقع یک عکس میباشد. وقتی این فریم یا عکسها کنار یکدیگر قرار میگیرند و با سرعت بالا پخش میشوند، یک ویدیو ساخته میشود. در فایل ویدیویی خام که انکود نشده است، هر کدام از این عکسها و جزئیات آنها، بسته به کیفیت ضبط ویدیو، حجم بالایی دارند. برای ذخیره کردن، اشتراکگذاری و پخش این ویدیوهای خام، حافظه ذخیرهسازی بالا و پهنای باند زیادی نیاز است. از طرفی فرمت فایلهای خام ویدیویی (RAW) به گونه ایست که در همه دستگاهها و پلتفرمها به سادگی قابل خواندن و پخش نیست و برای اینکار نیاز به نرمافزارهای خاصی دارد.
فرآیند انکودینگ ویدیوها از این جهت اهمیت دارد که فایلهای خام ویدیویی را به حجمها و فرمتهای استاندارد تبدیل میکند تا بتواند در پلتفرمهای ویدیویی آنلاین، شبکههای اجتماعی و دستگاههای دیجیتال پخش شوند.
حالا که متوجه شدید فایل خام ویدیویی چیست و چرا نیاز به ادیت صدا و تصویر و حجم دارد، باید بگوییم که فرآیند انکودینگ ویدیو، این اصلاحات تخصصی را انجام میدهد، یعنی:
- حجم ویدیو را بدون کاهش کیفیت فشرده میکند.
پارامترهایی مانند رزولوشن، بیت ریت، فریم ریت، نور و کنتراست، ابعاد، کیفیت صدا و… را تغییر میدهد.
فرمت فایل ویدیویی را به فرمتهای رایج و قابل پخش تبدیل میکند.
نکته مهم: ادیت و ویرایش ویدیو با انکودینگ تفاوت دارد. اگرچه در فرآیند انکودینگ میتوان بخشهای مختلف ویدیو را تنظیم و ویرایش کرد. ادیت ویدیو اقداماتی است که بیشتر به منظور افزایش جذابیتهای صوتی و بصری انجام میشوند و انکودینگ ویدیو به فرآیند تبدیل ویدیو به فرمتهای قابل خواندن و ذخیره سازی گفته میشود.
در بخش بعد این فرآیند را بیشتر توضیح داده و چگونگی انجام آن را بررسی میکنیم.
فرآیند انکودینگ و دیکودینگ ویدیو
فرآیند انکودینگ دادهها و در این مورد بخصوص، فایلهای ویدیویی، میتواند به صورت دستی یا خودکار انجام شود که در هر دو صورت نیاز به کدکها و نرمافزارهای خاصی میباشد و در ادامه به آنها خواهیم پرداخت.
در حالت اتوماتیک، بسیاری از دوربینهای عکاسی و فیلمبرداری که عموم مردم میتوانند استفاده کنند، کار انکودینگ ویدیوها و عکسهای گرفته شده را بصورت خودکار و بلافاصله پس از ثبت آنها، انجام میدهند. علاوه بر دوربینهای دیجیتال، دوربینهای موبایل نیز این کار را در لحظه انجام میدهند. یعنی همزمان با ضبط ویدیوها، آنها را فشرده سازی کرده و با فرمت قابل اشتراک گذاری ذخیره میکنند.
از طرف دیگر برخی از پروژههای حرفهای که نیاز به بهترین کیفیت و اجرا دارند (مانند فیلمهای سینمایی) تصاویر و ویدیوها را به صورت خام و با جزئیات بالا ثبت میکنند که در این حالت نیاز است این ویدیوها بصورت دستی و با برنامههای خاص، ویرایش و انکود شوند تا در شبکههای مختلف و آنلاین قابل نمایش باشند.
اما چگونه اینکار انجام میشود؟ اول باید ملزومات این کار را آماده کنید:
بررسی انواع کدک ها
در اولین قدم باید بفهمیم کدک چیست و چه کار میکند؟ کدک ها مهم ترین اجزای فرآیند انکودینک و پخش مجدد ویدیو هستند به این صورت که هم فرآیند انکودینگ (فشرده سازی و سازگار کردن) و هم فرآیند دیکودینگ (تجزیه و تحلیل و بازسازی) را انجام میدهند.
کدک Codec)) میتواند یک نرمافزار یا یک سخت افزار باشد که با استفاده از الگوریتمهای گوناگون، دادهها را انکود یا دیکود میکند. یعنی در زمان انکودینگ فایل ویدیویی خام را فشرده سازی و بهینه میکند و در زمان پخش ویدیو، برای اینکه کاربر بتواند آنرا تماشا کند، دوباره از فشردگی درآورده و دوباره به حالت اولیه باز میگرداند. در زمان انکودینگ، دو نوع کدک اصلی وجود دارد که ویدیو را به دو صورت فشرده سازی میکنند:
با اتلاف (Lossy): این کدکها قسمتی از اطلاعات تکراری و غیرمهم را حذف کرده و حجم فایل ویدویی را کاهش میدهد. در این حالت ممکن است کمی افت کیفیت رخ دهد. مثالهای زیر شناختهشدهترین کدکهای اتلاف کننده هستند:
- HEVC برای فایلهای ویدویی
AV1 برای فایلهای ویدویی
264 برای فایلهای ویدویی
MP3 برای فایلهای صوتی
بدون اتلاف (Lossless): این کدکها ویدیوها را به همان صورت اولیه، بدون افت کیفیت و بدون حذف اطلاعات فشرده میکنند. در این حالت ویدیو هنوز حجم بالایی دارد.
- FFV1 برای فایلهای ویدویی
HuffYUV برای فایلهایی ویدویی
MKV برای فایلهایی ویدویی
FLAC برای فایلهای صوتی
ابزارها + مراحل انکودینگ ویدیو
انکود کردن فایلهای ویدیویی از دو طریق قابل انجام است: با استفاده از نرمافزارهای کامپیوتری و سختافزارها. استفاده از انواع این ابزارها عموماً بستگی به نوع پروژه دارند. اما به طور کلی میتوان از روشهای زیر برای انکود ویدیوها استفاده کرد:
انکودینگ ویدیو با استفاده از نرم افزار
1. نرم افزار مناسب را انتخاب کنید:
- برای انکودینگ ویدیوهای لایو استریم میتوانید از OBS Studio یا vMix
برای انکودینگ، فشردهسازی و تبدیل فرمت میتوانید از Movavi Video Converte یا HandBrake
برای انکودینگ و ادیت حرفهای میتوانید از FFmpeg یا Adobe Media Encoder
2. بسته به نیازهای متنوع میتوانید از نرمافزارهای دیگری نیز استفاده کنید.
- بعد از وارد کردن فایل ویدیویی، فرمت مناسب را انتخاب کنید:
اگر قصد دارید ویدیوی خود را در پلتفرمهای آنلاین به اشتراک بگذارید، WebM یا MPEG-DASH
اگر میخواهید ویدیو مورد نظر بیشترین کیفیت را داشته باشد، AVI یا MOV
اگر میخواهید ویدیو کمترین حجم را داشته باشد، AVC یا HEVC
اگر میخواهید ویدیو شما در اکثر دستگاهها قابل پخش باشد، MP4 یا MKV - بسته به نیازهای متنوع میتوانید فرمتهای دیگری نیز انتخاب کنید.
3. تنظیمات بیشتر را روی پارامترهای مختلف ویدیو و صدا انجام دهید:
- این موارد شامل بیت ریت، فریم ریت، وضوح تصویر، نوع فشرده سازی و… میباشد که توضیح هرکدام از آنها در این مقاله نمیگنجد.
اغلب نرمافزارها بسته به نوع پروژه انتخابی شما، تنظیمات پیشفرض دارند که میتوانید از آن استفاده کنید.
4. بعد از شروع انکودینگ، میتوانید فایل نهایی را ذخیره یا منتشر کنید.
انکودینگ ویدیو با استفاده از سخت افزار
بسته به نوع پروژه، سخت افزار مورد نیاز را انتخاب کنید:
- برای لایو استریم از Epiphan Pearl-2 یا LiveU Solo
برای broadcasting از Blackmagic Design ATEM Mini Pro یا AJA HELO Plus
از دستگاههای کوچک و قابل حمل VidiU Go یا Videon EdgeCaster EZ Encoder
و بسته به نیازهای متنوع میتوانید دستگاههای دیگری نیز انتخاب کنید.
- از طریق کابلهای مرتبط، دستگاه را به دوربین خود وصل کنید.
مانند قبل، تنظیمات پیشرفته را برای موارد مختلف صوتی و تصویری اعمال کنید.
بعد از اتمام انکودینگ میتوانید فایل نهایی را روی سیستم خود ذخیره یا منتشر کنید.
نتیجه گیری
انکودینگ داده ها فرآیند مهمی است که برای ذخیره، اشتراکگذاری و نمایش آنها در دستگاهها و پلتفرمهای مختلف استفاده میشود. در این مقاله به تعریف و اهمیت این فناوری پرداختیم و شاخه انکودینگ ویدیویی را مورد بررسی قرار دادیم. همانطور که گفتیم، اگرچه اکثر دوربینها در لحظه ویدیوها را انکود میکنند، با این حال این فرآیند به طور دستی و با استفاده از نرمافزارها و سختافزارهای مختلف نیز قابل انجام است. فراموش نکنید که برای هرگونه استفاده از دادههای صوتی، متنی تصویری و مخصوصاً ویدیویی، ابتدا باید آنها را با استفاده از فرآیند انکودینگ، بهینهسازی و سازگار کنید.