Установка ffmpeg
apt install ffmpeg
Установка пакета php
composer require php-ffmpeg/php-ffmpeg
Пример файла converter.php для генерации файлов в формате mp4 и webm.
include $_SERVER['DOCUMENT_ROOT'] . "/../vendor/autoload.php"; $file = $argv[1]; if (empty($file)) { echo 'need file name' . PHP_EOL; exit; } echo 'mp4' . PHP_EOL; $ffmpeg = \FFMpeg\FFMpeg::create(); $video = $ffmpeg->open($file); $video->save(new FFMpeg\Format\Video\X264('aac', 'libx264'), 'video.mp4'); echo 'webm' . PHP_EOL; $ffmpeg = \FFMpeg\FFMpeg::create(); $video = $ffmpeg->open($file); $video->save(new FFMpeg\Format\Video\WebM('libvorbis', 'libvpx'), 'video.webm');
Генерация запускается так
php converter.php video.mov
В результате получаются файлы, которые прописываются в теге video
<video controls width="400" height="300"> <source src="video.mp4" type="video/mp4"> <source src="video.webm" type="video/webm"> </video>
PS
Если возникает ошибка "... exceeded the timeout of 300 seconds...."
То помогает параметр timeout
$ffmpeg = \FFMpeg\FFMpeg::create(['timeout' => 0]);
Оставить комментарий