دستور ffmpeg برای تغییر رزولوشن
رزولوشن ویدیو تعداد پیکسلهای تصویر در هر بعد (طول و عرض) است. این مقدار به قابلیت های صفحه نمایش شما بستگی دارد. در گذشته، نسبت طول به عرض تلویزیون و مانیتورها ۴:۳ بود ولی اکنون اکثرا این نسبت ۱۶:۹ شده است.
در جدول زیر برخی از رزولوشنهای ویدیو که بیشترین استفاده را دارد آورده شده است.
Standard | Aspect ratio | Width (px) | Height (px) |
---|---|---|---|
QVGA | 4:3 | 320 | 240 |
CGA | 16:9 | 320 | 180 |
VGA | 4:3 | 640 | 480 |
WVGA | 16:9 | 640 | 360 |
SVGA | 4:3 | 800 | 600 |
XGA | 4:3 | 1024 | 768 |
HD | 16:9 | 1280 | 720 |
HD | ~16:9 | 1366 | 768 |
HD+ | 16:9 | 1600 | 900 |
FHD | 16:9 | 1920 | 1080 |
4K UHD | 16:9 | 3840 | 2160 |
طبیعتا هرچه رزولوشن ویدیو بیشتر باشد کیفیت آن بهتر خواهد بود و روی صفحات نمایش بزرگتر بهتر دیده خواهد شد. و اگر رزولوشن تصویر کم باشد تنها روی صفحات نمایش کوچک مثل موبایل قابل استفاده است.
از طرف دیگر هرچه رزولوشن کمتر باشد حجم فایل کوچکتر میشود و جابجایی و دانلود آن سریعتر میشود. ولی دانستن این نکته هم ضروری است که اگر رزولوشن و کیفیت ویدیو پایین باشد به هیچوجه با بالا بردن رزولوشن نمیتوان آن را بهتر کرد. پس کاهش رزولوشن برگشت پذیر نیست و اگر رزولوشن را کم کردید و کیفیت کاهش پیدا کرد دیگر نمیتوانید آن را افزایش دهید.
بنابراین باتوجه به نیازتان باید آن را تعیین کنید. اگر میخواهید آن را روی موبایل تماشا کنید از رزولوشن پایین مثل QVGA یا CGA استفاده کنید و اگر میخواهید آن را روی تلویزیون بزرگ تماشا کنید رزولوشن را روی HD یا FHD قرار دهید.
چگونه با FFmpeg رزولوشن ویدیو را تغییر دهیم:
هنگام تبدیل فرمت فایل میتوانید رزولوشن آن را هم تغییر دهید.
گزینه filter:v برای اجرای یک فیلتر روی ویدیو است و پارامتر scale اندازه تصویر را تعیین میکند.
ffmpeg -i input.avi -vf scale=320:180 output.mp4
در مثال بالا فایل input.avi هر رزولوشنی داشته باشد به فایل output.mp4 با رزولوشن 320×180 تبدیل میشود.
ممکن است طی این عمل نسبت طول به عرض تصویر تغییر کند و از اشکال از حالت طبیعی خارج شود. برای اینکه نسبت طول به عرض تغییر نکند بجای عرض تصویر 1- قرار دهید. در اینصورت ارتفاع را به نسبت عرض کوچک میکند.
ffmpeg -i input.avi -vf scale=320:-1 output.mp4
نکته: H.264 عدد فرد را به عنوان عرض یا طول نمیپذیرد. حتما از اعداد زوج استفاده کنید.
گزینه aspect برای تعیین نسبت طول به عرض برای نمایش ویدیو میباشد.
ممکن است شما رزولوشن را تغییر دهید ولی همچنان تصویر با نسبت قبلی نمایش داده شود. برای تغییر آن از مقادیر 4:3 یا 16:9 استفاده کنید.
ffmpeg -i input.avi -vf scale=320:180 -aspect 16:9 output.mp4