PHP后端如何整合接入七牛云+腾讯云直播

2019-12-06 09:07:12 浏览3382次 作者: 我是个宝宝

收藏

PHP后端如何整合接入七牛云+腾讯云直播

七牛云相关

1.对象存储  创建一个存储空间 请选择 华东  区域 (配合代码内已写 上传域名) 参见文档  对象存储 > 产品手册 > 存储区域  并记录  存储空间名称

2.创建存储空间后  绑定 融合 CDN 加速域名 (解析域名为CHAME) 并记录 域名

3.进入个人中心 ->密钥管理  创建密钥  并记录 AccessKey/SecretKey

4.产品 短视频SDK ->授权管理  购买授权(开发阶段 可优先购买试用版 关键是免费)  

5.产品 短视频SDK ->应用管理  创建应用   选择对应的授权  根据安卓和IOS 创建俩应用(谨慎填写  应用包名)


腾讯云相关(重头戏)

1.需要用到的产品 (云直播 【域名管理  直播SDK】  即时通讯IM   访问密钥   云服务器【直播专用镜像】  直播流量套餐包【直播SDK免费1年  一年后 需购买流量包获取SDK使用权】)

微信截图_20191206132823.png

1. 小直播前端(参考文档https://cloud.tencent.com/document/product/454/38625

step 1.1 开通视频直播服务

登录腾讯云官网,进入 云直播管理控制台,如果服务还没有开通,单击【申请开通】。

step 1.2 绑定直播域名

按照相关政策要求,您需要添加自有的已备案域名才能使用腾讯云的 CDN 播放功能,请参见 域名管理 和 CNAME 配置 进行配置。(推流 拉流)

step 1.3 获取 SDK 的测试 License

“小直播”是基于腾讯云 LiteAVSDK 实现推流和播放功能的,但您需要提前绑定 License 才能使用其提供的推流功能,您可以先按照如下步骤获取“小直播”所需要的测试 License:

1.在 云直播管理控制台 中单击进入 移动直播 License 页面。

2.填写【Package Name】为 Android 的包名,【Bundle Id】为 iOS 的 Bundle Id。

3.单击【免费创建】,创建成功后,页面会显示生成的 License 信息。请记录 Key 和 LicenseUrl,便于在 SDK 初始化时使用。

b18570470dba3ffdf407a56bbac15379.png

step 1.4 在应用管理中添加一个新的应用

“小直播”基于腾讯云 TIMSDK 实现了文字聊天室和弹幕消息等互动功能,需要您先创建一个 IM 应用才能使用其提供的聊天室功能,您可以先按照如下步骤获取“小直播”所需要的 SDKAppID 和 SecretKey 两个重要信息:

进入【云直播控制台】>【直播SDK】>【应用管理】,单击【创建应用】,待应用创建完成后,记录其 SDKAppID 信息。

单击目标应用的 SDKAppID,进入应用详情页面。

选择【应用管理】页签,单击【编辑】,输入一个管理员名称(例如“admin”),单击【添加】按钮,之后再单击【确定】按钮。

单击【查看密钥】,复制保存密钥信息 SecretKey。

581476bc47f8e3eba520e5422c3ad639.png


2.小直播后台(参考官网文档  https://cloud.tencent.com/document/product/454/15187

如何快速搭建一个后台?

接下来我们将介绍如何用腾讯云的 CVM 云服务器搭建一个“小直播”后台,由于“小直播”后台的功能非常简单,所以一台简单的云服务就能解决问题,这大概需要花费您1小时的时间和大概 67.5 元的测试金。

1. 安装“小直播”的 CVM 镜像

step 1.1 创建虚拟主机

进入 CVM 控制台 ,单击【新建】开始创建云服务器。
选择【自定义配置】选择符合您需求的虚拟主机,在镜像提供栏选择【镜像市场】,并单击【从镜像市场选择】进服务市场选取镜像。选中图中的【小直播镜像】,您可以直接在搜索栏中搜索。

80b9e0090a65b70512a2a1c2c16c98a0.png

step 1.2 设置云服务器

配置云服务器的访问密码,设置安全组。

注意:

安全组一定要放开80、443服务端口
请妥善保管 root 密码,该密码将用于后续 修改云服务器配置信息 操作。

e24a07a47f4f7d2291889467c997eb8b.png


step 1.3 查看云服务器信息

付款后生成云服务器。请记录外网 IP 地址,将用于后续 配置录制回调 和 终端集成 操作。

a3de2d654e9b73c7ce7b2457077fa6ad.png

4. 修改云服务器配置信息


step 4.1 准备配置文件

将以下内容粘贴到文本编辑器(如记事本),按照下方脚本中的注释填写各项内容,其中 xxxx 的部分在 本地快速跑通“小直播” 及本文前半部分均能找到对应的值

#!/bin/bash

echo "<?php
define('API_KEY', 'xxxxxxxx'); //api key,用于录制回调的鉴权。请替换为配置录制回调中记录的回调密钥【云直播->直播sdk->License中】

// COS配置用于头像和推流封面的上传存储
define('COSKEY_BUCKET', 'xxxxxxxx'); //请替换为创建存储桶并获取基本信息中记录的存储空间名称【可不填】
define('COSKEY_BUCKET_REGION', 'xxxxxxxx'); //请请替换为创建存储桶并获取基本信息中记录的所属地域【可不填】
define('COSKEY_SECRECTID', 'xxxxxxxx'); //请替换为获取密钥信息中记录的SecretId(和SecretKey配对)【可不填】
define('COSKEY_SECRECTKEY', 'xxxxxxxx'); //请替换为获取密钥信息中记录的SecretKey【可不填】
define('COSKEY_APPID', 12345678); //请替换为获取密钥信息中记录的APPID【可不填】
define('COSKEY_EXPIRED_TIME', 30); //COS签名过期时间,单位s 【可不填】

define('IM_SDKAPPID', 12345678); // 即时通信 sdkappid
define('IM_SECRETKEY', 'xxxxxxxx'); // 即时通信 密钥
" > /data/live_demo_service/conf/OutDefine.php;

step 4.2 登录云服务器

进入 CVM 控制台 ,单击目标主机所在行【登录】。

选择【标准登录方式】区域的【立即登录】,输入配置主机时设置的密码,单击【确认】。

f1b5c3f646e7db26f9b595642e8efd17.png

step 4.3 修改配置

登录成功后会进入一个网页版的控制台界面,您只需要直接将 准备配置文件 中准备好的文本粘贴过来,按 Enter 键确认即可。

1f6dfb3221b6d262e3ada6aa0a0305bb.png


5. 替换小直播后台服务器地址

小直播后台服务的地址为http://云服务器公网 IP 地址。例如 http://134.175.197.138:

iOS:
打开 iOS/XiaoZhiBo/XiaoZhiBoApp/Classes/App/ 目录下的 TCGlobalConfig.h 文件,将文件里的 kHttpServerAddr 改为您的小直播后台服务的地址。

Android:
打开 Android/XiaoZhiBo/app/src/main/java/com/tencent/qcloud/xiaozhibo 目录下的 TCGlobalConfig.java 文件,将文件里的 APP_SVR_URL 改为您的小直播后台服务的地址。

至此小直播的服务器模式配置完成,您可以运行 App 体验小直播的各项功能。

PHP代码相关

1.打开配置文件 根/application\Common\Conf/config.php  加入下方代码  并更换 相应 值

/* 系统相关账户 */
    //七牛云相关
       'YUMING'         =>  'http://cdn.qiniu.sd.com/', // 七牛云绑定域名
        //密钥
       'QINIU_ACCESSKEY'      => 'msHcJpilstejkKyIyajBvxNPIM-IY-3OBsz5P711',
        'QINIU_SECRETKEY'      => 'v9aogboeS_WQb5xcl2ThmmJqSO5sQoWTduzS1272',
        //对象存储 空间名称
        'QINIU_BUCKET'         => 'zhibo-2019124',
    //相关腾讯云
       //API 密钥
       'SECRETID'       => 'AKIDHJCsEUadKvb7aND3qV0IQPffPwDEn33V', // SecretId
      'SECRETKEY'      => 'viKjs7NZbUJvLVO1QYQ344lY6TdYGl4B', // SecretKey
       //IM 通讯
       'IM_SDKAPPID'    => '1400292769',
       'IM_SECRETKEY'   => '54f24d0738445082f4e256396484453e2a21dd04f7bbee51c420f0775fa05b3c',
       'BOFANG_YUMING'  => 'bofang.sdliumaikeji.com',//播放域名
    //相关微信
      'WX_NOIFYURL'    => '',//支付回调地址
       'WX_APPID'       => '',//微信开放平台appid
       'WX_APPSECRET'   => '',//微信开放平台Secret
       'WX_MCHID'       =>'1483009222',//微信商户平台 商家号
       'WX_KEY'         =>'h05vdc4utp2kzl5ir3oxmitg2crlp11k',//微信商户平台 支付密钥
   //水印图片
       'SHUIYIN'        =>'http://zhibo.sdliumaikeji.com/public/watermarker.png',//水印图片

2.打开配置文件 根\application\Common\Common/function.php  找到getUrl() 方法 

function getUrl($domain, $streamName,  $time = null){
      if($domain==1){
          $domain='tuiliu.zhuadaren.net';//更换 推流域名
      }
      if($domain==2){
          $domain='laliu.zhuadaren.net';//更换  播放域名
      }
      $key='815c8aaf5cf2debaafe8b936591f8658';//更换 云直播->域名管理->推流域名->API Key
      if($key && $time){
            $txTime = strtoupper(base_convert($time,10,16));
            //txSecret = MD5( KEY + streamName + txTime )
            $txSecret = md5($key.$streamName.$txTime);
            $ext_str = "?".http_build_query(array(
                  "txSecret"=> $txSecret,
                  "txTime"=> $txTime
            ));
      }
      return "rtmp://".$domain."/live/".$streamName . (isset($ext_str) ? $ext_str : "");
}

5.直播断流 回调

QQ图片20201027095720.png

QQ图片20201027095727.png

推流域名 关联模板

当您发现内容错误或代码bug,以及下载链接无法使用等,请点击屏幕右下角的上报错误来进行提交,我们会尽快修正。
本程序所有源码和工具完全免费,当本网站内容如果侵犯了您的权益,请联系我们,我们会尽快处理,感谢您的合作。

收藏 分享

相关文章

评论:

文明上网理性发言,请遵守 新闻评论服务协议

当前还没有评论,快来评论吧

上报错误