Scale any video to 1080p (1920×1080) with the scale filter

The most common video rescale. The scale filter resizes the frame to the given width and height. 1920:1080 is full HD, the most common delivery target for web, mobile, and broadcast. Pair with a codec and a CRF and you have a delivery-ready encode.

The command

ffmpeg -i input.mp4 -vf scale=1920:1080 -c:a copy output.mp4

What it does

The scale filter decodes each frame, resizes it to 1920×1080, and re-encodes. The default scaler is bicubic, which is a good default. -c:a copy skips re-encoding audio, which is usually unnecessary when rescaling video.

When to use it

When the source is smaller than 1080p and the target is 1080p. For sources larger than 1080p, scale down only if you have a reason; the source is usually higher quality than the rescale. For sources that are already 1080p, the scale filter is a no-op but adds CPU cost; skip it.

Video and audio requirements

Any decodable video. The output frame is exactly 1920×1080; if the source’s aspect ratio does not match 16:9, the rescale will stretch or squish unless you combine it with scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080. For a 4:3 source, use 1440:1080 to keep the aspect.

Things to avoid

  • Upscaling low-resolution sources. A 480p source scaled to 1080p does not look like 1080p; it looks like a stretched 480p. The bitrate cost is real, the quality gain is not.
  • Forgetting audio. The default re-encodes audio; add -c:a copy if the source audio is fine and you just want to resize video.
  • Using the wrong aspect handling. Stretching a 4:3 source to 16:9 makes people look fat. Combine scale with pad to preserve aspect.
  • Setting the wrong CRF. The default is 23 for H.264, which is fine for most delivery, but if you scaled up from a low-quality source, use a higher CRF to avoid re-amplifying artifacts.

Read more here: Source link