FFmpeg Aspect Ratio vs Scale Filter
This article explains the fundamental differences between using the
-aspect option and the scale filter in FFmpeg.
While both tools are used to control the visual proportions of a video,
they operate on entirely different levels. Understanding when to use
metadata manipulation versus physical pixel resizing will help you
choose the right method for your video processing workflow.
The
-aspect Option: Metadata Manipulation
The -aspect option changes the Display Aspect
Ratio (DAR) of a video by modifying the metadata in the
container or video stream header. It does not alter the actual pixels of
the video frames.
- How it works: It tells video players how to stretch
or shrink the video during playback. For example, if you have a 720x570
video (roughly 5:4) and apply
-aspect 16:9, the media player will stretch the video to a widescreen format on the fly. - Re-encoding: It does not require re-encoding. You
can combine it with
-c copyto change the aspect ratio almost instantaneously without losing video quality. - Drawback: Some video players and streaming platforms ignore container aspect ratio flags and will play the video in its original pixel dimensions.
Example Command:
ffmpeg -i input.mp4 -aspect 16:9 -c copy output.mp4The scale
Filter: Pixel Manipulation
The scale filter physically alters the video resolution
by changing the actual width and height of the video frames (the
Storage Aspect Ratio or SAR).
- How it works: It resamples the image data to create a new set of pixels. If you scale a 1920x1080 video down to 1280x720, FFmpeg recalculates the image to fit the new, smaller pixel grid.
- Re-encoding: It requires fully decoding the video, applying the filter, and re-encoding the video stream. This is a CPU-intensive process and can lead to generational quality loss depending on your encoder settings.
- Benefit: It is universally supported. Because the actual pixel dimensions are changed, every video player and website will display the video in the correct proportions.
Example Command:
ffmpeg -i input.mp4 -vf scale=1280:720 -c:v libx264 output.mp4Summary of Key Differences
| Feature | -aspect Option |
scale Filter |
|---|---|---|
| Primary Action | Changes playback metadata (DAR) | Changes physical resolution (SAR) |
| Re-encoding | Not required (can use
-c copy) |
Required |
| Processing Speed | Extremely fast (instantaneous) | Slower (dependent on CPU/GPU) |
| Quality Loss | None (lossless if stream copied) | Potential loss (depends on encoder) |
| Compatibility | May be ignored by some players | Universally compatible |
When to Use Which
Use -aspect when you have an anamorphic
video (like a DVD rip) that is playing back with the wrong proportions
and you want a quick, lossless fix without waiting for a full
re-encode.
Use the scale filter when you need to
resize a video for a specific device, reduce the file size, or prepare a
video for upload to web platforms (like YouTube or social media) that
rely strictly on physical pixel dimensions.