背景
scale是一个视频滤镜(filter),用于对视频进行缩放。scale参数的格式为scale=w:h,其中w表示缩放后的视频宽度,h表示缩放后的视频高度。
scale 参数有以下三种常用的用法:
-
固定宽度或高度,等比例缩放:
scale=-1:720:将视频的宽度等比例缩放,使得高度为 720 像素。scale=1280:-1:将视频的高度等比例缩放,使得宽度为 1280 像素。
-
指定宽度和高度,非等比例缩放:
scale=640:480:将视频缩放为宽度为 640 像素,高度为 480 像素的大小。
-
指定宽度和高度,等比例缩放并填充黑边:
scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2:- 将视频缩放为宽度为 1280 像素,高度为 720 像素的大小,并在视频周围填充黑边。这种方式可以保持视频的宽高比不变。
🌰例子
1.将视频宽度等比例缩放为 640 像素:
ffmpeg -i input.mp4 -vf scale=640:-1 output.mp4
2.将视频高度等比例缩放为 480 像素:
ffmpeg -i input.mp4 -vf scale=-1:480 output.mp4
- 将视频缩放为宽度为 1280 像素,高度为 720 像素的大小,同时在视频周围填充黑边:
ffmpeg -i input.mp4 -vf "scale=1280:720:force_original_aspect_ratio=decrease,
pad=1280:720:(ow-iw)/2:(oh-ih)/2" output.mp4
NOTE:在使用 scale 命令时,如果指定的宽度和高度比例与原始视频的宽高比例不同,那么视频的形状可能会发生变化。- 为了避免这种情况,可以使用
force_original_aspect_ratio=decrease参数,让 FFmpeg 在缩放视频时保持原始宽高比例。 - 同时,为了让视频在缩放后仍然填满整个画面,可以使用
pad参数,在视频周围填充黑边。
- 为了避免这种情况,可以使用
- 将视频缩放为宽度为 640 像素,高度为 480 像素的大小,同时在视频周围填充黑边:
ffmpeg -i input.mp4 -vf "scale=w=640:h=480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" output.mp4
其他用于对视频进行缩放和裁剪的命令
cropzoompan
命令温故
- ffmpeg -y -c:v libx264 -c:a aac -vf scale= -1:1080
*-
ffmpeg:FFmpeg 工具的命令名。
-y:覆盖输出文件而不询问。-c:v libx264:使用 libx264 编码器对视频进行编码。-c:a aac:使用 AAC 编码器对音频进行编码。-vf scale=:使用视频滤镜对视频进行缩放。12:缩放后的视频宽度,高度为1080。