arhitector / transcoder-ffmpeg
The FFMpeg adapter for a arhitector/transcoder.
Requires
- php: >=5.5
- arhitector/transcoder: ~1.0
This package is auto-updated.
Last update: 2024-12-13 03:07:56 UTC
README
FFMpeg-адаптер для arhitector\transcoder. В своей работе использует
утилиты ffmpeg
и ffprobe
из стандартного пакета ffmpeg.
1.1. Требования
- PHP 5.5 или новее
- Установленный
FFMPEG
иFFPROBE
1.2. Установка
$ composer require arhitector/transcoder-ffmpeg
2. Возможности адаптера
Поддерживается большинство возможностей, предоставляемых arhitector\transcoder
(чтение информации, запись метаданных,
транскодирование и прочее).
Адаптер реализует для удобства свои обёртки над Audio
, Video
, Subtitle
.
public *::__construct(string $filePath [, array $options = array()])
Создаёт новое объектно ориентированное представление для конкретного медиа-файла.
Список параметров
-
$filePath
допускает значение типа string, путь до существующего аудио, видео или файла субтитров. -
$options
принимает значениеarray
, массив опций адаптера.
Примеры
Пример #1: Общий пример.
// для аудио $audio = new Arhitector\Transcoder\FFMpeg\Audio('audio.mp3', [/* опции */]); // видео или изображение $video = new Arhitector\Transcoder\FFMpeg\Video('video.mp4', [/* опции */]); // и для субтитров $subtitle = new Arhitector\Transcoder\FFMpeg\Subtitle('subtitles.ass');
3. Опции адаптера
-
ffmpeg.path
путь до бинарного файлаffmpeg
, принимает типstring
. Чаще всего, когдаFFMPEG
установлен, адаптер может самостоятельно найти расположение бинарных файлов на основе вашего окружения. -
ffmpeg.threads
устанавливает значение опции-threads
, принимаетinteger
. По умолчанию0
(ноль). -
ffprobe.path
путь до бинарного файлаffprobe
, принимает типstring
. -
timeout
время ожидания выполнения команд в секундах, типinteger
, по умолчанию без ограничений.
Примеры
Пример #1: Пример массива.
$options = [ 'ffmpeg.path' => 'path/bin/ffmpeg.exe', 'ffmpeg.threads' => 12, 'ffprobe.path' => 'usr/bin/ffprobe', 'timeout' => 3600 ];
Пример #2: Использование опций.
$audio = new Arhitector\Transcoder\FFMpeg\Audio('audio.mp3', [ 'timeout' => 300, // 'ffmpeg.path' => 'ffmpeg', // ... ]);
Пример #3: Создание экземпляра адаптера.
$adapter = new Arhitector\Transcoder\FFMpeg\Adapter([ /* опции */ ]);
4. Фильтры
Список поддерживаемых фильтров:
- ....
- ....
5. Пресеты
.....
6. Примеры
Эти примеры характерны только для transcoder-ffmpeg
адаптера.
6.1. Разложить видеоряд на кадры
Пример #1: Извлечь 1 кадр.
$video->save(new Jpeg, 'picture.jpg');
Пример #2: Сохранить множество кадров.
$video->save(new Png, 'picture-%05d.jpg');