您所在的位置: 成果库 直播系统

直播系统

成果类型:: 发明专利

发布时间: 2022-11-15 16:05:02

科技成果产业化落地方案
方案提交机构:成果发布人| 赵燕琦 | 2022-11-15 16:05:02

本项目通过对当前娱乐性直播和面向企业级直播进行深入调研与分析,运用软件工程的设计思想,采用高内聚、低耦合的模块化设计思想,设计实现了一整套完整的面向企业高并发直播系统。基于SRS 流媒体服务器平台,支持 RTMP 推流、HLS 源站等多种直播源接入方式,支持多终端适配,同时基于对大数据的分析,覆盖各类行业的不同场景,实时把控推流质量,对带宽、实时在线人数等数据进行实时监测,并提供详细的统计结果,系统 WEB 客户端和移动手机微信公众号采用 VUE 的开发框架,后端使用 Java 语言开发框架 SpringBoot 和 MyBatis,数据库采用 Mysql 和 Redis,并结合敏感词过滤 DFA算法和 WebSocket 技术,实现了稳定、可靠的企业直播服务。

(1)搭建动态扩展、高可用的流媒体服务器集群,利用源站集群 forward 机制仅用少量的服务器可以同时处理大量的推流请求,利用 haproxy 作 tcp 的软负载均衡;在拉流端利用 N 台机器从源站拉流,同时利用 nginx 作前置反向代理,并设计针对拉流协议 HLS 的负载均衡策略提供统一的播放地址拉流播放。(2)在实时点播服务中,因为直播产生的音视频数据文件都是大文件数据,而 Hadoop 在大文件存储和处理方面有着独特的优势,通过 HDFS 可以快速地对视频大文件进行分布式存储,通过编写MapReduce 程序对 HDFS 系统中的文件进行并行转码,可以大大降低视频转码所需要的时间,提高视频处理的效率,快速的为用户提供在线点播服务。(3)基于 RBAC 开发系统的每个功能入口,开发直播客户端页面、移动端微网页,直播管控台等相关前端页面,同时对每个不同用户的在不同页面操作权限也不相同。(4)高可用分布式微服务。根据当前请求访问量,利用Kubernetes 实时进行监控扩容,当服务不可用时,及时进行熔断降级,保证主服务的高可用性

直播尤其是移动端直播的兴起首先取决于 4G 网络的发展以及成

熟,国内直播服务从 2005 年萌芽到 2015 年开始突然爆发再到 2016

年的盛极一时都离不开移动网络的成熟以及市场的联合推动。再到如

5G 网络的全民普及,另外,无论在国内还是国外,信息化都是各

大企业一大主要发展方向,哪一家企业信息化建设越快越强,哪一家

企业就能更快更好的占领行业的制高点。但是目前我国大部分企业都

处于信息化建设的初级阶段,一般都是硬件、软件、网络独立的建设,

没有形成一个整合的平台,如何能利用信息技术、网络技术、多媒体

技术等多种手段,同时能为企业的销售、市场提供帮助,是很多企业

所欠缺的。同时,由于面向企业类用户,直播在软件方面功能也应该

具有与娱乐类直播大相径庭的功能,娱乐类直播主要注重主播个性化

包括美颜、在线场景设置等功能,而企业更加注重直播的观看权限设

置、子账号开通、多维度多角度统计以及企业用户宣传的私有网站等

功能

主要研究容器化、容器编排调度、云监控等云原生技术和实际工程化应用。其中涉及 Docker、Kubernetes、微服务等关键技术。研究内容包括基于 WebRTC 的音视频通信技术、应用程序容器化和集群化,服务器以及业务指标的实时监控等。团队已研发出支持全渠道一站式统一服务,具有全媒体服务能力,支持多租户、多客户同时服务,集成人工智能技术、NLP 和知识图谱提供机器人自动问答、多轮问答,提供多渠道、多媒体统一智能路由和可视化报表的软件平台

基于 RBAC 开发系统的每个功能入口,开发直播客户端页面、移动端微网页,直播管控台等相关前端页面,同时对每个不同用户的在不同页面操作权限也不相同。(4)高可用分布式微服务。根据当前请求访问量,利用Kubernetes 实时进行监控扩容,当服务不可用时,及时进行熔断降级,保证主服务的高可用性

系统 WEB 客户端和移动手机微信公众号采用 VUE 的开发框架,后端使用 Java 语言开发框架 SpringBoot 和 MyBatis,数据库采用 Mysql 和 Redis,并结合敏感词过滤 DFA算法和 WebSocket 技术,实现了稳定、可靠的企业直播服务。