视频上传接口适用于批量上传视频、发布到文档、课堂中。 乐享提供的SDK可以直接上传视频,本节文档主要介绍如何把本地视频上传乐享站内的过程。
POST https://lxapi.lexiangla.com/cgi-bin/v1/videos/upload-signature
headers.Authorization: Bearer {access_token}
headers.StaffID: {StaffID}
无
{
"signature": "your_signature"
}
POST https://vod2.qcloud.com/v3/index.php?Action=ApplyUploadUGC
document
{
"signature":"your_signature",
"videoName":"开放接口上传的视频",
"videoType":"mp4",
"videoSize":10486
}
参数 | 是否必须 | 默认值 | 说明 |
---|---|---|---|
signature | 是 | 无 | 步骤1中获取到的签名 |
videoName | 是 | 无 | 视频名称 |
videoType | 是 | 无 | 视频的文件类型 |
videoSize | 是 | 无 | 视频的文件大小 |
document
{
"code":0,
"message":"成功",
"data":{
"video":{
"storageSignature":"{YOUR_STORAGESIGNATURE}",
"storagePath":"/xxxxx/yyyyyy/OxFAkpyaiFIA.mp4"
},
"storageAppId":123,
"storageBucket":"xxxxx",
"storageRegion":"gzp",
"storageRegionV5":"ap-guangzhou-2",
"domain":"vod2.qcloud.com",
"vodSessionKey":"{YOUR_VODSESSIONKEY}",
"tempCertificate":{
"secretId":"{tempCertificate_YOUR_SECRETID}",
"secretKey":"{tempCertificate_YOUR_SECRETKEY}",
"token":"{tempCertificate_YOUR_TOKEN}",
"expiredTime":1572408974
},
"appId":123,
"timestamp":1572401774,
"StorageRegionV5":"ap-guangzhou-2"
}
}
上传视频建议使用以下sdk,方便快速接入。
平台方提供以下语言对应的sdk
以php
为例
use Qcloud\Cos\Client as CosClient;
//...
$tempCertificate['appId'] = $storageAppId;
$cosClient = new CosClient(array(
'credentials' => $tempCertificate,
'region' => $storageRegionV5,
));
return $cosClient->Upload($storageBucket, $video.storagePath, fopen($localVideoPath, 'rb'), ['PartSize' => 1048576]);
以nodejs
为例
// @see https://cloud.tencent.com/document/product/436/36119
// 引入模块
var COS = require('cos-nodejs-sdk-v5');
var cos = new COS({
// 必选参数
SecretId: {$tempCertificate.secretId},
SecretKey: {$tempCertificate.secretKey},
XCosSecurityToken: {$tempCertificate.token}
});
// 分片上传
cos.sliceUploadFile({
Bucket: {$storageBucket}-{$storageAppId},
Region: {$storageRegionV5},
Key: {$video.storagePath},
FilePath: {$localVideoPath}
}, function (err, data) {
console.log(err, data);
});
参数 | 是否必须 | 默认值 | 说明 |
---|---|---|---|
$storageAppId | 是 | 无 | 步骤2中响应体中的data.storageAppId |
$tempCertificate | 是 | 无 | 步骤2中响应体中的data.tempCertificate |
$storageRegionV5 | 是 | 无 | 步骤2中响应体中的data.storageRegionV5 |
$storageBucket | 是 | 无 | 步骤2中响应体中的data.storageBucket |
$video.storagePath | 是 | 无 | 步骤2中响应体中的data.video.storagePath |
$localVideoPath | 是 | 无 | 本地视频地址 |
PartSize | 是 | 无 | 分片上传的最小分片大小,sdk中默认是1MB(1048576) |
POST https://vod2.qcloud.com/v3/index.php?Action=CommitUploadUGC
document
{
"signature":"your_signature",
"vodSessionKey":"开放接口上传的视频"
}
参数 | 是否必须 | 默认值 | 说明 |
---|---|---|---|
signature | 是 | 无 | 步骤1中获取到的签名 |
vodSessionKey | 是 | 无 | 步骤2中获取到的data.vodSessionKey |
document
{
"code":0,
"message":"成功",
"data":{
"video":{
"url":"http://xxxx.vod2.myqcloud.com/xxxxx/yyyyyy/OxFAkpyaiFIA.mp4",
"verify_content":"Qd18Jyr+nM8D442gka0GmNV02O9FeHBUaW1lPTE1NzI0MDUzNzQmRmlsZUlkPTUyODU4OTA3OTUzNzM5MzE1ODY="
},
"fileId":"5285890795373931586"
}
}
参数 | 说明 |
---|---|
data.video.fileId | 上传到腾讯云,腾讯云媒体文件的唯一标识ID,用于乐享的创建视频 (opens new window)接口中的vod_file_id ,fileId 不等于乐享的videoID |
data.video.url | 上传到腾讯云文件的url |
其他等参数请说明参考:腾讯云客户端视频上传 (opens new window)