阿里云直播PHP SDK如何使用
前一篇聊了聊關于阿里云直播,如何進行進行調試,ok,那這篇我們就聊一聊關于阿里云直播的SDK(當然是關于PHP的),基于下面的原因:
1、直播云沒有單獨的SDK,直播部分的SDK是直接封裝在CDN的相關的SDK里面
2、針對SDK,沒有demo。
3、針對SDK,沒有相關的文檔說明。
4、針對SDK的說明,網站上面的說明與源碼里面的說明完全不一致。
5、針對SDK沒有封裝那些常用的訪問,需要用戶組合調用SDK進行拼裝,總之一句,這也太抽象,看看人家七牛的API,哎,不多說啥了
6、提供的SDK路徑亂的一踏糊涂,想直接用沒門,得各種調整。
7、針對SDK基于PHP更高登記的版本,照顧不到一些低版本用戶。
針對上面幾點原因,踩了一部分坑,參考其他云直播提供的通用接口進行整理的。
?
首先,我們分析一下阿里云提供的PHP SDK。阿里云SDK目錄結構如下:
?下圖為從阿里云的PHP SDK整個大包,里面包含阿里云所有產品的PHP SDK。
接下下來,我們來看看如何配置,這一步很關鍵,阿里云的官方網站上面內容? 與? SDK 的demo? ,有三個版本。(這是痛苦的根源,哈哈)
?
1、將整個PHP SDK包放置項目目錄當中。
2、配置aliyun-php-sdk-core
在aliyun-php-sdk-core下面有一個config.php文件
include_once 'Autoloader/Autoloader.php'; include_once 'Regions/EndpointConfig.php';//config sdk auto load path. Autoloader::addAutoloadPath("aliyun-php-sdk-cdn"); // Autoloader::addAutoloadPath("aliyun-php-sdk-batchcompute"); // Autoloader::addAutoloadPath("aliyun-php-sdk-sts"); // Autoloader::addAutoloadPath("aliyun-php-sdk-push"); // Autoloader::addAutoloadPath("aliyun-php-sdk-ram"); // Autoloader::addAutoloadPath("aliyun-php-sdk-ubsms"); // Autoloader::addAutoloadPath("aliyun-php-sdk-ubsms-inner"); // Autoloader::addAutoloadPath("aliyun-php-sdk-green"); // Autoloader::addAutoloadPath("aliyun-php-sdk-dm"); // Autoloader::addAutoloadPath("aliyun-php-sdk-iot");//config http proxy define('ENABLE_HTTP_PROXY', FALSE); define('HTTP_PROXY_IP', '127.0.0.1'); define('HTTP_PROXY_PORT', '8888');Autoloader::addAutoloadPath("aliyun-php-sdk-cdn");? 這一句作為核心,表示自動加載aliyun-php-sdk-cdn文件夾下所有的PHP文件。aliyun-php-sdk-cdn是直播服務的SDK,若是想使用阿里云的其他功能,則需要引用其他相關的文件夾。
3、調用直播相關PHP SDK
//引用config.php文件,路徑根據實際情況自行定義 include_once('aliyunopenapi'.DIRECTORY_SEPARATOR.'aliyun-php-sdk-core'.DIRECTORY_SEPARATOR.'Config.php'); //$accessKeyId,$accessSecret為阿里云密鑰 $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", $accessKeyId, $accessSecret); $client = new DefaultAcsClient($iClientProfile);//初始化直播的具體操作,DescribeLiveRecordConfigRequest是獲取直播云下面,所有的創建的app$request = new Cdn\Request\V20141111\DescribeLiveRecordConfigRequest(); $request ->setDomainName('live.ezoon.cn'); $request->setAppName($appname); $request->setOssEndpoint('oss-cn-hangzhou.aliyuncs.com'); $request->setOssBucket('liveplaybucket'); $request->setOssObjectPrefix('record/'.$appname.'/{StreamName}/{UnixTimestamp}_{Sequence}');//針對阿里云進行請求$response = $this->client->getAcsResponse($request);print_r("\r\n");print_r($response);
?
4、查看數據返回的結果,返回的值是一個對象,里面
stdClass Object ([LiveAppRecordList] => stdClass Object([LiveAppRecord] => Array([0] => stdClass Object([CreateTime] => 2016-07-27T09:48:23Z[DomainName] => live.xxx.cn[OssEndpoint] => oss-cn-hangzhou.aliyuncs.com[AppName] => asfdsadfsadfafds[OssObjectPrefix] => record/asfdsadfsadfafds/{StreamName}/{UnixTimestamp}_{Sequence}[OssBucket] => liveplaybucket)[1] => stdClass Object([CreateTime] => 2016-07-26T06:46:28Z[DomainName] => live.xxx.cn[OssEndpoint] => oss-cn-hangzhou.aliyuncs.com[AppName] => live1[OssObjectPrefix] => record/live1/{StreamName}/{UnixTimestamp}_{Sequence}[OssBucket] => liveplaybucket)[2] => stdClass Object([CreateTime] => 2016-07-27T09:37:54Z[DomainName] => live.xxx.cn[OssEndpoint] => oss-cn-hangzhou.aliyuncs.com[AppName] => live1213123213[OssObjectPrefix] => record/live1213123213/{StreamName}/{UnixTimestamp}_{Sequence}[OssBucket] => liveplaybucket)[3] => stdClass Object([CreateTime] => 2016-07-26T02:55:09Z[DomainName] => live.xxx.cn[OssEndpoint] => oss-cn-hangzhou.aliyuncs.com[AppName] => liveezoon[OssObjectPrefix] => record/liveezoon/{StreamName}/{UnixTimestamp}_{Sequence}[OssBucket] => liveplaybucket)[4] => stdClass Object([CreateTime] => 2016-07-26T02:55:26Z[DomainName] => live.xxx.cn[OssEndpoint] => oss-cn-hangzhou.aliyuncs.com[AppName] => livetest[OssObjectPrefix] => record/livetest/{StreamName}/{UnixTimestamp}_{Sequence}[OssBucket] => liveplaybucket)))[RequestId] => 392B879D-2A09-47B3-85CF-627F7BCD3AC1 )?
轉載于:https://www.cnblogs.com/ficohu/p/5710883.html
總結
以上是生活随笔為你收集整理的阿里云直播PHP SDK如何使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lucky7(hdu5768)
- 下一篇: 数据库系统概念学习笔记2