arhitector/transcoder-ffmpeg

用于 arhitector/transcoder 的 FFMpeg 适配器。

0.5.0 2016-10-15 13:22 UTC

This package is auto-updated.

Last update: 2024-09-13 02:28:41 UTC


README

FFMpeg-适配器用于 arhitector\transcoder。在其操作中使用了标准 ffmpeg 包中的工具 ffmpegffprobe

1.1. 要求

  • PHP 5.5 或更高版本
  • 已安装 FFMPEGFFPROBE

1.2. 安装

$ composer require arhitector/transcoder-ffmpeg

2. 适配器的功能

支持大多数由 arhitector\transcoder 提供的功能(读取信息、写入元数据、转码等)。

适配器通过为 AudioVideoSubtitle 实现封装,以方便使用。

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)

MIT 许可证 (MIT)