You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用FFmpeg调整视频尺寸且不拉伸/修改原视频?

如何使用FFmpeg调整视频尺寸且不拉伸/修改原视频?

嘿,别担心!视频编辑和那些专业术语确实容易让人头大,我来帮你搞定这个需求~

你想要把原视频(绿色的输入视频)转换成目标尺寸的输出视频(红色),同时完全不拉伸原视频内容,这个完全可以实现,用FFmpeg的滤镜就能轻松做到,我给你分两种常见场景说明:

场景1:保留完整原视频内容,添加边距适配目标尺寸(最常用)

这种方式会给原视频加上黑边(或者你自定义颜色的边),让整个画面刚好填满目标尺寸,原视频内容完全不变形。比如原视频是1920×1080(16:9),要转成1080×1080(1:1)的正方形视频,用这条命令:

ffmpeg -i input.mp4 -vf "pad=width=1080:height=1080:x=(1080-iw)/2:y=(1080-ih)/2:color=black" output.mp4

简单解释下参数:

  • widthheight:替换成你需要的输出视频尺寸
  • x=(目标宽-原宽)/2y=(目标高-原高)/2:让原视频在新尺寸里居中显示
  • color:可以换成你想要的边距颜色,比如white或者十六进制色值#FFFFFF

场景2:裁剪原视频内容,适配目标尺寸

如果不想加边距,而是想裁掉原视频的部分内容,让剩下的部分刚好填满目标尺寸(比如把宽屏视频裁成正方形),就用crop滤镜:

ffmpeg -i input.mp4 -vf "crop=1080:1080" output.mp4

默认是居中裁剪,要是你想自定义裁剪位置,比如从左上角x=100的位置开始裁,就改成:

ffmpeg -i input.mp4 -vf "crop=1080:1080:x=100:y=0" output.mp4

小技巧:先查看原视频尺寸

要是你不确定原视频的分辨率,可以先运行这条命令查看:

ffmpeg -i input.mp4

输出内容里会有类似Stream #0:0: Video: h264... 1920x1080的行,这就是原视频的尺寸。

备注:内容来源于stack exchange,提问作者Kujo Ludin

火山引擎 最新活动