image_id.$randNum.".mov"; -6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:12:46 25 4
gpt4 key购买 nike

我正在尝试使用 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次,所以我吃掉了很多处理能力和带宽.

事实证明,整个脚本只是在 die() 或 exit() 之前重复自己;当它超时时,php 将停止执行(或从头开始?),但下载或进程将继续进行。

我仍然不知道为什么它在超时后会重复,但是添加ini_set('max_execution_time', '1000'); (1000 或其他较大的数字)成功了。脚本有足够的时间执行,die()自然。

关于ffmpeg - 为什么 ffmpeg 会创建额外的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61710586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com