专栏首页快速搭建“小直播”快速搭建“小直播”
原创

快速搭建“小直播”

小直播 App 是一套开源完整的在线直播解决方案,它基于云直播服务(LVB)、即时通信服务(IM)和对象存储服务(COS)构建,并使用云服务器(CVM)提供简单的后台服务,可以实现登录、注册、开播、房间列表、连麦互动、文字互动和弹幕消息等功能。

本文主要介绍如何一步步地将小直播 App 的前后台代码运行起来,以便能够快速看到运行效果,整个过程大约耗时10分钟 - 20分钟。

一、 开通云服务

1. 开通直播服务

1.1 申请开通视频直播服务

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

1.2 绑定域名

您需要添加自有已备案域名才能进行直播播放,请参见 域名管理 CNAME 配置 进行配置。

1.3 申请测试 License

  1. 进入 移动直播 License
  2. 填写【Package Name】为 Android 的包名,【Bundle Id】为 iOS 的 Bundle Id。
  1. 单击【免费创建】。 创建成功后,页面会显示生成的 License 信息。请记录 Key 和 LicenseUrl,便于在 SDK 初始化时使用。

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

开通直播服务并获取 License 后,进入【云直播控制台】>【直播SDK】>【应用管理】,单击【创建应用】。

待应用创建完成后,记录其 SDKAPPID 信息。

说明: 该操作的目的是创建一个即时通信 IM 应用,并将当前直播账号和该即时通信 IM 应用绑定起来。即时通信 IM 应用能为小直播 App 提供聊天室和连麦互动的能力。

1.5 获取直播服务配置信息

  1. 单击目标应用的 SDKAPPID,进入应用详情页面。
  1. 选择【应用管理】页签,单击【编辑】,输入一个管理员名称,单击【确定】。
  2. 单击【下载公私钥匙】,下载并保存authkeys.txt文件。

打开公私钥文件中 -----BEGIN PRIVATE KEY----- 开始的内容即为私钥。

2. 开通对象存储服务

对象存储服务主要用于小直播 App 中的直播封面图片存储。

2.1 申请开通对象存储服务

进入 对象存储服务控制台,如果还没有服务,直接单击【创建存储桶】即可,如下图:

2.2 创建存储桶并获取基本信息

  1. 填写名称,选择所属地域,设置访问权限为【公有读私有写】。单击【确定】创建存储桶。
  1. 单击【基础配置】,记录存储空间名称所属地域,分别对应于后文 修改云服务器配置信息 中的 COSKEY_BUCKETCOSKEY_BUCKET_REGION

2.3 获取密钥信息

进入【对象存储控制台】>【密钥管理】>【云API密钥】 获取 APPIDSecretIdSecretKey,分别对应下文 修改云服务器配置信息 中的 COSKEY_APPIDCOSKEY_SECRETIDCOSKEY_SECRETKEY

二、 腾讯云 CVM 镜像部署

小直播 App 单靠一套客户端源码还不能正常运行,需要一个简单的帐号管理服务器,用于提供登录和注册的服务。同时,我们还在该后台上开发了“精彩回放”的功能,也就是过往的直播会被录制下来存入“回放列表”。由于直播的录制和存储都是腾讯云实现的,所以该服务器的作用仅仅是记录历史视频文件的列表,并提供给小直播 App 进行拉取和查询。

1. 创建虚拟主机

领取腾讯云2860元代金券,用于购买腾讯云CVM云服务器、云数据库产品时可以用来抵用,节约财务成本。

进入 CVM 控制台 ,单击【新建】开始创建云服务器。

选择【自定义配置】配置符合您需求的虚拟主机,配置完成后单击【下一步:选择镜像】。

2. 选取镜像

在【选择镜像】页面中的“镜像”提供栏选择【镜像市场】,并单击【从镜像市场选择】进服务市场选取镜像。推荐使用图中的【小直播镜像】,您可以直接在搜索栏中搜索。

3. 配置云服务器

配置硬盘和网络,以及云服务器的访问密码,设置安全组。

注意: 请妥善保管 root 密码,改密码将用于后续 修改云服务器配置信息 操作。

4. 查看云服务器信息

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

三、直播录制与回调配置

小直播 App 中的“精彩回放”功能依托于云直播的录制功能。

1. 配制录制参数

  1. 在云直播菜单栏内选择【功能模板】>【录制配置】,单击 "+" 进行设置。
  1. 设置基本信息,填写【模板名称】,并选择录制文件类型(HLS、MP4 或者 FLV),单击【保存】。

2. 配置录制回调

  1. 在云直播菜单栏内选择【功能模板】>【回调配置】,单击 "+" 创建回调模板。
  1. 填写并记录【回调密钥】,填写【录制回调】为 http://您的云服务器公网 IP 地址/callback/tape_callback.php,单击【保存】。

3. 应用配置到域名

  1. 进入云直播控制台 域名管理,单击推流域名后的【管理】。
  1. 单击【模板配置】,分别将【回调配置】和【录制配置】设置为上述步骤中新建的模板。

四、连麦

如果您需要使用连麦功能,需要 购买连麦套餐包。 更多价格及购买相关内容请参见 价格总览

五、修改云服务器配置信息

1. 准备配置文件

将以下内容粘贴到文本编辑器(如记事本),按照下方脚本中的注释填写各项内容,其中xxxx的部分在本文前半部分均能找到对应的值。

#!/bin/bash
echo "-----BEGIN PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END PRIVATE KEY-----" > /data/live_demo_service/deps/sig/private_key;
echo "<?php

