使用滤镜裁剪视频libplacebo
无法按预期工作。我想裁剪和缩放视频,我使用以下滤镜:
-vf libplacebo=crop_x=0:crop_y=138:crop_w=1920:crop_h=804:w=1280:h=-2: \
force_original_aspect_ratio=decrease:normalize_sar=true
预期行为:视频从 1920x1080 裁剪为 1920x804,然后缩放到 1280 的宽度,高度自动确定并保持纵横比,这样就会得到 1280x536 的视频。
我的结果:视频被裁剪,但随后被强行拉伸到 1280x720,没有保留纵横比。
当我使用 ffmpeg 的标准crop
并将裁剪的视频传递给libplacebo
过滤器时,它可以工作:
-vf crop=1920:804:0:138,libplacebo=w=1280:h=-2:force_original_aspect_ratio=decrease:normalize_sar=true
但我想了解如何使用libplacebo
本机方法进行裁剪并复制默认crop
行为。
它按预期工作ffplay
:
ffplay -vf "libplacebo=crop_x=0:crop_y=138:crop_w=1920:crop_h=804:w=1920:h=804" input.mkv
我获得了经过适当裁剪的 1920x804 视频,该视频未拉伸至 1920x1080,并且具有正确的宽高比。但是当我尝试用 将其编码到新文件中时,似乎无法使其正常工作ffmpeg
。
答案1
改为,改为。h=-2
h=ow/(a*sar)
normalize_sar
false
并setsar=1
在 libplacebo 后添加过滤器。