程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 阿裡雲直播PHP SDK如何使用,阿裡直播phpsdk

阿裡雲直播PHP SDK如何使用,阿裡直播phpsdk

編輯:關於PHP編程

阿裡雲直播PHP SDK如何使用,阿裡直播phpsdk


前一篇聊了聊關於阿裡雲直播,如何進行進行調試,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
)

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved