阿里云视频直播PHP-SDK接入教程

阿里云视频直播PHP-SDK接入教程

阿里视频直播PHP-SDK接入教程

    阿里云 视频直播 配置 及 PHP-SDK 接入教程
        准备工作
        域名管理
        配置鉴权
        地址生成器及DEMO演示-熟悉鉴权
        接入SDK

阿里云 视频直播 配置 及 PHP-SDK 接入教程

个人感觉,阿里的文档比微信的要坑很多…
微信最多是有些比较重要的东西放到比较不起眼、比较难发现的地方.
阿里的文档就是要么就是sdk已经更新了,但是文档还没更新,导致文档与SDK不匹配.在关键点卡我一下…
要么是同样的功能有好几个版本的SDK以及文档,却不告诉你哪个是最新的…
吐槽结束~
准备工作

1.最重要的,先仔细看下视频直播文档!
2. 购买阿里云的视频直播服务 ,用量不大的时候建议使用按量收费的方式结算,接通之后消耗了流量才扣钱;
3. 准备好备案的域名,到时候需要解析两个二级域名(推流域名与拉流域名);
4. 如果需要存储直播视频文件的话,需要使用对象存储OSS服务,因为直播录制的视频都会到这里面.这也是可以先使用后收费的(按量收费).
域名管理

首先进入视频直播的控制台>>域名管理>>添加域名
添加两次,分别是播流域名和推流域名,

阿里云视频直播PHP-SDK接入教程

添加完成之后进行域名解析配置这两个域名的CDN加速指向分配的CNAME.
阿里云视频直播PHP-SDK接入教程

阿里云视频直播PHP-SDK接入教程

然后配置将它们两个域名(一个推流,一个播流)关联起来.阿里云视频直播PHP-SDK接入教程

阿里云视频直播PHP-SDK接入教程
配置鉴权

推流与播流的链接都是以一定的规则自己拼起来的,首先要在域名配置
阿里云视频直播PHP-SDK接入教程

阿里云视频直播PHP-SDK接入教程

地址生成器及DEMO演示-熟悉鉴权

AppName:随意理解,或者理解为分组吧;
StreamName:理解为直播的id,一个StreamName同时只能推一个直播流.可以开始直播-终止直播-开始直播-终止直播…
阿里云视频直播PHP-SDK接入教程
有关鉴权的规则是这样的:鉴权规则
代码如下:

<?php

        $AppName     = 'AppName';       //app名称 ,随意设定
        $StreamName  = "StreamName";    //直播流名称 ,随意设定

        $now = time();

        //------------------- 阿里云视频直播控制台 地址生成器 鉴权设置 -----------
       
        //加密key,即直播后台鉴权里面自行设置
        
        $pull_key = 'oCudfghYGM';        //播流 主key
        $push_key = '0hgggfjAhT';         //推流 主key
        $time     = $now + 60*60*3;      //URL的有效期 180分钟 随意设定

        //------------------------ end ---------------------------------------------

        $strpush = "/{
   $AppName}/{
   $StreamName}-{
   $time}-0-0-{
   $push_key}";

        $push_cdn = 'push.paxy365.com';
        $pull_cdn = 'pull.paxy365.com';

        //推流地址  一个
        $pushurl        = "rtmp://{
   $push_cdn}/{
   $AppName}/{
   $StreamName}?auth_key={
   $time}-0-0-".md5($strpush);

        //播流地址
        $strviewrtmp    = "/{
   $AppName}/{
   $StreamName}-{
   $time}-0-0-{
   $pull_key}";
        $strviewflv     = "/{
   $AppName}/{
   $StreamName}.flv-{
   $time}-0-0-{
   $pull_key}";
        $strviewm3u8    = "/{
   $AppName}/{
   $StreamName}.m3u8-{
   $time}-0-0-{
   $pull_key}";
        
        $rtmpurl        = "rtmp://{
   $pull_cdn}/{
   $AppName}/{
   $StreamName}?auth_key={
   $time}-0-0-".md5($strviewrtmp);                //播流地址
        $flvurl         = "http://{
   $pull_cdn}/{
   $AppName}/{
   $StreamName}.flv?auth_key={
   $time}-0-0-".md5($strviewflv);                    //播流地址
        $m3u8url        = "http://{
   $pull_cdn}/{
   $AppName}/{
   $StreamName}.m3u8?auth_key={
   $time}-0-0-".md5($strviewm3u8);    //播流地址
        

