论文部分内容阅读
伴随着智能手机的普及,现代人的沟通方式已经脱离了文字、图片以及语音的限制,视频成为一种新型的社交方式,其中表现尤为突出的就是视频直播。视频直播行业是4G移动互联网络出现之后才大规模增长的,相信随着5G网络的到来,流量资费的降低,直播会变得越来越普遍,真正的实现全民直播。直播的本质就是一种实时沟通的互动平台,可以应用在诸多领域,例如:社交交友、旅游户外、综艺娱乐、游戏电竞、在线教育、电商购物、竞技体育、金融财经等。虽然现在视频直播行业规模增长趋于稳定,市场被各个较大直播平台所占领,但是针对中小平台的垂直领域仍然具有很大的价值。2018年出现的“直播+”模式更是推动了直播平台向多样的产业链扩展。如何在这个快速发展的时代里,快速开发一款自己属于自己的直播平台变得至关重要。本文主要目的是设计并实现一个视频直播系统,该系统通过抽取出不同垂直领域直播平台共有通用功能,以达到快速响应不同领域市场需求的目标。总体的思路是使用微服务的架构模式,将直播系统拆分成若干组小的服务,服务之间可以相互协调,相互调用,最终由API网关聚合提供统一服务。由于直播系统本身属于非常复杂的系统,凭借个人力量很难完成全部功能,第三方云服务的兴起使得一切变得可能。具体工作如下:首先,完成系统需求分析过程。先介绍系统开发背景,再整理国内外有关视频直播的最新研究,并对不同领域视频直播系统需求点进行分析总结,之后调研开发相关技术,确定平台使用Java作为主要开发语音,Spring Cloud作为微服务架构框架,Mongo DB作为持久化数据库。其次,完成系统概要设计过程。包括平台的架构设计,服务治理和交互方式,模块划分,数据库设计等。最后,完成系统详细设计、实现与系统测试。主要模块包括:视频模块,服务模块,管理模块。视频模块主要完成视频采集,预处理,编码,分发,解码,渲染等功能;服务模块负责首页直播列表,搜索,推荐,礼物,弹幕等功能;管理模块负责直播系统的运营与监控等功能。