Download the PHP package aleksandr-kuporosov/transcoder without Composer
On this page you can find all versions of the php package aleksandr-kuporosov/transcoder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aleksandr-kuporosov/transcoder
More information about aleksandr-kuporosov/transcoder
Files in aleksandr-kuporosov/transcoder
Package transcoder
Short Description Tools to transcoding/encoding audio or video, inspect and convert media formats.
License MIT
Informations about the package transcoder
Transcoder
Tools to transcoding/encoding audio or video, inspect and convert media formats.
Инструмент для кодирования, конвертации, и получения метаинформации для аудио и видео.
Требования
- PHP 5.6 или новее
- Установленный FFMpeg
Установка
Поддерживается установка с помощью менеджера пакетов Composer.
Вы также можете внести зависимость в уже существующий файл composer.json
самостоятельно.
Оказать содействие
Нашли ошибку или есть идея для новой функции? Пожалуйста, откройте новый вопрос.
С чего начать
В зависимости от контента, вы можете использовать Audio
для работы с аудио-файлами, Frame
для изображений, а Video
и Subtitle
соответственно для видео-файлов и субтитров.
Конструктор в общем виде выглядит так:
$filePath
- строка, путь до исходного файла.
Вы не можете использовать удаленный источник или символические ссылки.
$service
- параметр не обязателен. Экземпляр сервиса. По умолчанию ServiceFactory
.
Пример №1
Пример №2
Вы можете использовать свою сервис-фабрику или изменить некоторые опции.
События
Экземпляр формата позволяет регистрировать обработчики событий. Читать подробнее League\Event.
Пример №1
Добавим обработчик на событие.
Поддерживаемые события
before
выполняется перед началом кодирования. Вы можете отменить процесс вызвав$event->stopPropagation()
.
Пример №2
Операция будет отменена и вызов последующих событий НЕ произойдёт.
-
before.pass
событие вызывается перед каждым проходом при многопроходном кодировании. Будет вызвано минимум 1 раз. -
success
сработает в случае если операция успешна. progress
срабатывает в ходе выполнения операции.
Пример №3
-
failure
если что-то пошло не так. -
after
обработчик будет вызван когда операция завершится, не зависимо от того была ли операция завершена успешно или нет. after.pass
срабатывает после завершения прохода при многопроходном кодировании. Будет вызвано минимум 1 раз.
Поддержка очередей
Вместо прямого транскодирования вы можете отправлять задачи в очередь, например, на сервер очередей. Такой функционал
доступен прямо из коробки. Вы можете использовать опцию ServiceFactoryInterface::OPTION_USE_QUEUE
при создании сервис-фабрики.
Читать подробнее SimpleQueue.
Пример
Что можно настроить? Поддерживаемые опции
Опции сервис-фабрики
Вы можете использовать свою реализацию сервис-фабрики. Для этого необходимо реализовать интерфейс Arhitector\Transcoder\Service\ServiceFactoryInterface
.
ServiceFactory
поддерживает следующие опции:
-
ffmpeg.path
- путь до исполняемого файла ffmpeg -
ffmpeg.threads
- FFMpeg-опция threads. По умолчанию0
. -
ffprobe.path
- путь до исполняемого файла ffprobe -
timeout
- задаёт таймаут выполнения команды кодирования. use_queue
- Отправляет задачу в очередь. Значение должно быть объектом, реализующимSimpleQueue\QueueAdapterInterface
.
Примеры
Извлечение информации из видео файла, аудио файла и т.д.
Извлечение звука из видео файла с последующим сохранением в формате MP3
Этот простой пример показывает лишь принцип, таким же способом можно сохранить субтитры или обложку из Mp3-файла и т.д.
Преобразование из одного формата в любой другой
Добавление/Изменение мета-информации
Как добавить/изменить обложку MP3-файла?
ООП-обёртки над форматами
Такие обёртки (например, Mp3 или Jpeg и т.д.) созданы для удобства.
Изображения
- Png, Jpeg, Ppm, Bmp, Gif
Аудио-форматы
- Aac, Mp3, Oga, Flac
Видео-форматы
- Flv, Mkv
Фильтры
Фильтры используются для изменения исходного медиа контента. Могут иметь один или несколько входов и выходов. Фильтры могут быть организованы в цепочки фильтров для изоляции некоторый фильтров друг от друга.
$filter
экземпляр фильтра.
$priority
вы можете задать приоритет для фильтров. На основе приоритета определяется порядок использования фильтра. По умолчанию 0
.
Пример №1
Простой фильтр, SimpleFilter
Это самый простой фильтр, который позволяет устанавливать свои параметры для командной строки ffmpeg.
Конструктор
Пример №1
Создадим экземпляр и добавим параметр 'video_codec'.
Пример №2
Этот метод перезапишет ранее установленные значения.
Типы фильтров
- Аудио фильтры
Такие фильтры реализуют интерфейс AudioFilterInterface
и могут использоваться совместно только с Audio
или Video
.
- Видео фильтры
Реализуют интерфейсы FrameFilterInterface
или VideoFilterInterface
, используются либо с Frame
либо с Video
.
Фильтр Cut
Аудио фильтр, который позволяет обрезать медиа-файл до определённых значений продолжительности.
Конструктор
Пример №1
Пропустить 20 секунд от начала и сохранить последующие 60 секунд.
Фильтр Volume
Аудио фильтр, который изменяет громкость аудио потока.
Конструктор
Пример №1
Пример показывает как уменьшить громкость аудио.
Пример №2
Увеличение входной мощности звука на 6 дБ с фиксированной точностью.
Фильтр Fade
Фильтр накладывает эффект затухания звука на аудио дорожку.
Конструктор
Пример №1
Фильтр AudioDelay
Фильтр Rotate
Конструктор
Фильтр Crop
Конструктор
Лицензия
Распространяется под лицензией MIT.
All versions of transcoder with dependencies
ralouphie/mimey Version ^1.0
fguillot/simple-queue Version ^1.0
league/event Version ^2.1
symfony/process Version ^3.2