我有原始视频尺寸为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,您可以将其下载为静态版本,也可以自己编译。#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
评论
我尝试了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