阿里云直播PHP SDK如何使用
2018-06-22 04:53:38来源:未知 阅读 ()
前一篇聊了聊关于阿里云直播,如何进行进行调试,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目录结构如下:
- aliyun-php-sdk-core:作为PHP SDK引用核心包,只要使用阿里云的产品的php 的SDK,这个文件夹下的所有东东都是基础。
- aliyun-php-sdk-cdn:这个包里面是阿里云 CDN产品的PHP SDK,但是目前直播里面的SDK都在这个里面,可能是因为直播产品和CDN产品比较紧密吧!(PS:在开通直播产品时,CDN产品的开通是前提条件)
下图为从阿里云的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 )
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:json
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash