我有原始视频尺寸为1024x576,现在我想将视频尺寸调整为720x480,以满足要求。

我该怎么办?

#1 楼

最基本的示例是:

ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv


使用scale过滤器将提供更大的灵活性:

ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv


-1会告诉ffmpeg自动根据提供的宽度选择正确的高度,以保持宽高比。如果您提供给定的高度,则-1也可用于宽度。错误:libx264。您可以告诉比例尺为给定的高度(在此示例中为720)选择一个偶数值: :

scale="trunc(oh*a/2)*2:720"


请注意,您的ffmpeg版本可能会抱怨无法识别width or height not divisible by 2-c选项。它还可能不支持-filter。在这种情况下,您应该使用较新的ffmpeg,您可以将其下载为静态版本,也可以自己编译。

评论


我尝试了ffmpeg -i output.mkv -filter:v scale = 720:-1 -acodec copy -threads 12 output_shrink.mkv(在ffmpeg版本0.8.6-6:0.8.6-0ubuntu0.12.10.1中)但得到了错误无法识别的选项'filter:v'

– Doug65536
13年4月26日在15:41

多次浏览ffmpeg的手册页后,我发现该选项似乎已更改为-vf,而不是-filter:v。

– Doug65536
13年4月26日在15:51

@ doug65536 -filter:v和-vf都很好。您所使用的Ubuntu版本已损坏且已过时-并不是FFmpeg的ffmpeg,而是Libav(FFmpeg分支)以相同名称提供的二进制文件。

–slhck
13年7月26日在6:41

“ -c”是-codec的缩写,“:a”指定音频流,“ copy”指定复制编解码器,它将复制该流(在这种情况下为音频)而无需重新编码。基本上,音频流将通过。仅在处理视频流时,这很常见。

– Jimhark
16-2-5在23:27

您可以使用scale = 720:-2告诉比例提供均匀的值

–巴拉夫·白化(Barafu Albino)
18年5月30日在17:38

#2 楼

我使用以下命令对视频和图像进行重新缩放。对于固定的宽度和高度-

ffmpeg -i input.avi -vf scale="720:480" output.avi


,如果要保留宽高比,则将高度设为-1,它将根据宽度自动调整大小-

ffmpeg -i input.avi -vf scale="720:-1" output.avi


如果要基于输入大小进行缩放,例如。可以说减少一半的宽度/高度-

ffmpeg -i input.avi -vf scale="iw/1:ih/2" output.avi


注:

iw : input width
ih : input height


静态可以从-https://johnvansickle.com/ffmpeg/

文档下载:https://ffmpeg.org/ffmpeg.html#filter_005foption

评论


不工作卡在handler_name:声音句柄

– Rushi M Thakker
19年8月29日在5:17

使用此命令,我的视频质量很差。如果我创建output.mp4而不是avi会更好。因此扩展很重要。

–sekrett
19-10-4在20:12