使用 FFMPEG 在视频的填充区域添加图像而不是黑色

问题描述

我有一些分辨率为 1280 X 720 的视频,所有视频的显示区域周围的左侧和右侧都有黑色填充区域。我想在视频的填充区域显示静态图像而不是纯黑色。我正在使用 FFMPEG 库,但找不到任何方法。你能帮我解决这个问题吗?

谢谢!

解决方法

  1. 使用 cropdetect 过滤器确定裁剪参数以去除黑色。有关如何获取裁剪参数的示例,请参阅 Remove black bars using ffmpeg

  2. Crop 黑色区域和 overlay 图像上的视频:

    ffmpeg -i video.mp4 -i background.jpg -filter_complex "[0]crop=404:720:438:0[vid];[1][vid]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -c:a copy output.mp4
    
,

好吧,在尝试了一些命令之后,我做了一个命令来这样做并且对我有用。

ffmpeg -loop 1 -i image.jpg -i video.mp4 -filter_complex "[1:v]scale=1280:720:force_original_aspect_ratio=decrease:-1[fg];[0:v][fg]overlay =(Ww)/2:(Hh)/2:shortest=1" output.mp4