我有 1 张图像和 1 个视频想要连接起来,我尝试使用以下命令将图像和视频调整为相同大小:
ffmpeg -i image.jpg -vf scale=432:432 -strict -2 image_out.jpg
ffmpeg -i video.mp4 -vf scale=432:432 -strict -2 video_out.jpg
调整图像和视频的大小后。我运行以下命令将它们连接起来:
ffmpeg -loop 1 -framerate 24 -t 10 -i image_out.jpg -i video_out.mp4 -filter_complex "[0][1]concat=n=2:v=1:a=0" out.mp4
但收到错误:
[Parsed_concat_0 @ 0x3850cc0] 输入链接 in1:v0 参数(大小 432x432,SAR 4:3)与相应的输出链接 in0:v0 参数(432x432,SAR 1:1)不匹配 [Parsed_concat_0 @ 0x3850cc0] 无法在 Parsed_concat_0 上配置输出垫 重新初始化过滤器时出错! 无法将帧注入过滤器网络:参数无效 处理流 #1:0 的解码数据时出错 转换失败!
我认为调整大小命令有问题,但我不知道如何使其发挥作用。
答案1
使用
ffmpeg -loop 1 -framerate 24 -t 10 -i image.jpg -i video.mp4 -filter_complex "[0]scale=432:432,setsar=1[im];[1]scale=432:432,setsar=1[vid];[im][vid]concat=n=2:v=1:a=0" out.mp4
视频流具有样本纵横比。视频播放器在播放过程中通过将存储的宽度乘以此数字来调整宽度。concat 过滤器要求输入具有相同的 SAR。我添加了 setsar 过滤器以保持两个输入具有相同的 SAR。