به بخش هفتم سری مقالات آشنایی با دنیای کدک‌های صوتی و تصویری رسیدیم و در این قسمت می‌خواهیم با آپشن‌های متنوع x264 و مقدمات کانورت با x264 آشنا شویم. با ما همراه شوید.

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

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

دقت داشته باشید که برای x264 چند GUI (واسط گرافیکی کاربری) خوب مثل Hybrid و Staxrip وجود دارد. برخی نرم‌افزارهای دیگر مثل Mediacoder و XMedia Recode هم از هسته‌ی x264 برای تبدیل به H.264 بهره می‌گیرند. در تمام این نرم‌افزارها، آپشن‌های اصلی x264 پیش روی شماست اما تنها در برخی نرم‌افزارها می‌توانید به همه‌ی آپشن‌ها دسترسی داشته باشید. لذا بهتر است از GUI بروز و جدید استفاده کنید.

به یک نرم‌افزار عادت نکنید!

به شخصه از x264 Launcher، Fair Use Wizard، Ripbot 264، Auto x264، Handbrake و تا چندی پیش از Xvid4PSP و چندین ابزار دیگر استفاده کرده‌ام. معمولاً هیچ کدام از نرم‌افزارها همیشگی نیستند و به مرحله‌ای می‌رسند که دیر به دیر آپدیت می‌شوند. برخی هم امکانات کاملی ندارند. در حال حاضر Hybrid انتخاب من است اما آپشن‌هایی که توضیح می‌دهم، کلی هستند و به x264 مربوط می‌شوند نه به نرم‌افزاری که با آن کانورت می‌کنید.

حتی اگر با اینکدر دیگری که عضوی از گروه بزرگ H.264ها است، کار می‌کنید هم اصول کلی و آپشن‌های اصلی یکسان است و بد نیست با آنها آشنا شوید.

تنظیمات کلی تبدیل با x264

تمام تنظیماتی که در ادامه ذکر می‌کنم به صورت سوییچ‌ها و کامندهایی است که می‌توان در اغلب نرم‌افزارها استفاده کرد. مثلاً سوییچ زیر:

 –subme 5 –trellis 0 –profile high

سه آپشن subme و trellis و profile را در حالت‌های موردنظر تنظیم می‌کند.

preset: حالت پیش‌فرض Meidum

پریست مهم‌ترین آپشن x264 است و با انتخاب یک از پریست‌های Ultra Fast و Very Fast که سریع هستند و همین‌طور Veryslow و Placbo که کندترین موارد هستند، تنظیمات کلی و بهینه انتخاب می‌شود.

به عبارتی اگر بخواهید سریع و راحت از اینکدر x264 استفاده کنید، تنها مورد مهم، انتخاب پریست و حجم فایل نهایی است.

انتخاب پریست‌های کانورت با x264

انتخاب پریست‌های کانورت با x264

profile: حالت پیش‌فرض تنظیم نشده

پروفایل در کانورت کردن فایل برای پخش کردن توسط پلیرهای خاص کاربرد دارد. پروفایلی مثل High در اکثریت قریب به اتفاق پلیرها پخش می‌شود. Baseline و Main ساده‌تر هستند و پروفایلی مثل High 422 یا High 444 که کیفیت رنگ را بیشتر می‌کند، روی تمام دستگاه‌ها و پلیرها اجرا نمی‌شود.

 در خصوص کیفیت رنگ در فضای رنگ YUV با نمونه‌برداری YUV444 و YUV422 پیش‌تر بررسی مفصلی کرده‌ام:

اگر می‌دانید که پلیر شما کدام پروفایل‌ها را پشتیبانی می‌کند، بهترین پروفایل ممکن را گزینش کنید.

انتخاب پروفایل‌های کانورت با x264

انتخاب پروفایل‌های کانورت با x264

tune: حالت پیش‌فرض تنظیم نشده

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

بهینه‌سازی Grain همان‌طور که از نام آن پیداست، دانه‌های ریز موجود در ویدیو را بهتر حفظ می‌کند.

بهینه‌سازی Stillimage برای ویدیوهایی کاربرد دارد که شبیه اسلایدشو و پر از تصاویر نسبتاً ثابت هستند.

