چگونه در لینوکس یک تصویر متحرک درست کنیم؟ (قسمت دوم)

خب، توی قسمت اول توضیح دادیم که چه شکلی با ابزارهای مختلفی مثل ImageMagick، ffmpeg و GIMP میشه تصویر متحرک با فرمت gif درست کرد.

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

گیف قبلی که ۲ ثانیه و ۲۵ صدم ثانیه بود و تقریبا ۵۰ فرم شده بود، در بهترین حالت با کم‌ترین حجم نزدیک به ۱.۵ مگابایت شده بود. این عدد هرچند زیاد نیست ولی خب بهتر از این هم میشه.

اینجاست که می‌خوایم از فرمت webm به جای gif استفاده کنیم. سرعت بیشتر، محاسبه‌ی کمتر و از همه مهم‌تر، حجم بسیار کمتر از مزیت‌های این فرمت نسبت به gif هست. اما این که چرا هنوز همه از webm استفاده نمی‌کنن به خاطر پشتیبانی نشدنش توی مرورگرهای قدیمی و IE هست.

خب من اینجا خروجی gif قبلیم رو سعی می‌کنم به webm تبدیل کنم تا تفاوت رو ببینین، باز هم از ابزار ffmpeg استفاده می‌کنیم:

ffmpeg -i in.gif out.webm

که out.gif ورودی هست و نتیجه توی out.webm ذخیره میشه.  ۱.۵ مگابایت حجم تبدیل شد به ۸۰ کیلوبایت، بیش از ۱۸ برابر کاهش حجم. البته کیفیت عالی نیست.

حالا با چند تا آپشن این خروجی رو بهتر می‌کنیم.

ffmpeg -i in.gif -b:v 600K -qmin 0 -qmax 50 -crf 5 out.webm

-b:v با این آپشن bitrate تصویرمون رو تعیین می‌کنیم.  600K به نظر کیفیت قابل قبولی رو برای ما برمی‌گردونه.

-qmin و -qmax هم بازه‌ی VBR رو تعیین میکنن. که من ایده‌ی خاصی ندارم چیه راستش!

-crf که Constant Rate Factor هست و معمولا بین بازه ۰ تا ۵۰ ست و هر چی کمتر باشه کیفیت بیشتره.

خروجی ۲۰۰ کیلوبایت شد که باز هم خیلی از ۱.۵ مگابایت بهتره، ffmpeg یه ابزار خیلی قدرتمنده که چندین صفحه man داره. مطمئنن بهتر از این هم میشه خروجی گرفت:

همچنین قسمت اول این پست رو در «چگونه در لینوکس یک تصویر متحرک درست کنیم؟» بخونید.