Files

104 lines
2.9 KiB
PHP

<?php
namespace ShaoZeMing\AliVod\Services;
use ShaoZeMing\AliVod\SDK\CreateUploadVideoRequest;
use ShaoZeMing\AliVod\SDK\RefreshUploadVideoRequest;
use ShaoZeMing\AliVod\SDK\UploadMediaByURLRequest;
class UploadService extends BaseService
{
/**获取视频上传凭证
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @param $title
* @param $filename
* @param $desc
* @param $coverUrl
* @param array $tags
* @return mixed|\ShaoZeMing\Aliyun\Core\SimpleXMLElement
* @throws \ShaoZeMing\Aliyun\Core\Exception\ClientException
* @throws \ShaoZeMing\Aliyun\Core\Exception\ServerException
*/
public function createUploadVideo($title, $filename,$templateGroupId="",$storageLocation="", $desc = "", $coverUrl = "", array $tags = [])
{
$request = new CreateUploadVideoRequest();
$request->setTitle($title);
$request->setFileName($filename);
if($desc){
$request->setDescription($desc);
}
if($coverUrl){
$request->setCoverURL($coverUrl);
}
if($templateGroupId){
$request->setTemplateGroupId($templateGroupId);
}
if($storageLocation){
$request->setStorageLocation($storageLocation);
}
$tags = implode(',', $tags);
$request->setTags($tags);
$request->setAcceptFormat($this->acceptFormat);
$uploadInfo = $this->client->getAcsResponse($request);
return $uploadInfo;
}
/**
* 刷新视频上传凭证
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @param $videoId
* @return mixed|\ShaoZeMing\Aliyun\Core\SimpleXMLElement
* @throws \ShaoZeMing\Aliyun\Core\Exception\ClientException
* @throws \ShaoZeMing\Aliyun\Core\Exception\ServerException
*/
public function refreshUploadVideo($videoId)
{
$request = new RefreshUploadVideoRequest();
$request->setVideoId($videoId);
$request->setAcceptFormat($this->acceptFormat);
$refreshInfo = $this->client->getAcsResponse($request);
return $refreshInfo;
}
/**
* URL批量拉取上传
* User: ZeMing Shao
* Email: szm19920426@gmail.com
* @param $url
* @param $title
* @return mixed|\ShaoZeMing\Aliyun\Core\SimpleXMLElement
* @throws \ShaoZeMing\Aliyun\Core\Exception\ClientException
* @throws \ShaoZeMing\Aliyun\Core\Exception\ServerException
*/
public function uploadMediaByURL($url, $title)
{
$request = new UploadMediaByURLRequest();
$request->setUploadURLs($url);
$uploadMetadataList = array();
$uploadMetadata = array();
$uploadMetadata["SourceUrl"] = $url;
$uploadMetadata["Title"] = $title;
$uploadMetadataList[] = $uploadMetadata;
$request->setUploadMetadatas(json_encode($uploadMetadataList));
return $this->client->getAcsResponse($request);
}
}