بهینه‌سازی PSNR برای حفظ جزئیات و بافت اجسام کاربرد دارد که تا حدی شبیه Film است. PSNR مخفف Peak Signal-to-Noise Ratio و به معنی بیشترین نسبت سیگنال به نویز است. هر چه تبدیل ویدیو دقیق‌تر باشد و نویز کمتری مشاهده شود، PSNR رقم بالاتری خواهد داشت. ممکن است لبه‌ی اجسام صاف نباشد اما از منظر PSNR کیفیت بالاتری داشته باشد چرا که در این حالت ساختار تصویر حفظ نشده و صرفاً به اختلاف ورودی و خروجی استناد شده است.

بهینه‌سازی SSIM وضوح لبه‌ی عناصر را مورد توجه قرار می‌دهد که تا حدی شبیه Animation است. SSIM مخفف Structural Similarity Image Metric و به معنی متریکی برای سنجش حفظ ساختار است. مرز اجسام چیزی است که در حفظ ساختار اهمیت زیادی دارد و به همین علت در انیمه‌ها می‌توان از SSIM استفاده کرد.

مقایسه کردن دو متریک سنجش کیفیت ویدیو یعنی PSNR و SSIM بسیار مشکل است. ویدیویی خوب است که هر دو فاکتور را حفظ کند. در تصاویز زیر تصویری که نویز زیاد و اضافه‌ای دارد، و همین‌طور تصویری که مات است، از نگاه SSIM و PSNR جالب نیستند. تصویر آخر که صرفاً لبه‌های واضحی دارد، بهترین گزینه است:

SSIM و PSNR دو متریک سنجش کیفیت ویدیو.

SSIM و PSNR دو متریک سنجش کیفیت ویدیو.

یکی از آپشن‌های x264 که در ارزیابی کیفیت خروجی و بررسی گزینه‌های مختلف، مفید واقع می‌شود، آپشن محاسبه‌ی دو متریک PSNR و SSIM است. SSIM بالایی 0.9 یا 90 درصد و PSNR بالاتر از 41 دسی‌بل ارقامی مطلوب هستند.

فعال کردن محاسبه‌ی PSNR و SSIM

فعال کردن محاسبه‌ی PSNR و SSIM

نتیجه‌ی محاسبه را می‌توانید در تب آخر هایبرید یعنی Log و همین‌طور در بخش پایین صفحه بررسی کنید.

بهینه‌سازی Fast Decode برای ساده کردن پخش ویدیو و در واقع سبک کردن اجرای ویدیو کاربرد دارد.

بهینه‌سازی Zerolatency برای کاهش تأخیر در پخش ویدیو کاربرد دارد. مثلاً در سرویس‌های استریم آنلاین ویدیو.

انتخاب نوع بهینه‌سازی کانورت با x264

انتخاب نوع بهینه‌سازی کانورت با x264

no-cabac: حالت پیش‌فرض غیرفعال

با اضافه کردن این دستور، تبدیل ویدیو بدون فشرده‌سازی CABAC صورت می‌گیرد. CAVAC از نظر فشرده‌سازی بین 10 تا 20 درصد ضعیف‌تر است و دیکد کردن آن هم بار پردازشی کمتری دارد. این ویژگی در Hybrid به Entropy coding که در تصویر قبلی زیر آپشن Tune بود، ترجمه شده است.

Slow-firstpass: حالت پیش‌فرض مسیر اول تبدیل سریع است

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

 اما واقعاً در حالت مسیر اول به صورت سریع چه اتفاقی می‌افتد؟

در حالت سریع تعداد ریفرنس فریم‌ها 1 عدد است، جست‌وجو برای حرکت در ساده‌ترین حالت یعنی Dia است و خلاصه آپشن‌هایی که سرعت کار را بالا می‌برند، در حالت بهینه تنظیم می‌شوند.

اگر نیازی به سرعت بالا ندارید و می‌خواهید کیفیت ویدیوی خروجی در بالاترین حد ممکن باشد، از Slow-firstpass که احتمالاً به صورت یک چک‌باکس است، استفاده کنید.

مسیر اول کانورت به صورت سریع

مسیر اول کانورت به صورت سریع