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

标签 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()函数不会从中获取图像,因为它永远不会生成。

最佳答案

你不想使用 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/

相关文章:

php - Docker Compose Wordpress示例

mysql - 如何不返回行

php - Laravel 检查空数组

ffmpeg - 是否可以在不重新编译的情况下编译 FFmpeg 过滤器

php - 回显已发布 ID 的行名称,用于预选的表单值

PHP Mktime 错误

php - 此路由不支持 POST 方法。 (Laravel 与 ajax)

FFMPEG zoompan 仅适用并显示众多图像中的 3 个

android - 在 IJKPlayer 中改变速度时音调变化

php - 删除 MySQL PHP