amazon s3 — перекодировать видео с помощью библиотеки php ffmpeg

Мне нужно загрузить видео в 3 форматах / разрешение как 360p, 480p, 720p.

После некоторых исследований я узнал, что некоторые платные услуги Amazone Эластичный Транскодер . Но я хочу сделать с открытым исходным кодом, поэтому я нашел FFMPEG.

Также я хочу загрузить видео на Amazon s3 после того, как транскод и видео в большом размере, как видео может содержать 1GB размер.

Я получил библиотеку php для FFMPEG Ссылка на библиотеку

Я установил ffmpeg, и он успешно генерирует новое видео. Но я не могу понять, как я могу генерировать разные формат / разрешение как 360p, 480p, 720p.

Мой пример кода

        error_reporting(E_ALL);
ini_set('display_errors', 1);

require 'vendor/autoload.php';

//$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('assets/small.mp4');
$video
->filters()
->resize(new FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(2))
->save('assets/frame.jpg');

$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("libmp3lame");

$video->save($format, 'assets/new.mp4');

Может кто-нибудь предложить мне каким-либо образом, что, как я могу добиться этого ??

1

Решение

Я уверен, что вы уже поняли это, но помещу это здесь для дальнейшего использования.

// Create the formats in Kilo Bitrates
$_360p = (new FFMpeg\Format\Video\X264('libmp3lame'))->setKiloBitrate(500);
$_480p = (new FFMpeg\Format\Video\X264('libmp3lame'))->setKiloBitrate(750);
$_720p = (new FFMpeg\Format\Video\X264('libmp3lame'))->setKiloBitrate(1500);
// Open the video file
$video = $ffmpeg->open('assets/small.mp4')
// Add all formats
->addFormat($_360p)
->addFormat($_480p)
->addFormat($_720p)
// call the 'save' method with a filename...
->save('assets/new.mp4');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]