arhitector/transcoder-ffmpeg
Composer 安装命令:
composer require arhitector/transcoder-ffmpeg
包简介
The FFMpeg adapter for a arhitector/transcoder.
README 文档
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');
7. Лицензия (License)
arhitector/transcoder-ffmpeg 适用场景与选型建议
arhitector/transcoder-ffmpeg 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21 次下载、GitHub Stars 达 4, 最近一次更新时间为 2016 年 10 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「audio」 「adapter」 「conversion」 「video」 「ffmpeg」 「transcoding」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 arhitector/transcoder-ffmpeg 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 arhitector/transcoder-ffmpeg 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 arhitector/transcoder-ffmpeg 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Adapter designed to add Framework Agnosticism for Caching within PHP Packages.
A library that provides a simple infrastructure to create your own converters and to perform any conversion you want
flysystem cache Adapter
Virtual Filesystem Storage Adapter for Laravel
A simple interface for composite Flysystem adapters
Library for manipulating audio files (validating, transcoding, and tagging)
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-05