Создание миниатюр изображений и видео с помощью PHP-FFmpeg

#php #ffmpeg

#php #ffmpeg

Вопрос:

Я использую PHP-FFmpeg для создания миниатюр видео. Мой код приведен ниже

 <?php

$video = "a.mp4";
$image = "thumb.jpg";
$frame = $video->frame(FFMpegCoordinateTimeCode::fromSeconds(42));
$frame->save($image);
?>
  

Я пытаюсь использовать приведенный выше код для создания миниатюр видео
, которые он показывает

 Fatal error: Call to a member function frame() on string in C:xampphtdocsvideo-uploaderImageGenerator.php on line 5
  

Ответ №1:

$video является строкой, поэтому вы не можете получить доступ к методу frame() .

Вы хотите:

 $ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open("a.mp4");
  

Смотрите пример базового использования.

Комментарии:

1. новый код — это $ffmpeg = FFMpegFFMpeg::create(); $video = $ffmpeg->open("a.mp4"); $video ->frame(FFMpegCoordinateTimeCode::fromSeconds(10)) ->save('frame.jpg'); какой файл включить сюда

2. Что вы имеете в виду под «какой файл включить»?

3. <b> Неустранимая ошибка </b>: класс ‘FFMpeg FFMpeg’ не найден

4. Я не могу вам в этом помочь. Вы следовали руководству, на которое я ссылался? Вы должны обновить свой существующий вопрос с полным кодом, который вы используете.

Ответ №2:

Если оно должно отображаться в браузере, вы можете использовать видео HTML5, это создаст миниатюру из видео за 4 секунды.

   <video  width="400" height="300" controls id="videopreview" preload="metadata"  >
    <source src="uploads/video_name.mp4#t=4" type="video/mp4">
</video>