【问题标题】:FFMPEG: How to use S3 url in FFMPEG PhpFFMPEG:如何在 FFMPEG Php 中使用 S3 url
【发布时间】:2018-09-03 12:25:21
【问题描述】:

我正在使用 Laravel 5.6 中的 FFMPEG Laravel SDK 从特定时间的视频生成图像帧。如果我对视频文件使用本地路径,它可以正常工作,但是当 我直接使用 URL 时,它会出错。我想使用存储在 s3 存储桶中的视频。

在路径中找不到文件: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 bucket。

提前致谢。

【问题讨论】:

  • 已经被$videoFile = 'uploaded_videos/filename.mp4'解决了。

标签: php laravel amazon-s3 ffmpeg ffmpeg-php


【解决方案1】:

如果将disk 指定为s3,只需简单的key 名称即可。

$videoFile = $resultStatusValue[0]->video_url;  //= upload/video1.mp4

FFMpegFacade::fromDisk('s3')
->open($videoFile)   
->getFrameFromSeconds($timeToSecond)
->export()
->toDisk('s3')
->save($s3Path);

附加 如果您想将上传的文件公开。在config/filesystems.php上指定visibility

's3' => [
            'driver' => 's3',
            'key' => 'your-key',
            'secret' => 'your-secret',
            'region' => 'your-region',
            'bucket' => 'your-bucket',
            'visibility' => 'public',
        ],

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 2015-01-06
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2012-11-28
    • 2012-05-23
    相关资源
    最近更新 更多