阿里云直播PHP SDK使用方法详解

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
)

时间: 2024-09-29 06:17:22

阿里云直播PHP SDK使用方法详解的相关文章

阿里云上的容器技术实践详解

为什么选择阿里云 本文讲的是阿里云上的容器技术实践详解,现在的公有云如雨后春笋,国外如AWS.Azure.Bluemix,国内如BAT.DaoCloud.goodrain,都可以给大家提供丰富的云基础设施和上层服务,那么,为什么选择阿里云呢?主要有三点想法: 我们使用阿里云的服务已经有5年了,从企业级PaaS平台合作开始,再到帮助我们的一些客户逐步迁云,对阿里云的能力还是比较熟悉的. 因为要做的是容器,国外AWS,Azure虽然有,但AWS在中国一直没"正规"数据中心(唯一的一个前几天

阿里云容器服务飞天敏捷版详解

概述 飞天敏捷版深度整合了Docker商业版套件和阿里的容器服务,成为国内唯一具有全商业版支持能力的容器云平台,可以部署在客户自有数据中心,包含从容器的创建到运行以及镜像的全生命周期管理.飞天敏捷版另外提供开放的接口,全面兼容Docker原生API和命令行以及第三方工具,为客户提供敏捷.弹性.开放的容器云平台.借助阿里云在公共云和专有云方面的积累,飞天敏捷版更提供了独特的混合云管理模式,让客户轻松管理云上云下运行环境. 飞天敏捷版的架构可以用下图表示: 从图中我们可以看到,飞天敏捷版底层基于Do

性能与性价比的平衡,阿里云第二代入门级实例T5详解

在2017杭州云栖大会上,阿里云副总裁李津发布了ECS全新一代入门级实例T5,其中最大的亮点是:T5与ECS刚刚发布的企业级实例采用同一基础设施平台,让T5在提供高性价比的同时,也能拥有企业级ECS的稳定基因. 该系列实例主要面对的场景是:平时 CPU低利用率较低,但间歇性又需要瞬时对 CPU 占用较高的场景:比如一些轻量级网站.Web应用服务.测试.开发或其他低负载应用.但同时又需要在us甚至ms时间内能够快速响应瞬间高 CPU 资源使用需求,ECS T5 实例正是为这种场景而生. 较以往面向

女娲:阿里云分布式一致性协同服务架构详解

他的演讲内容主要分为四个方面:分布式协同服务背景.女娲服务架构以及技术演进.典型女娲服务应用场景分享.全球化架构下的女娲进化,下面是本次分享内容整理.点击查看回顾视频 分布式协同服务背景 分布式协同服务 在大规模云计算场景中,为保障数据分布式一致性,数量众多的计算节点往往依赖分布式协同服务来同步对共享资源的互斥访问,或者依赖分布式协同服务的消息通知功能来协调各自之间动作,使众多节点作为一个整体完成一项工作. 作为云计算分布式系统的核心,在设计分布式协同服务之初需要考虑互斥性.消息通知和扩展性三个

【X-Pack解读】阿里云Elasticsearch X-Pack 报告组件功能详解

X-Pack Reporting 阿里云Elaticsearch用户可以开箱即用X-Pack的报告组件功能,能够为Kibana 可视化或仪表板快速生成报告.用户可以即需即取报告.预约报告.根据特定条件触发报告,并自动将报告分享给他人如经理.客户.合规专员.报告所采用的架构为报告赋予了可扩展性,并且便于报告传输,让您能够随时随地获取 Kibana 中的信息. 自定义报表导出 Kibana 是您可视化和探索 Elasticsearch 数据的绝佳方法.X-Pack reporting 功能让您能够轻

【X-Pack解读】阿里云Elasticsearch X-Pack 监控组件功能详解

X-Pack Monitoring 阿里云Elaticsearch已集成X-Pack组件,用户可以开箱即用监控功能,依靠运行Agent收集和监控Elaticsearch.Logstach.Kibana等实例的索引和指标,并借助Kibana可视化能力实时监控这些应用. ELK应用性能监控 X-Pack monitoring 功能提供了一种有效方法,让您能够密切关注 Elasticsearch.Kibana 和 Logstash 的性能.它的仪表板集合能够帮助您在各个层级上评估仪表板的状态,同时为您

【X-Pack解读】阿里云Elasticsearch X-Pack Graph组件功能详解

X-Pack Graph 存放在Elasticsearch中的文档之间存在着潜在的关系,人员.位置.偏好.产品等数据之间也存在着某种联系.Graph 功能提供了一种基于关系的方法,让用户能够利用 Elasticsearch 的相关性功能,探索数据中存在的联系. 以新方法探索 Elasticsearch 数据 Graph 功能是一种基于 API 和基于 UI 的工具,能够让您数据中存在的相关关系浮现出来,同时能够在任何规模下利用各项 Elasticsearch 功能,例如分布式查询执行.实时数据可

【X-Pack解读】阿里云Elasticsearch X-Pack 机器学习组件功能详解

X-Pack Machine Learning 数据复杂多变,当出现基础设施问题.入侵者或业务问题时,几乎不可能利用规则或通过人工监视仪表板发现问题.阿里云Elaticsearch的X-Pack引入了机器学习功能machine learning,可以实时地自动模拟 Elasticsearch 数据的行为--趋势.周期等.从而更快地发现问题.简化问题根源分析.降低误报率. 透过数据表象 借助机器学习功能,Elasticsearch能够机敏地迅速回答 "上周各小时每秒请求数量是多少?" 等

php版阿里云OSS图片上传类详解_php技巧

本文实例讲述了php版阿里云OSS图片上传类.分享给大家供大家参考,具体如下: 1.阿里云基本函数 /** * 把本地变量的内容到文件 * 简单上传,上传指定变量的内存值作为object的内容 */ public function putObject($imgPath,$object) { $content = file_get_contents($imgPath); // 把当前文件的内容获取到传入文件中 $options = array(); try { $this->ossClient->