我正在使用 Laravel 5.6 中的 FFMPEG Laravel SDK 从特定时间的视频生成图像帧。如果我对视频文件使用本地路径,它可以正常工作,但是当 我正在使用 URL 直接它给出了一个错误。我想使用存储在 s3 存储桶中的视频。
File not found at path: https:/xxxxx.cloudfront.net/uploaded_videos/filename.mp4
我的代码如下。
$videoFile = env('CLOUDFRONT')."/".$resultStatusValue[0]->video_url;
FFMpegFacade::fromDisk('s3')
->open($videoFile)
->getFrameFromSeconds($timeToSecond)
->export()
->toDisk('s3')
->save($s3Path);
此后生成的图像应上传到 s3 存储桶。
提前致谢。
最佳答案
如果指定 disk
如s3
只是简单key
名字就够了。
$videoFile = $resultStatusValue[0]->video_url; //= upload/video1.mp4
FFMpegFacade::fromDisk('s3')
->open($videoFile)
->getFrameFromSeconds($timeToSecond)
->export()
->toDisk('s3')
->save($s3Path);
补充
如果您想将上传的文件公开。指定
visibility
在 config/filesystems.php
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
'visibility' => 'public',
],
关于php - FFMPEG:如何在 FFMPEG Php 中使用 S3 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52131976/