首页 > 解决方案 > 如果视频输入不是 16:9,FFMPEG 会在图像中添加黑条

问题描述

所以我正在玩 ffmpeg 并且我目前有命令:

"ffmpeg_path -ss seek_time -i input_video_path -vframes 1 -f mjpeg output_image_path 2<&1"

我面临的问题是,例如我有一个来自手机的垂直视频,输出图像将被拉伸到 16:9,我想做的是在图像的一侧添加黑条,如果输入不是 16:9 格式。

关于我如何做到这一点的任何建议或想法?

谢谢!

标签: ffmpeg

解决方案


使用垫过滤器。相同的文档包含您想要的确切示例:

  • 填充输入以获得 16:9 的最终 w/h 比:
pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

可以使用以下-vf选项指定过滤器:

ffmpeg -ss <time> -i <input> -vframes 1 -f mjpeg -vf pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2" <output>

推荐阅读