تغییر رزولوشن ویدیو با FFmpeg

رزولوشن ویدیو تعداد پیکسل‌های تصویر در هر بعد (طول و عرض) است. این مقدار به قابلیت های صفحه نمایش شما بستگی دارد. سابق نسبت طول به عرض تلویزیون و مانیتورها ۴:۳ بود ولی اکنون اکثرا این نسبت ۱۶:۹ شده است.

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

Standard Aspect ratio Width (px) Height (px)
‌QVGA ۴:۳ ۳۲۰ ۲۴۰
CGA ۱۶:۹ ۳۲۰ ۱۸۰
VGA ۴:۳ ۶۴۰ ۴۸۰
WVGA ۱۶:۹ ۶۴۰ ۳۶۰
SVGA ۴:۳ ۸۰۰ ۶۰۰
XGA ۴:۳ ۱۰۲۴ ۷۶۸
HD ۱۶:۹ ۱۲۸۰ ۷۲۰
HD ~۱۶:۹ ۱۳۶۶ ۷۶۸
HD+ ۱۶:۹ ۱۶۰۰ ۹۰۰
FHD ۱۶:۹ ۱۹۲۰ ۱۰۸۰
۴K UHD ۱۶:۹ ۳۸۴۰ ۲۱۶۰

طبیعتا هرچه رزولوشن ویدیو بیشتر باشد کیفیت آن بهتر خواهد بود و روی صفحات نمایش بزرگتر بهتر دیده خواهد شد. و اگر رزولوشن تصویر کم باشد تنها روی صفحات نمایش کوچک مثل موبایل قابل استفاده است.

از طرف دیگر هرچه رزولوشن کمتر باشد حجم فایل کوچکتر می‌شود و جابجایی و دانلود آن سریعتر می‌شود. ولی دانستن این نکته هم ضروری است که اگر رزولوشن و کیفیت ویدیو پایین باشد به هیچوجه با بالا بردن رزولوشن نمی‌توان آن را بهتر کرد. پس کاهش رزولوشن برگشت پذیر نیست و اگر رزولوشن را کم کردید و کیفیت کاهش پیدا کرد دیگر نمی‌توانید آن را افزایش دهید.

بنابراین باتوجه به نیازتان باید آن را تعیین کنید. اگر می‌خواهید آن را روی موبایل تماشا کنید از رزولوشن پایین مثل QVGA یا CGA استفاده کنید و اگر می‌خواهید آن را روی تلویزیون بزرگ تماشا کنید رزولوشن را روی HD یا FHD قرار دهید.

چگونه با FFmpeg رزولوشن ویدیو را تغییر دهیم:

هنگام تبدیل فرمت فایل می‌توانید رزولوشن آن را هم تغییر دهید.

آپشن filter:v برای اجرای یک فیلتر روی ویدیو است و  پارامتر scale اندازه تصویر را تعیین می‌کند.

ffmpeg -i input.avi -filter:v scale=320:180 output.mp4

در مثال بالا فایل input.avi هر رزولوشنی داشته باشد به فایل output.mp4 با رزولوشن ۳۲۰×۱۸۰ تبدیل می‌شود.

ممکن است طی این عمل نسبت طول به عرض تصویر تغییر کند و از اشکال از حالت طبیعی خارج شود. برای اینکه نسبت طول به عرض تغییر نکند بجای عرض تصویر ۱- قرار دهید. در اینصورت ارتفاع را به نسبت عرض کوچک می‌کند.

ffmpeg -i input.avi -filter:v scale=320:-1 output.mp4

نکته: H.264 عدد فرد را به عنوان عرض یا طول نمی‌پذیرد. حتما از اعداد زوج استفاده کنید.

آپشن aspect برای تعیین نسبت طول به عرض برای نمایش ویدیو می‌باشد.

ممکن است شما رزولوشن را تغییر دهید ولی همچنان تصویر با نسبت قبلی نمایش داده شود. برای تغییر آن از مقادیر ۴:۳ یا ۱۶:۹ استفاده کنید.

ffmpeg -i input.avi -filter:v scale=320:180 -aspect 16:9 output.mp4

پاسخ دهید