arhitector / transcoder-ffmpeg
用于 arhitector/transcoder 的 FFMpeg 适配器。
0.5.0
2016-10-15 13:22 UTC
Requires
- php: >=5.5
- arhitector/transcoder: ~1.0
This package is auto-updated.
Last update: 2024-09-13 02:28:41 UTC
README
FFMpeg-适配器用于 arhitector\transcoder。在其操作中使用了标准 ffmpeg 包中的工具 ffmpeg
和 ffprobe
。
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');