====== ffmpeg - Video resize ======
-vf scale=width:height
----
===== Upscaling Video to 1080p =====
ffmpeg -i input.mp4 -vf scale=1920x1080:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_1080p.mp4
# Using GPU.
ffmpeg -vaapi_device /dev/dri/renderD128 -i "input.mkv" -vf 'hwupload,scale_vaapi=w=1920:h=1080:format=nv12' -map 0:v -metadata:s:v:0 language=eng -c:v hevc_vaapi -map 0:a -metadata:s:a:0 language=eng -map 0:s? -metadata:s:s:0 language=eng -rc_mode CQP -global_quality 25 -c:a copy -c:s copy -profile:v main -v verbose output_1080p.mkv
**NOTE:** Lanczos resampling involves a sinc filter as well.
* It is more computationally expensive but usually described as very high quality and can be used for up- and downsampling.
----
===== Upscaling Video to 4K =====
ffmpeg -i input.mp4 -vf scale=3840x2560:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_4k.mp4
----
===== Downscaling Video =====
ffmpeg -i input.mp4 -vf scale=640x480:flags=lanczos -c:v libx264 -preset slow -crf 21 output_compress_480p.mp4
----
===== References =====
https://write.corbpie.com/upscaling-and-downscaling-video-with-ffmpeg/
https://trac.ffmpeg.org/wiki/Scaling
https://write.corbpie.com/a-guide-to-upscaling-or-downscaling-video-with-ffmpeg/
https://superuser.com/questions/547296/resizing-videos-with-ffmpeg-avconv-to-fit-into-static-sized-player/1136305#1136305
https://en.wikipedia.org/wiki/Lanczos_resampling