define('IM_SDKAPPID',123456);   // 请替换为“获取直播服务配置信息”中获取到的 SDKAppID
define('API_KEY','xxxxxxxx');   // 请替换为“配置录制回调”中获取到的回调密钥

define('COSKEY_BUCKET','xxxxxxxx'); // 请替换为“创建存储桶并获取基本信息”中获取的“存储空间名称”
define('COSKEY_BUCKET_REGION','xxxxxxxx'); // 请替换为“创建存储桶并获取基本信息”中获取的“所属地域”
define('COSKEY_SECRECTKEY','xxxxxxxx'); // 请替换为“获取密钥信息”中您所新建的 secrectKey
define('COSKEY_APPID',123456); // 请替换为“获取密钥信息”中您所新建的 APPID
define('COSKEY_SECRECTID','xxxxxxxx'); //  请替换为“获取密钥信息”中您所新建的 secrectId

define('COSKEY_EXPIRED_TIME',30); // 无需修改
define('IM_ACCOUNTTYPE', '1234');  // 无需修改
define('APP_ID',123456);  // 无需修改
define('APP_BIZID',1234);  // 无需修改

?>" > /data/live_demo_service/conf/OutDefine.php;

说明: 上面代码中第一个 echo 后跟着的双引号内是 IM 私钥的内容,将上述步骤中下载的公私钥文件authkeys.txt中的私钥(-----BEGIN PRIVATE KEY-----开始的内容)填到双引号内即可。

2. 登录云服务器

  1. 进入 CVM 控制台 ,单击目标主机所在行【登录】。
  1. 选择【标准登录方式】区域的【立即登录】,输入配置主机时设置的密码,单击【确认】。

3. 修改配置

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

六、终端集成

终端集成主要是修改小直播 App 源码中的配置信息。

1. 小直播源码下载

小直播 App 的源码位于 Github 仓库中,clone 或下载源码后,可以在Android/XiaoZhiBoiOS/XiaoZhiBo分别获取到 Android 和 iOS 的源码。

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

小直播后台服务的地址为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改为您的小直播后台服务的地址。

3. 替换小直播 License 配置

  1. 进入【云直播控制台】>【直播SDK】>【License】复制 License 的 URL 和 Key。
  2. 根据实际操作系统选择以下操作:
    1. iOS: 打开iOS/XiaoZhiBo/XiaoZhiBoApp/Classes/App/目录下的 AppDelegate.m 文件,将[TXLiveBase setLicenceURL: key:]调用的参数替换为您的 License URL 和 Key。
    2. Android: 打开Android/XiaoZhiBo/app/src/main/java/com/tencent/qcloud/xiaozhibo/目录下的 TCApplication.java 文件,将String licenceUrlString licenseKey的内容分别替换为您的 License URL 和 Key。

4. 运行并测试

至此小直播的所有配置均已完成,您可以运行 App 体验小直播的各项功能。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

相关文章

  • 微信如何实现小程序实时视频直播点播?有哪些难点?

    流媒体服务器的未来将伴随着宽带应用和网络发展的总趋势,毕竟科技改变生活,未来流媒体也将占据网络的主流,视频流媒体服务器的功能和作用也将越来越丰富。

    EasyNVR
  • 带你认识 flask linux 部署

    当提到“传统托管”时,意思是应用是手动或通过原始服务器机器上的脚本安装部署的。该过程涉及安装应用程序、其依赖项和生产规模的Web服务器,并配置系统以确保其安全。

    公众号---志学Python
  • Mob研究院 | 2019年上半年新锐App榜单

    Mob研究院依托MobTech海量App数据,评选出了2019年上半年新锐榜TOP20应用(上线时间多集中在2018年下半年至2019年上半年),全面揭示201...

    MobTech
  • 一对一直播社交app源码疑难点分析

    一边直播平台内部的竞争尚未停息,一场一对一社交源码和直播平台的战争已经悄然打响,视频直播社交这块蛋糕已经被越来越多的创业者分割。时至今日,直播已经是老生长谈的话...

    用户2954023423
  • 1048576GB地图数据,AI技术酷炫渲染,《微软飞行模拟器》游戏即将上线

    作为即将成为第一款将整个地球化作虚拟世界来供玩家玩的游戏,微软的《微软飞行模拟器》(Microsoft Flight Simulator)游戏地图利用卫星和无人...

    AI科技大本营
  • Nuget多项目批量打包上传服务器的简明教程

    本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享,这里不做过多阐述。另外本文假设你已经下载...

    依乐祝
  • 一天一大 leet(矩阵中的最长递增路径)难度:困难-Day20200726

    对于每个单元格,你可以往上,下,左,右四个方向移动。你不能在对角线方向上移动或移动到边界外(即不允许环绕)。

    前端小书童
  • 用python讲故事(下)

    从排序(歌曲,然后发生了点什么)到英雄的幸福的大驼峰,随后是阴暗的山谷。 我们检测到某种电影/故事的迪斯尼公式吗? 当绘制线在不同长度上发生时,很难比较这些曲线...

    哒呵呵
  • 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案

      最近因为公司项目性能需要,我们考虑把以前基于的log4j的日志系统重构成基于Slf4j和log4j2的日志系统,因为,使用slf4j可以很好的保证我们的日志...

    阿豪聊干货
  • 科学瞎想系列之八十七 永磁电机(8)

    上一期负载特性讲的是对电机输出提出的要求,这一期我们说说电机的运行条件或者叫运行的限制条件和控制策略,如果说上一期说的是让马儿跑多快,让牛儿挤出...

    标准答案

扫码关注云+社区

领取腾讯云代金券