php使用ffmpeg通过命令的方式去把多图合成一个视频
命令如下:
$command = "ffmpeg -r 5 -start_number 1 -i public/img/a%d.jpg -vf format=yuv420p {$outputVideoPath}";
出现的问题:一共由十张图片去合成一个视频,第一遍播放的视频会出现前半段是黑色的,第二遍所有的图片都能展示出来了,但是第三遍后面或随机的出现缺失一张图片的问题
尝试:使用过AI,各种平台搜索,php-ffmpeg/php-ffmpeg这个扩展好像没有实现中效果的流程,
期望:能够解决到这个问题或者是给到更多的建议
我写个例子给你参考下
在这个示例中:
-framerate 1 设置每秒显示一张图片。
-i {$imageDir}%03d.png 指定输入图片的路径和格式(假设图片命名为 001.png, 002.png, …)。
-c:v libx264 使用 H.264 编码器。
-r 30 设置输出视频的帧率为 30 帧每秒。
-pix_fmt yuv420p 设置像素格式。
使用 is_dir 检查图片目录是否存在。
使用 is_writable 检查输出目录是否可写。
使用 escapeshellarg 确保目录路径和文件名安全。
使用 exec 捕获 FFmpeg 命令的输出和返回值,以便进行错误处理。