在laravel中生成视频缩略图时出错

时间:2017-12-12 03:21:18

标签: php laravel ffmpeg video-thumbnails ffmpeg-php

我正在使用ffmpeg和Pawlox/video-thumbnail包来生成缩略图。我已经安装了ffmpeg和pawlox / video-thumbnail。

这是我的代码。

VideoThumbnail::createThumbnail(url('/storage/app/accident_report_videos/ynvO5D9GzUJsLPj8vPlyiOEND0ag9MeFGr4NFu5k.mp4'), asset('thumbnAils'), '111.jpg', 2, 600, 600);

错误:

error:getimagesize(http://54.255.240.102/storage/app/accident_report_videos/thumbs/ynvO5D9GzUJsLPj8vPlyiOEND0ag9MeFGr4NFu5k.jpg): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

视频路径和缩略图路径都是正确的。但是它在videothumbnail.php中使用缩略图方法来创建缩略图。此功能正在生成缩略图。因此,之后调用resizeCropImage()函数,在其中使用getimagesize()函数。并且getiamgesize()函数无法获取图像,因为它永远不会生成。

1 个答案:

答案 0 :(得分:4)

你不想在这里使用url() - 它会生成一个完整的HTTP URL,这意味着你的服务器必须下载完整的MP4文件(可能是千兆字节!)截图。

(您的存储目录通常也不可用通过HTTP ...)

通过storage_path()帮助程序使用实际路径。

VideoThumbnail::createThumbnail(storage_path('app/accident_report_videos/ynvO5D9GzUJsLPj8vPlyiOEND0ag9MeFGr4NFu5k.mp4'), storage_path('app/accident_report_videos/thumbs'), '111.jpg', 2, 600, 600);