#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>