我正在使用 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()
函数不会从中获取图像,因为它永远不会生成。
最佳答案
你不想使用 url()
这里 - 它将生成一个完整的 HTTP URL,这意味着您的服务器必须下载完整的 MP4 文件(可能是千兆字节!)才能对其进行截图。
(您的存储目录通常也无法通过 HTTP...)
使用实际路径,通过 storage_path()
helper 。
VideoThumbnail::createThumbnail(storage_path('app/accident_report_videos/ynvO5D9GzUJsLPj8vPlyiOEND0ag9MeFGr4NFu5k.mp4'), storage_path('app/accident_report_videos/thumbs'), '111.jpg', 2, 600, 600);
关于php - 在 laravel 中生成视频缩略图时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47764853/