FFMPEG:如何在FFMPEG Php中使用S3 url

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


在路径中找不到文件:https:/xxxxx.cloudfront.net/uploaded_videos/filename.mp4 </ p>
</ blockquote>

我的代码如下。</ p>

  $ videoFile = env('CLOUDFRONT')。“/”。  $ resultStatusValue [0]  - &gt; video_url; 

FFFpegFacade :: fromDisk('s3')
-&gt; open($ videoFile)
-&gt; getFrameFromSeconds($ timeToSecond)
-&gt; export()

-&gt; toDisk('s3')
-&gt; save($ s3Path);
</ code> </ pre>

此后生成的图像应上传到s3存储桶。 </ p>

提前致谢。</ p>
</ div>

展开原文

原文

I'm generating an image frame from a video in a particular time using FFMPEG Laravel SDK in Laravel 5.6. If I used the local path for video file it's working fine but When I'm using URL directly it's giving an error. I want to use the video which is stored in the s3 bucket.

File not found at path: https:/xxxxx.cloudfront.net/uploaded_videos/filename.mp4

My code as below.

$videoFile = env('CLOUDFRONT')."/".$resultStatusValue[0]->video_url;

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

Hereafter generated image should be upload to the s3 bucket.

Thanks in advance.

douqiaolong0528
douqiaolong0528 通过$videoFile='uploadedvideos/filename.mp4'解决了。
接近 2 年之前 回复

1个回答



如果将 disk </ code>指定为 s3 </ code>,只需 key </ 代码>名称就足够了。</ p>

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

FFMpegFacade :: fromDisk('s3')
-&gt; open($ videoFile)
-&gt; getFrameFromSeconds($ timeToSecond)
-&gt; export()

  • &gt; toDisk('s3')
    -&gt;保存($ s3路径);
    </ code> </ pre>

    其他</ strong>
    nif you 上传的文件到公众。 在 config / filesystems.php上指定 visibility </ code> </ code> </ p>

     's3'=&gt;  [
    'driver'=&gt; 's3',
    'key'=&gt; '你的钥匙',
    '秘密'=&gt; '你的秘密',
    'region'=&gt; 'your-region',
    'bucket'=&gt; '你的桶',
    'visibility'=&gt; 'public',
    ],
    </ code> </ pre>
    </ div>

展开原文

原文

If specify the disk as s3 just simply key name is enough.

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

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

In Additional if you want uploaded file to public. specify visibility on config/filesystems.php

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问