Я использую ffmpeg и Pawlox / видео-миниатюр пакет для создания миниатюры. Я уже установил 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()
Funtion. А также getiamgesize()
Функция не получает изображение, потому что оно никогда не генерируется.
Вы не хотите использовать url()
здесь — он собирается сгенерировать полный URL-адрес HTTP, что означает, что ваш сервер должен будет скачать полный файл 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);
Других решений пока нет …