在laravel中使用php ffmpeg转换和保存视频时编码失败

在laravel中使用php ffmpeg转换和保存视频时编码失败,php,laravel,ffmpeg,ffmpeg-php,Php,Laravel,Ffmpeg,Ffmpeg Php,我正在使用软件包将用户上传的视频转换为mp4格式,请注意,我正在使用Laravel framework进行开发过程。 但我面临着这个错误,我不确定我做错了什么,因为它只说明编码失败了。我附上了下面的错误图片,你可以在底部看到 这是我处理用户上传的函数: public function upload() { $this->putVideoIntoStorage(); $this->ffmpeg->saveVideo($this->st

我正在使用软件包将用户上传的视频转换为
mp4
格式,请注意,我正在使用Laravel framework进行开发过程。
但我面临着这个错误,我不确定我做错了什么,因为它只说明编码失败了。我附上了下面的错误图片,你可以在底部看到

这是我处理用户上传的函数:

public function upload()
    {
        $this->putVideoIntoStorage();
        $this->ffmpeg->saveVideo($this->storageManager->getAbsolutePathOf($this->video->getClientOriginalName()));

        return $this->saveVideoIntoDatabase();
    }

这是一个使用
php-ffmpeg

 public function saveVideo(String $path)
    {

        $ffmpeg = FFMpeg::create([
            'ffmpeg.binaries' => config('services.ffmpeg.ffmpeg_path'),
            'ffprobe.binaries' => config('services.ffmpeg.ffprobe_path'),
            'timeout'          => 3600, // The timeout for the underlying process
            'ffmpeg.threads'   => 12,   // The number of threads that FFMpeg should use
        ]);


        $video = $ffmpeg->open($path);

        $video->save(new X264(), 'video.mp4');
    }

这是我得到的错误:

如果您需要,我可以提供更多详细信息。请询问我,如果有人能帮我解决这个问题,我将非常高兴。

以下是正确的方法:

$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("libmp3lame");

$video->save($format, '/path/to/new/file');

启用时,您应该可以访问包含有用错误的堆栈跟踪。提示:将长时间运行的进程移动到
作业
,这样您可以快速向用户返回响应,然后开始处理代码。您还可以尝试在tinker会话
php artisan tinker
中使用已上载的文件运行上述代码,并检查错误。