云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等 Serverless 化能力,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用、Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
腾讯云点播(Video on Demand,VOD)和云直播(Cloud Streaming Services,CSS)基于腾讯多年技术积累与基础设施建设,为有音视频应用相关需求的用户提供专业稳定快速的直播接入和音视频存储、自动化转码处理、加速分发等服务的一站式解决方案。
本应用基于云开发TCB使用腾讯云点播(VOD)以及云直播(CSS)快速搭建一个直播小程序,并且提供可配置的直播录制,文件降冷,视频处理等功能。
准备工作
安装小程序开发工具
- 下载并安装最新版本的 微信开发者工具
- 本应用集成了小程序直播插件,请先阅读微信小程序提供的插件使用文档,了解插件的使用范围和限制。
注册小程序
- 在 微信公众平台 注册并登录小程序,小程序认证主体需为中国大陆地区的非个人主体
关于小程序具体的类目要求请参考 小程序云直播插件的说明
开通云服务
- 注册腾讯云 账号,并完成 企业实名认证
使用上一步注册的小程序或已有小程序账号注册腾讯云,或将已有腾讯云账号与小程序账号绑定,使小程序可以使用腾讯云开发环境进行云开发,参考云开发 账号相关问题
- 开通 云开发、云点播、云直播
申请插件
- 根据小程序云直播插件 指引 申请并启用插件
本应用已经将插件引入到小程序代码中,开发者只需要根据上述要求获取插件的使用资格,之后小程序即可正常使用小程序直播插件
部署应用
- 前往 腾讯云控制台获取 API 秘钥
- 点击 一键部署,进入云开发控制台根据表单要求填入相关自定义配置后即可完成部署
表单中要求填写的推流域名需要在云直播控制台中完成 添加 并配置 CNAME
tcb
业务开发
- 拉取本应用 代码仓库 到本地并填入自己的小程序APPID及相关项目配置,使用微信开发者工具进行开发;
- 根据业务需求使用小程序直播插件提供的组件进行直播相关业务开发,直播插件功能以及开发文档可参考【使用推流组件】、【使用播放组件】,需要将自身的账号以及推流、拉流配置填入相关代码中;
// ./miniprogram/pages/live-room-push/push.js
Page({
/**
* 页面的初始数据
*/
data: {
version: 2,
// 腾讯云账号 APPID
liveAppID: 1256927XXX,
// 推流链接
pushUrl: 'rtmp://xxx.com/live/test?txSecret=55b556d32b06ad72b4f5d2065229d237&txTime=60E40752',
/* 省略其他代码 */
}
代码语言:javascript复制// ./miniprogram/pages/live-room-play/play.js
Page({
/**
* 页面的初始数据
*/
data: {
version: 1,
mode: 'LIVE',
// 腾讯云账号 APPID
liveAppID: 1256927XXX,
// 播放链接
playUrl: 'http://xxx.com/live/pluginpush_xx2.flv',
/* 省略其他代码 */
}
- liveAppID:即腾讯云账号APPID,在腾讯云云控制台的【账号信息】中查看。
- pushUrl/playUrl:在腾讯云直播控制台【域名管理】或【地址生成器】均可自助生成
其他说明
- 本应用已为开发者自动完成了直播录制配置以及降冷配置,直播结束后将生成录制文件存储到云点播并完成降冷,为用户降低存储成本,关于录制具体配置可参考代码中的相关参数,开发者部署应用后可以修改参数以满足自己的功能需求;
- 部署本应用后会自动生成可调用的 http 服务,该服务实现了一个对视频进行转自适应码流的处理功能,开发者可以在 云开发控制台获取到 http 地址后填入点播的 回调设置中开启上传回调,即可自动对录制生成的视频文件进行转自适应码流处理,参考代码可实现更多的视频处理功能。