Creative

Upscaling and downscaling video with FFmpeg

Making a video smaller (downscaling) or bigger (upscaling) with FFmpeg is actually very easy. Here are some FFmpeg commands to help you out:

Upscale with FFmpeg

To change a video file to be 1080p in FFmpeg:

ffmpeg -i input.mp4 -vf scale=1920x1080:flags=lanczos output_1080p.mp4

This uses FFmpeg scaling with Lanczos resampling. For an excellent source on resampling methods go here.

The 3 main types are:

  • Bilinear
  • Bicubic
  • Lanczos

whilst Lanczos in most cases wont be the sharpest it combines sharpness with smooth to make the footage look better overall, Avoiding blocky footage.

To upscale a video to 1080p whilst encoding it:

ffmpeg -i input.mp4 -vf scale=1920x1080:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_1080p.mp4

To upscale to 4k video:

ffmpeg -i input.mp4 -vf scale=3840x2560:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_4k.mp4

Downscale with FFmpeg

To downscale video all you need to know is popular dimensions. Given you have a source video of 1280 x 720; 640 x 480, 480 x 360 and 426 x240.

ffmpeg -i input.mp4 -vf scale=640x480:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_480p.mp4

All you need to do is change the scale= to the dimension you want, then change the output to indicate the video dimensions.

The end result is going to depend on your source footage. A high bitrate 720p video can look good at 1080p and maybe work at 4k. A low quality 480p will struggle to make it at 1080p.

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

1 year ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

1 year ago

FTP getting array of file details such as size using PHP

Using FTP and PHP to get an array of file details such as size and…

2 years ago

Creating Laravel form requests

Creating and using Laravel form requests to create cleaner code, separation and reusability for your…

2 years ago

Improving the default Laravel login and register views

Improving the default Laravel login and register views in such a simple manner but making…

2 years ago

Laravel validation for checking if value exists in the database

Laravel validation for checking if a field value exists in the database. The validation rule…

2 years ago