代码之家  ›  专栏  ›  技术社区  ›  Pranavan SP

FFMPEG:如何在FFMPEG-Php中使用s3url

  •  1
  • Pranavan SP  · 技术社区  · 6 年前

    我正在使用laravel5.6中的FFMPEG-laravelsdk从特定时间的视频生成一个图像帧。如果我使用视频文件的本地路径,它的工作正常,但当 它直接给出了一个错误。我想使用存储在s3存储桶中的视频。

    在以下路径未找到文件:https:/xxxxx.cloudfront.net/上传的视频/filename.mp4级

    $videoFile = env('CLOUDFRONT')."/".$resultStatusValue[0]->video_url;
    
    FFMpegFacade::fromDisk('s3')
    ->open($videoFile)   
    ->getFrameFromSeconds($timeToSecond)
    ->export()
    ->toDisk('s3')
    ->save($s3Path);
    

    以后生成的图像应该上传到s3 bucket。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pranavan SP    6 年前

    如果指定 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',
            ],