dumpk/elastcoder

AWS Elastic Transcoder服务集成

0.9.1 2018-03-29 15:17 UTC

This package is auto-updated.

Last update: 2024-09-17 08:30:47 UTC


README

Build Status Latest Stable Version Author

Laravel的AWS Elastic Transcoder集成。如果你不想深入研究PHP 3.x版本的AWS SDK,这是一个简单的封装!

安装

使用composer安装此包

composer require dumpk/elastcoder

将服务提供者添加到config/app.php文件中

Dumpk\Elastcoder\ElastcoderServiceProvider::class

运行以下命令发布配置文件:

php artisan vendor:publish --tag=elastcoder

将以下变量添加到.env文件中,并使用您的Amazon凭证

AWS_ACCESS_KEY_ID={AMAZONACCESSKEY}
AWS_SECRET_ACCESS_KEY={SECRETAMAZONSOMETHINGLONG}
AWS_REGION={YOURREGION}

用法

将ElastcoderAWS类添加到类头中

use Dumpk\Elastcoder\ElastcoderAWS;

现在您只需要实例化您的类

$elastcoder = new ElastcoderAWS();

您需要在使用此库之前将视频上传到S3,这意味着您已经为您想要编码的文件拥有了密钥。配置必须如下所示:

$config = [
    'PresetId' => '432423-dsda',
    'width'  => 1920,
    'height' => 1080,
    'aspect' => '16:9',
	'ext'	 => 'mp4',
	'PipelineId' => '343244232-n2fuqq4',
    'Watermarks' => [[
        'PresetWatermarkId' => 'BottomRight',
        'InputKey'          => '1080.png',
    ]],
    'TimeSpan' => [
        'StartTime' => '0.4',
        'Duration'  => '5.3'
    ],
]

在dumpk/elastcoder/example/elastcoder.php配置文件夹中有一个示例文件,请记得更改pipeline和presetId的值,这些值您已经在AWS账户中配置好了。

现在您可以调用转码函数

$job = $elastcoder->transcodeVideo($asset->key, $destinationKey, $config, $thumbPattern);

您还可以这样转码音频文件

$job = $elastcoder->transcodeAudio($inputfile,$uotputfile,$artwork)

这将返回一个包含作业ID的数组,您可以通过检查作业的完整性来确定视频是否已准备好。但您已经知道这一点,所以为了方便起见,您可以使用

$job = $elastcoder->getJob($job["Id"]);

并检查$job['Status']是否等于'complete'

您还可以更改文件的ACL,因为您可能希望让每个人都能看到您令人惊叹的视频,所以

$elastcoder->setPublicObject($key, $bucket);

如果您想更具体地定义权限并具有不同类型的权限,您可以使用

$elastcoder->setObjectACL($key, $bucket, $acl);

$acl可以是以下值的字符串 => private|public-read|public-read-write|authenticated-read|bucket-owner-read|bucket-owner-full-control