【发布时间】:2020-07-15 19:31:50
【问题描述】:
我正在使用 ffmpeg 转换和压缩视频。当我上传我的视频文件时,需要很长时间来处理。视频可以是 1.2mb 甚至 5.8mb 甚至 10mb 并且它仍然很慢,我只是盯着屏幕等待 20 分钟甚至更长时间。我能做些什么来加快这个过程?如果您需要我在这里为您提供我的代码,那就是
$viddy=new Video;
$file = $request->file('file');
$fileName =uniqid().$file->getClientOriginalName();
$request->file->move(public_path('/app'), $fileName);
$name_file=uniqid().'video.mp4';
$ffp=FFMpeg::fromDisk('local')
->open($fileName)
->addFilter(function ($filters) {
$filters->resize(new \FFMpeg\Coordinate\Dimension(640, 480));
})
->export()
->toDisk('s3')
->inFormat(new \FFMpeg\Format\Video\X264('libmp3lame'))
->save($name_file);
$imageName = Storage::disk('s3')->url($name_file);
$viddy->title=$imageName;
$viddy->save();
提前致谢
【问题讨论】:
-
应该需要多长时间?你的系统有多快?
-
@James 感谢您的回复,您看到当您在管上上传视频时处理速度有多快吗?这就是我想要的。我不应该盯着屏幕这么长时间等待我的视频上传。最重要的是视频文件甚至都不大
-
YouTube 不会在与上传相同的请求中处理视频文件。
-
是的,YouTube 很可能纯粹处理初始请求的上传,然后在后台使用作业队列处理它。 laravel.com/docs/5.7/queues
-
@DerekPollard 好的,我现在明白了。