我的扩展包分享 - 七牛云视频转码

序言

做项目的时候,遇到需要视频转码,视频文件是存储在七牛云的,刚好七牛云有提供转码的服务。很多代码有点糟糕。使用限制条件很多,已经上传到七牛的视频发起异步转码操作 .

安装

composer require coconing/transcoding

使用

require_once  './vendor/autoload.php';

$config = [
    'access_key' => '七牛云AK',
    'secret_key' => ‘七牛云SK',
    'bucket' => '空间名',
    'pipeline' => '转码是使用的队列名称。 https://portal.qiniu.com/mps/pipeline,你也可以为空,使用默认的转码队列',
    'notifyUrl' => '转码完成后异步通知到你的业务服务器',
    'fops' => "要进行转码的转码操作。 http://developer.qiniu.com/docs/v6/api/reference/fop/av/avthumb.html"
];

$transcoding = new \CocoNing\Transcoding\Prepare($config);

list($id, $err) = $transcoding->videoTranscoding('cocoyo.qlv');

if ($err !== null) {
    var_dump($err);
} else {
    var_dump($id);
}

你还可以这样:

$transcoding = new \CocoNing\Transcoding\Prepare();
$transcoding->setConfig($config);
list($id, $err) = $transcoding->videoTranscoding('cocoyo.qlv');

注意这里会返回一个数组,转码错误的话$err就不是null$id类似这样的:z2.59219169e3d0041bf8086900,你可以根据这个id去查询转码状态

http://api.qiniu.com/status/get/prefop?id=z2.59219169e3d0041bf8086900

laravel中使用,在你的config/app.phpprovider添加如下:

 CocoNing\Transcoding\TranscodingServiceProvider::class,

使用:

$transcoding = app('transcoding');
$transcoding->setConfig($config);

laravel你可以不需要传递access_keysecret_key,默认是取:

'access_key' => config('filesystems.disks.qiniu.access_key'),
'secret_key' => config('filesystems.disks.qiniu.secret_key'),

github地址https://github.com/ningge123/QiniuTranscoding:,感谢star。

如此.
本帖已被设为精华帖!
本帖由 Summer 于 6年前 加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

:joy:代码配色方案改了,咋觉得以前黑色的好看。。。

6年前 评论

我也觉得以前的好看,跟我编辑器的差不多

6年前 评论
JeffreyBool

可以转码音频文件吗

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!