为观众端提供直播间列表和回放列表,以及账号注册、登录、个人信息维护等功能。
登录腾讯云官网,进入 云直播管理控制台,如果服务还没有开通,单击【申请开通】。
按照相关政策要求,您需要添加自有的已备案域名才能使用腾讯云的 CDN 播放功能,请参见 域名管理 和 CNAME 配置 进行配置。
<span id="get_lvb_license">
“小直播”是基于腾讯云 LiteAVSDK 实现推流和播放功能的,但您需要提前绑定 License 才能使用其提供的推流功能,您可以先按照如下步骤获取“小直播”所需要的测试 License:
- 在 云直播管理控制台 中点击进入 移动直播 License 页面。
- 填写【Package Name】为 Android 的包名,【Bundle Id】为 iOS 的 Bundle Id。
- 单击【免费创建】,创建成功后,页面会显示生成的 License 信息。请记录 Key 和 LicenseUrl,便于在 SDK 初始化时使用。
<span id="get_im_config">
“小直播”是基于腾讯云 TIMSDK 实现文字聊天室和弹幕消息等互动功能的,但您需要先创建一个 IM 应用才能使用其提供的聊天室功能,您可以先按照如下步骤获取“小直播”所需要的 SDKAppID 和 SecretKey 两个重要信息:
- 进入【云直播控制台】>【直播SDK】>【应用管理】,单击【创建应用】,待应用创建完成后,记录其 SDKAppID 信息。
- 单击目标应用的 SDKAppID,进入应用详情页面。
- 选择【应用管理】页签,单击【编辑】,输入一个管理员名称(例如“admin”),单击【添加】按钮,之后再单击【确定】按钮。
- 单击【查看密钥】,复制保存密钥信息 SecretKey。
进入 对象存储服务控制台,如果还没有服务,直接单击【创建存储桶】即可。
-
单击【基础配置】,记录
存储空间名称
、所属地域
,分别对应于后文 修改云服务器配置信息 中的COSKEY_BUCKET
和COSKEY_BUCKET_REGION
。
进入【对象存储控制台】>【密钥管理】>【云API密钥】 获取 APPID
、SecretId
和 SecretKey
,分别对应下文 修改云服务器配置信息 中的 COSKEY_APPID
、COSKEY_SECRETID
和 COSKEY_SECRETKEY
。
进入 CVM 控制台 ,单击【新建】开始创建云服务器。
选择【自定义配置】选择符合您需求的虚拟主机,在镜像提供栏选择【镜像市场】,并单击【从镜像市场选择】进服务市场选取镜像。选中图中的【小直播镜像】,您可以直接在搜索栏中搜索。
配置云服务器的访问密码,设置安全组。!安全组一定要放开80、443服务端口 请妥善保管 root 密码,该密码将用于后续 修改云服务器配置信息 操作。
付款后生成云服务器。请记录外网 IP 地址,将用于后续 配置录制回调 和 终端集成 操作。
<span id="STEP3_4">
将以下内容粘贴到文本编辑器(如记事本),按照下方脚本中的注释填写各项内容,其中xxxx
的部分在本文前半部分均能找到对应的值。
#!/bin/bash
echo "<?php
define('API_KEY', 'xxxxxxxx'); //api key,用于录制回调的鉴权。请替换为配置录制回调中记录的回调密钥
// 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;
-
进入 CVM 控制台 ,单击目标主机所在行【登录】。
-
选择【标准登录方式】区域的【立即登录】,输入配置主机时设置的密码,单击【确认】。
登录成功后会进入一个网页版的控制台界面,您只需要直接将 准备配置文件 中准备好的文本粘贴过来,按 Enter
键确认即可。
至此业务后台部署完成
终端集成主要是小直播源码集成,主要是以下简单几步:
小直播 App 的源码位于 Github/Github 仓库中,可以在Android/XiaoZhiBo
和iOS/XiaoZhiBo
分别获取到 Android 和 iOS 的源码。
ZIP 包 | Github | Gitee |
---|---|---|
DOWNLOAD | Github | Gitee |
我们在 step 1.3 中拿到的 LiteAVSDK 的测试版 License 在这一步可以发挥作用了,参照如下的说明替换源代码中的两行字符串(License URL 和 Key) 即可:
-
iOS 版替换方案: 打开
iOS/XiaoZhiBo/XiaoZhiBoApp/Classes/App/
目录下的TCGlobalConfig.h
文件,将文件里的LICENCE_URL
和LICENCE_KEY
分别替换为 step 1.3:获取 SDK 的测试 License 中记录的 License URL 和 Key。 -
Android 版替换方案: 打开
Android/XiaoZhiBo/app/src/main/java/com/tencent/qcloud/xiaozhibo
目录下的TCGlobalConfig.java
文件,将文件里的LICENCE_URL
和LICENCE_KEY
分别替换为 step 1.3:获取 SDK 的测试 License 中记录的 License URL 和 Key。
小直播后台服务的地址为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
改为您的小直播后台服务的地址。
注意:如果服务器没有配置证书,这里的云主机服务器地址需要用http,而不能用https。
小直播 App 中的“精彩回放”功能依托于云直播的录制功能。
-
在云直播菜单栏内选择【功能模板】>【录制配置】,单击 "+" 进行设置。
-
设置基本信息,填写【模板名称】,并选择录制文件类型(HLS、MP4 或者 FLV),单击【保存】。
<span id="STEP4_2">
-
在云直播菜单栏内选择【功能模板】>【回调配置】,单击 "+" 创建回调模板。
-
填写并记录【回调密钥】,填写【录制回调】为
http://您的云服务器公网 IP 地址/callback/tape_callback.php
,单击【保存】。
-
进入云直播控制台 域名管理,单击推流域名后的【管理】。
xiaozhibo_server_php
├── callback
│ └── tape_callback.php //录制回调的处理
├── common
│ ├── AbstractInterface.php //所有接口类的抽象父类,输入输出的统一处理
│ ├── Common.php
│ ├── ConfFactory.php //用于读取数据库配置文件
│ ├── ErrorCode.php //错误码定义
│ ├── GlobalDefine.php //一些全局定义
│ ├── GlobalFunctions.php //通用函数,一些无用的函数清理掉
│ ├── Ini.php //ini配置文件读取
│ ├── MiniLog.php //日志
│ ├── Param.php //输入参数检查
│ ├── ParamChecker.php //输入参数检查
│ └── TLSSigAPIv2.php //UserSig计算
├── conf
│ ├── OutDefine.php //腾讯云账号信息配置文件
│ ├── cdn.inc.ini //总配置文件
│ └── cdn.route.ini //数据库配置文件
├── dao //数据库相关
│ ├── dao_base
│ │ └── dao.class.php //数据库对外的类
│ ├── dao_live
│ │ └── dao_live.class.php //数据库对外的实现类,各种sql语句在这里
│ └── redis_cache.php //redis本地缓存
├── fastcgi.conf //nginx配置文件
├── index.php
├── interface
│ ├── get_cos_sign.php //上传头像、封面图片用
│ ├── get_user_info.php //获取用户信息,用于漫游个人信息
│ ├── get_vod_list.php //获取回放列表
│ ├── login.php //登录,获取token
│ ├── refresh.php //刷新token
│ ├── register.php //注册
│ └── upload_user_info.php //更新个人信息
├── interface.php //接口处理入口
└── liteav_demo.nginx //nginx配置文件