首页 > 解决方案 > FFMPEG zoompan 仅适用并显示众多图像中的 3 个

问题描述

我正在尝试使用 PHP 构建在 AWS Windows 实例上的 FFMPEG 4.0 窗口从图像中生成视频。

$command2="ffmpeg -r 1/5 -i https://<path>/$images%d.jpg -c:v libx264 -r 5  -t $total_video_time -y  ".trim($video_name)." -i http://<path>/$audio ";

以上使用所有输入图像(在本例中为 50 个)生成正确的视频输出,但对图像没有缩放效果。

现在我尝试使用 - 添加图像的缩放效果 -

$command2="ffmpeg -r 1/5 -i https://<path>/$images%d.jpg  -filter_complex zoompan=z='zoom+0.002':d=25*4:s=1280x800 -pix_fmt yuv420p  -c:v libx264 -r 5  -t $total_video_time -y  ".trim($video_name)." -i http://<path>/$audio ";

这只会拾取前 3 张图像并将缩放应用到前两张图像左右。

你能帮我解决这个问题吗?也欢迎任何输入和指针。

标签: ffmpegvideo-processingffmpeg-php

解决方案


zoompan 过滤器默认为 25 fps 输出,但您的输出速率导致大多数帧被丢弃。当 zoompan 过滤图像时,输入速率无关紧要。

ffmpeg -i images -i audio -vf zoompan=z='zoom+0.002':d=25*5:s=1280x800 -pix_fmt yuv420p -c:v libx264 -t total time out.mp4

推荐阅读