黑马程序员技术交流社区

标题: 直播系统源码:分享关于直播系统开发搭建的一些经验 [打印本页]

作者: qq1526307501    时间: 2020-3-26 10:09
标题: 直播系统源码:分享关于直播系统开发搭建的一些经验
直播系统可是近期的大热门,受疫情影响,教育直播系统、直播带货系统,都成了大热门,而想要了解直播系统,知道视频直播app平台开发是怎样做成的,你需要先知道它由哪些组成部分构成:

一、 如何搭建一个完整的直播系统,首先,你需要以下几大系统:
1、聊天系统:包括聊天室功能、弹幕、私聊
2、礼物系统:后台发布、上传礼物、礼物发布、收礼物、礼物特效等
3、安全系统:自动鉴黄、实名认证、截图、录制、回播、禁播等
4、支付系统:用户充值、主播提现、兑换商品或礼物等
5、通知系统:直播间开播
6、后台系统:流量统计、管理用户、管理直播间和广告、各方面设置、各方面数值记录等

二、寻找合适的云服务SDK进行嵌入,在三方的聚合API中可以轻易找到以上的功能模块,挑选合适的模块封装到自己的App中
1. 视频直播功能有ytylive qupaiLive 腾讯云等模块。 拿ytylive举例,此模块支持主流 RTMP 服务器 支持目前所有主流的 RTMP 服务器 (simple-rtmp-server、crtmpserver、FMS 等)。 支持所有的 RTMP 协议 支持所有RTMP 协议及变种 (RTMP、RTMPT、RTMPE、RTMPS、RTMPTE、RTMPTS 等)。 性能强大 资源 (CPU/内存) 占用率低,使用硬件加速进行编码,压缩比例大,延时小。 支持实时滤镜 支持多种实时滤镜效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。 而像腾讯云模块共有4个,包括视频直播基础模块、视频直播模块、视频播放器模块和视频直播聊天室模块。
RTMP 协议及变种 (RTMP、RTMPT、RTMPE、RTMPS、RTMPTE、RTMPTS 等)。 性能强大 资源 (CPU/内存) 占用率低,使用硬件加速进行编码,压缩比例大,延时小。 支持实时滤镜 支持多种实时滤镜效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。 而像亲加云模块共有4个,包括视频直播基础模块、视频直播模块、视频播放器模块和视频直播聊天室模块。
2. 聊天文本/表情输入有chatbox,UIChatbox等模块.
3. 及时通讯(互动功能):环信等模块,也可以自己通过socketManager自己封 装协议实现;
4. 支付提现:支付宝、ping++、微信支付、银联支付、现在支付等模块;
5. 视频回放:视频回放功能的实现其实是录像+存储到服务器中,因此使用APICloud的 数据云功能,或是七牛云存储,又拍云等模块都可以实现;
6. 直播/主播分享:微信、新浪微博、扣扣等平台分享模块。

三、完成App开发5步骤 现在我们所有的模块已经挑选完毕,开发者按照之前和大家分享过App开发5步骤的内容就可以完成一款直播App的开发。这5步骤包括:
1. App框架搭建,有三个常用页面框架备选;
2. 积木式拼装,将所有你挑选好的模块,用JavaScript编写页面及模块调用,运用 HTML5+CSS3搭建应用的界面UI,完成App编码全过程;
3. 真机调试,通过模拟器和真机调试功能进行App优化,一键点击即可在iOS和Android 手机中进行App优化;
4. 云编译,在呆萌直播系统官网上传App的icon、启动页和证书,一键“云编译”即可同 时生成iOS和Android的原生安装包;
5. 云修复,使用云修复快速迭代,随时发布新版本、新功能,无需提交新的安装包。
做完以上这三个步骤,开发直播App的全过程也就结束了。估计大家还会考虑开发成本的问题,除去部分模块是收费之外,其他步骤都是免费的。况且,由于是积木式拼装的方式,开发时间会大幅缩短。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2