【问题标题】:How to crop and scale correctly with FFMPEG?如何使用 FFMPEG 正确裁剪和缩放?
【发布时间】:2019-03-11 10:31:48
【问题描述】:

我正在尝试删除视频的顶部和底部黑条。

视频中的图片样本

我想要实现的目标

视频本身是 1280x720 16:9,但图像信息部分为 4:3,因为它是从 VHS 捕获的。我想以某种方式拉伸它,直到顶部条消失而不使图像变形。我不关心左右栏。

我尝试使用cropscale,但没有成功。

通过使用此代码,当在 普通屏幕 上时,顶部和底部的黑条在 VLC 上消失了,但是当进入全屏时,黑条又出现了。

ffmpeg -i test.avi -filter:v "crop=1280:670" output_video.mp4

我认为这与视频的比例有关,但老实说,我尝试使用的每个 scale 代码都会使图像变形很多。

我希望有人可以帮助我,对 FFMPEG 还很陌生,但到目前为止真的很享受。

【问题讨论】:

  • 播放器会在全屏模式下添加信箱以适应您的屏幕。

标签: ffmpeg scale crop


【解决方案1】:

我得到了你的图片,将其调整为 720p,制作了一个 30 秒的视频进行测试。

在我的示例中,我还裁剪了边缘(左/右),因为正如 @LordNeckbeard 所提到的,当它们到达屏幕的一侧时,它们可能会阻止视频的顶部/底部到达屏幕将再次看起来像顶部/底部的黑条,无论它们是否存在。

这对我有用:

ffmpeg -y -hide_banner -i "test.avi" -filter:v "crop=iw-400:ih-40,scale=960:720" -pix_fmt yuv420p output_video.mp4

快速解释:

crop=iw-400:ih-40 从输入宽度(iw)裁剪 400(左/右 2x200) 从输入高度(ih)裁剪 40(2x20 顶部/底部) 如果你想要一个“更清晰”的边缘,你可以剪掉更多。

scale=960:720 稍微缩放视频以使其恢复到原始的 720p,960 将其保持在良好的 4x3 比例。 不需要这种缩放,你的喜好。

让我知道它是否对你有用。

【讨论】:

  • 嘿,成功了!非常感谢您的时间和帮助!
  • 等等,不居中怎么裁剪?
  • 需要注意的重要一点是-filter:v(或-vf)选项只能使用一次。最后一个是作用于数据的那个(之前的实例被静默忽略)。
猜你喜欢
  • 2013-08-02
  • 2022-01-11
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 2016-09-14
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多