(نکته: میدونم چندتا مهندس نرم افزار اینجا داریم پس اگر غلطی دارم بگید).
انیمیتورها، موشن گرافیستها، تدوینگرها و رنگبندها هرروزه با انکودینگ ویدئو روبرواند و برای تازه کارهای این فیلد سوال پیش می آید که انکودینگ چیست؟
انکودینگ در علوم کامپیوتر دو معنی دارد: رمزگذاری، و map کردن. وقتی ما یک فایل ویدئو را انکود یا ری انکود میکنیم، داریم دیتا را مپ میکنیم.
سکوئنسهای باینری و هگزادسیمال (پایه 2 و پایه 16) که دستورات کامپیوتری را تشکل میدهند اکثر کانسپتهای یک نرم افزار را حالیشان نیست. وقتی با یک نرم افزار کار میکنید هزاران فایل دستورهای پشت سر هم (کانسکیوتیر) را پردازنده میفرستند و پرذازنده بر اساس کلاک و سایکل آنها را اجرا میکند. اینجاست که انکودینگ به کار می آید.
فرض کنید میخوایم کارت پاسور را به کامپیوتر بشناسانیم. کارت پاسور 4 دسته و 13 رده دارد. 10 تا ازین رده ها را میتوان با اعداد صحیح به کامپیوتر شناساند اما دسته ها را (خشت، دل، و...) و رده ها را (بی بی، سرباز، شاه، آس) را نمیتون شناساند. پس اینجاست که انکودینگ استفاده میکنیم. مثلا:
خشت -> 0؛ دل -> 1؛ و غیره.
حالا یک فریم ویدئو را در نظر بگیرید. فقط یک متغیر در دست نیست، هزاران متغیر در عملند. رنگ، محل پیکسل، اینترلیو فریم بعدی و قبلی، و هرچه که به فکرتان میرسد!
به روش انکود کردن کدک میگویند. برای ویدئو چند کدک داریم که اکثرشان Compressive هستد یعنی از الگوریتمهایی استفاده میکنند که حجم فایل پایین بیاید. اگر میخواید بدانید این الگوریتمها چطورند، برای مثال به الگوریتم Minify.js توجه کنید که حجم فایلهای جاوااسکریپت برای صفحات وب را پایین می اورد.
1- خطوط بین کد را بردار.
2- اسپیسهای بین کد را بردار.
3- کامنتها را بردار.
4- دیلیمیترها را بردار.
حالا کدکهای ویدئو هم از الگوریتمهای همانند مینیفای جی اس استفاده میکنن فقط قویتر.
سوال: از چه کدکی برای انکود کردن ویدئوهایم استفاده کنم؟
جواب سوال ساده ست. اگر از OS/X استفاده میکنید از ProRes و اگر از ویندوز استفاده میکنید از DNxHD استفاده کنید! هرگز از AVI استفاده نکنید چون کاملا قدیمی شده و بیت دپت بالاتر از 8 بیت را ساپورت نمیکند و کالر منیجمنتش برای فایلهای HD مناسب نیست. یکی از مشکلات بزرگ فایل AVI ایجاد "بندینگ" یا "رد ردی کردن رنگهای تیره" است. اگر میخواید بدانید بندینگ چیست، فوتوشاپ را باز کنید، و Web Color ها را مشاهده کنید. جالب نیست نه؟ اگر میخواید مثل تلوزیون ایران کیفیت کارتون در حد YouTube Poopـها نباشه AVI رو بذارید کنار (من به خاطر همین ماهواره خریدم!)
مشکل: حجم این فایلها برای آپلود در اینترنت زیاد است.
این کدکها برای آپلود مناسب نیستند. مخصوصا آپارات که هیچکدام را نمیشناسد. برای آپلود و انتقال فایل از H264 یا نسخه جدید کدک H265 استفاده کنید.
امیدوارم به دردتون خورده باشه.
منبع: How to Think Like a Computer Scientist - MIT Press