为什么ffmpeg要创建额外的文件?

为什么ffmpeg要创建额外的文件?,ffmpeg,terminal,video-processing,Ffmpeg,Terminal,Video Processing,我正在尝试使用ffmpeg从url转换文件,大多数情况下,我得到的正是我想要的: $video = "tmpVideos/".$img->image_id.$randNum.".mov"; $largeURL = uniqid(); $command = "ffmpeg -i $video -filter:v scale=720:-2:force_original_aspect_ratio=decrease -c:v libx264 -x264-params crf=23 -an larg

我正在尝试使用ffmpeg从url转换文件,大多数情况下,我得到的正是我想要的:

$video = "tmpVideos/".$img->image_id.$randNum.".mov";
$largeURL = uniqid();
$command = "ffmpeg -i $video -filter:v scale=720:-2:force_original_aspect_ratio=decrease -c:v libx264 -x264-params crf=23 -an large/$largeURL.mp4";
shell_exec($command);
但当输入文件大于2GB时,奇怪的事情开始发生。大多数时候,它只是生成额外的文件。将创建我请求的文件,然后再创建几个文件(有时为1,有时为3),分辨率相同,但文件大小略大20%


为什么会发生这种情况?在创建我想要的文件时,有没有办法杀死ffmpeg?

经过多次尝试和错误,我确实解决了这个问题

我有两个问题。一个是上面列出的,另一个是我正在下载的2-4GB文件将下载1-4次,然后每个文件将使用ffmpeg处理1-4次,因此我消耗了大量的处理能力和带宽

事实证明,整个脚本只是在死亡或退出之前重复自己;当它超时时,php将停止执行或从头开始,但下载或过程将继续进行


我仍然不知道为什么它在超时后会重复,但添加ini_设置“max_execution_time”,“1000”;1000或其他一些大数字起了作用。脚本有足够的时间执行并自然消亡。

共享完整的ffmpeg日志。