加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-02-23 18:06:35 所属栏目:PHP教程 来源:互联网
导读:1、直播云没有单独的SDK,直播部分的SDK是直接封装在CDN的相关的SDK里面 2、针对SDK,没有demo。 3、针对SDK,没有相关的文档说明。 4、针对SDK的说明,网站上面的说明与源码里面的说明完全不一致。 5、针对SDK没有封装那些常用的访问,需要用户组合调用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';
  2 //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");
  3 //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: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
  
  ) 




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

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!