获取到推流URL和播流URL就可以愉快地玩直播啦,可以下载阿里的DEMO(APP)到手机上,测试这URL是否有用~
接入SDK

阿里是将所有的SDK打包一起下载,里面不仅有视频直播的SDK,还有别的业务的SDK…T_T
PHP SDK 下载地址

我的项目是TP框架(还是3.2的)
阿里云视频直播PHP-SDK接入教程
在一开始拿到SDK代码的时候很懵逼,无从下手…
度娘了下才知道要引入的是这两个文件 ! ! !

<?php
    include_once LIB_PATH . 'Vendor/aliyun-openapi/aliyun-php-sdk-core/Config.php';
    include_once LIB_PATH . 'Vendor/aliyun-oss-php/autoload.php';
    
    //接下来就可以为所欲为了~~~

原文:https://blog.csdn.net/qq_41976646/article/details/88317894

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112490.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css基础选择器有哪些

    css基础选择器有哪些css基础选择器有哪些(熟记)一、选择器作用:规范了页面中哪些元素能够定义好样式,同时也能帮助我们去二、选择器分类1.通用选择器(只能放在样式表)1.作用:匹配页面上的所有元素 2.语法:* 3.*{ 属性:属性值; }2.元素择器1.作用:匹配页面上某个元素的样式2.语法: 3.元素名{ 属性:属性…

    2025年5月24日
    3
  • ubuntu通过conda安装tensorflow

    ubuntu通过conda安装tensorflowubuntu版本:16.04,Anaconda3版本:5.3.1 tensorflow没有32位的!tensorflow没有32位的!tensorflow没有32位的! 安装Anaconda 通过conda来创建tensorflow虚拟环境:conda-ntensorflowpython=3.6 激活刚刚创建的虚拟环境:condaactiva…

    2022年6月19日
    33
  • matlab画圆的命令_matlab画圆

    matlab画圆的命令_matlab画圆要画圆的话只需要将曲率设置成1就行了。注意‘Curvature‘,[0.5,0.8]后面的两个参数[0.5,0.8]分别表示两个边的曲率。画一个圆试试,输入命令如下:rectangle(‘Position‘,[0,0,1,1],‘Curvature‘,[1,1]),axisequal;4.直接画圆已经可以了,下一步就是指定圆形坐标和半径了。我们不妨先分析一下:1.rectangle函数本来画的是…

    2022年6月19日
    61
  • 比特币挖矿客户端_IPFS挖矿与比特币挖矿有什么区别?IPFS和比特币之间的爱情故事!…[通俗易懂]

    IPFS挖矿与比特币挖矿有什么区别?IPFS和比特币之间的爱情故事!  文件币主网启用后,每个人都对文件币充满热情,无论是行业人士还是非行业人士。  但是,许多人不熟悉文件硬币挖掘的原理。因此,我认为文件硬币挖掘类似于比特币挖掘。实际上,以前的两个采矿原理有很大不同。我今天会解释。   IPFS挖矿与比特币挖矿有什么区别?IPFS和比特币之间的爱情故事…

    2022年4月14日
    53
  • 向量的内积例题_python求向量的模

    向量的内积例题_python求向量的模有两个向量v1=(x1,x2,…,xnv_1=(x_1,x_2,…,x_n和v2=(y1,y2,…,yn)v_2=(y_1,y_2,…,y_n),允许任意交换v1v_1和v2v_2各自的分量的顺序,计算v1v_1和v2v_2的内积x1y1x2y2…xnynx_1y_1x_2y_2…x_ny_n的最小值样例:输入:n=3v1=(1,3,−5)v_1

    2022年9月24日
    2
  • java中Scanner的简单用法

    java中Scanner的简单用法一.用法1.先导入Java.util.Scanner包importjava.util.Scanner;2.创建Scanner类的对象Scannersc=newScanner(System.in);//创建对象sc//3.创建一个变量来接收数据inta=sc.nextInt();doubleb=sc.nextDouble();floatc=sc.nextFloat();二.使用…

    2022年7月20日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号