githen / laravel-tencent-vod
基于 Laravel 的腾讯点播上传
v1.0.9
2024-09-12 08:22 UTC
Requires
- guzzlehttp/guzzle: ~6.0|^7.0
README
基于 Laravel 的腾讯点播上传
安装
composer require githen/laravel-tencent-vod:~v1.0.0 # 迁移配置文件 php artisan vendor:publish --provider="Githen\LaravelTencentVod\VodProvider"
配置文件说明
生成 vod.php 上传配置文件
return [ /** |-------------------------------------------------------------------------- | 腾讯视频上传配置 |-------------------------------------------------------------------------- | '标识' => [ * 'sub_appid' => 0, // 子应用id * 'class_id' => 0 // 应用的分类 id * 'secret_id' => '' // API授权ID * 'secret_key' => '' // API授权KEY * 'procedure_name' => // 任务流名称 * ] */ return [ 'global' => [ 'signature_url' => true, // 注册路由,生成签名 请求地址:/jiaoyu/tencent/vod/sign/{标识} 'auth' => ['auth'], // 路由中间件 'size' => 50, // MB 'ext' => [".mp4"], ], 'vod' => [ 'sub_appid' => env('TENCENT_VOD_SUB_APPID', 0), 'class_id' => env('CLASS_ID', 0), 'secret_id' => '***', 'secret_key' => '***', 'procedure_name' => '' ], ]; ];
初始化视频上传实例
在 html 中引入 JS 文件
<script src="/app-assets/js/scripts/qcloud/vod-js-sdk-v6.js'"></script> <script src="/app-assets/js/scripts/qcloud/vod.upload.js'"></script>
实例化上传类
myVideo = new Vodupload({ dom:"#upload_file_input", // signature:"vod", config:'vod', signature:function (){return "{{$sign}}"}, maxFilesize:{!! config('vod.global.size') !!}, acceptedFiles:"{!! implode(',', config('vod.global.ext')) !!}", replace:false, // 当限制为1个时,是否直接替换 progressInterval:100, cacheTime:600, callback:function (type, name, info) { // info 每种事件传递的数据信息 // 回调会有五个事件 // type:media name:upload 视频上传完成 // type:media name:progress 视频上传进度 // type:cover name:upload 封面图上传完成 // type:cover name:progress 封面图上传进度 // type:done name:done 获取视频在腾讯端的基本信息 } });
回调参数说明
自动注入的 路由
错误码
支持方法
已封装的 Provider 提供的方法,
// 注入服务的单例 app('jiaoyu.tencent.vod') // ModifyMediaInfo 支持方法 app('jiaoyu.tencent.vod')->ModifyMediaInfo($label, $request->all());
调用方法 ModifyMediaInfo($label, $params = [])
修改视频基本信息
- $label:配置标识
- $params: 请求参数
调用方法 getSignature($label)
获取上传签名
- $label:配置标识
调用方法 ProcessMediaByProcedure($label, $params = [])
对视频执行转码
- $label:配置标识
- $params: 请求参数
调用方法 DescribeTaskDetail($label, $params = [])
获取任务详情
- $label:配置标识
- $params: 请求参数
调用方法 send($label, $action, $params = [])
发送请求
- $label:配置标识
- $action:腾讯云端的方法
- $params: 请求参数,具体参考要请求的
$action的腾讯文档