vasictech / encoder
Laravel 包,用于使用 FFMpeg 编码视频文件
dev-master
2016-10-04 15:50 UTC
This package is not auto-updated.
Last update: 2024-09-28 20:43:29 UTC
README
#Laravel Encoder (Alpha) 1.0
一个面向对象的 Laravel 包,用于使用 FFMPEG 编码视频文件
该包目前处于 Alpha 阶段,功能有限,并将持续升级,增加大量不同特性
此库需要安装有效的 FFMpeg。
安装
推荐通过 Composer 安装 Encoder。
{ "require": { "vasictech/encoder": "~1.0" } }
在 config/app.php 中注册包作为服务
return [ VasicTech\Encoder\EncoderServiceProvider::class, ]
执行配置发布
return [ 'encoder' => 'ffmpeg', 'ffmpeg' => [ 'path' => '/usr/bin/ffmpeg', 'codecs' => [ 'video' => 'libx264', 'audio' => 'aac', ], 'options' => [ 'strict' => true, 'replace' => true, 'fork' => true, 'log' => storage_path(), ] ] ];
配置配置文件
return [ VasicTech\Encoder\EncoderServiceProvider::class, ]
基本用法
$encoder = VasicTech\Encoder\Encoder\FFMpeg(); $jobId = $encoder ->input(storage_path('app/public/trailer.mp4')) ->output(storage_path('app/public/trailer_enc.mp4')) ->execute();
脚本返回 jobID,可以记录在数据库中与文件关联。输出日志文件将命名为 jobID
文档
编解码器
您可以提供两个参数,或者只提供一个参数,第一个是视频编解码器,第二个是音频编解码器
$encoder->codecs('libx264', 'libfaac');
比特率
您可以提供两个参数,或者只提供一个参数,第一个是视频比特率,第二个是音频比特率
$encoder->bitrate('1200k', '128k');
大小
您可以提供两个参数,或者只提供一个参数,第一个是视频宽度,第二个是视频高度,如果没有提供,视频将缩放到提供的大小
$encoder->size(1280, 720);
替换
如果 ffmpeg 应替换已存在的文件
$encoder->replace(true);
严格
如果应该添加 '-strict -2' 参数
$encoder->strict(true);
分支
如果进程应该分支
$encoder->fork(true);
日志
如果 ffmpeg 应写入日志文件
$encoder->log('/path/to/file.log');
格式
强制输出格式
$encoder->format('mp4');
许可
此项目采用 MIT 许可证。