2021SC@SDUSC
目录
关于OpenMeetings
Red5媒体服务器
安装与部署
版本问题
安装过程
源码研究分工
总结
关于OpenMeetings
根据维基百科的叙述,OpenMeetings的介绍如下:
OpenMeetings是用于演示、在线培训、网络会议、协作白板绘图和文档编辑以及用户桌面共享的软件。该产品基于Red5 媒体服务器、HTML5和Flash[2],这些服务器又基于多个开源组件。通信发生在虚拟的"会议室"中,这些会议室可能设置为不同的通信、安全和视频质量模式。推荐的后端支持数据库引擎是MySQL。该产品可以设置为已安装的服务器产品,或用作托管服务。
简而言之,OpenMeetings就是一个web端的会议室。它不需要用户专门安装,而是做成swf的形式,使用户可以通过网页在web端使用,省略了用户下载安装的繁琐步骤。该项目完全开源,供开发者全面研究与探讨。
OpenMeetings的一大亮点是白板功能。每个房间内都会有白板,在白板上可以通过鼠标、键盘等输入,还可以上传并演示多种文件格式,包括doc、ppt、pdf、jpg、txt等。这使得用户之间不但可以通过麦克风、摄像头、聊天框等进行语言上的交流,还可以同时读写同一个文件,沟通效率大大提升。
Red5媒体服务器
OpenMeetings的构成基于许多部分,其中很基本的是Red5媒体服务器。而要解释Red5,就必须先了解什么是流媒体和流媒体服务器。
关于流媒体,百度百科的描述如下:
流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。
通俗地说,流媒体就是可以在线或实时播放音视频的互联网产品。最生动形象的比喻就是网络直播,主播一端的信息实时传送给了用户,并且能够和用户实时互动,而不是完整下载音视频后才能供用户观看。
关于流媒体服务器,百度百科的描述如下:
流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。流媒体服务器的主要功能是对流媒体内容进行采集、缓存、调度和传输播放。流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。
也就是说,流媒体服务器就是“操作流媒体的服务器”。
Red5就是提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。维基百科是这样描述的:
Red5是一个免费的软件媒体流媒体服务器在Java实现,它提供的服务类似于由专有的Adobe Flash 媒体服务器和Wowza 流媒体引擎提供的服务, 包括:
- 流媒体视频 (FLV, F4V, MP4, 3GP)
- 流媒体音频 (MP3, F4A, M4A, AAC)
- 记录客户流(FLV 和 AVC+AAC 在 FLV 容器中)
- 共享对象
- 直播视频发布 (FLV, VP6)
- 直播音频发布 (MP3, AAC)
- 重拍 (动作消息格式))
- 协议: Rtmp,Rtmpt, Rtmps 和 Rtmpe
借助Red5媒体服务器,OpenMeetings可以将与会用户的每一个动作,包括对摄像头、麦克风、上传的文件以及对白板的涂写操作等,实时传送给其他用户,从而达到信息共享的目的,同时使会议能够即时高效地进行。
安装与部署
版本问题
OpenMeetings官网(Apache OpenMeetings Project – Home)显示,最新版的6.1.0版本已经发布:
在官网的installation模块(http://openmeetings.apache.org/installation.html),官方给出了安装的步骤:
第一步首先安装Kurento Media server(KMS),按照指示来到:
官方文档对KMS的描述为:
Kurento 是一个从头开始创建 WebRTC 应用程序的低级平台。
继续阅读,在文档中,发现以下文字:
这就提示我们,KMS目前还不能保证在Windows系统上运行。也就是说,最新版本的OpenMeetings很难在Windows系统上安装与部署。
经过组内商议,我们决定安装具有完整Windows10系统安装文档的4.x版本。
安装过程
关于源码,从github或者官网均可以下载,这里以官网下载为例:
1、点击download,来到下载页面:
2、选择Previous Official Releases,点击第一个链接即来到:
选择4.0.7版本,即可下载源码,再按照官方给的网址安装对应插件即可。
3、 下载完成后的结构:
src目录下是项目的源码,也就是我们将要分析的部分;code目录下是项目代码编译后的内容,是开启项目的入口。
4、打开code目录:
点击red5.bat文件,即弹出运行窗口:
5、等待运行结束,进入http://localhost:5080/openmeetings/install?0,即是在线安装页面:
6、按照提示一路向下,最终完成安装,到达登录页:
即可登录进入:
7、最终页面:
源码研究分工
OpenMeetings项目的源码,全部在src文件夹下,其目录结构为:
此处pom.xml是配置文件,其余openmeetings-xxx文件夹都包括了不同模块的文件。以openmeetings-core文件夹为例,其目录结构为:
容易看出这是一个maven搭建的文件结构。进一步进入src文件夹:
其中包含了main、site、test三个文件夹, 每个文件夹里面含有可能的java、web代码等,说明每个openmeetings-xxx文件夹确实是maven搭建的。因此,我们组内都同意使用java开发工具Intellij Idea进行代码分析研究。
总之,每个openmeetings-xxx文件夹通过maven搭建文件结构,实现了不同模块。因此,我们组内商议后决定,将10个openmeetings-xxx文件夹均分给5人研究,每人2个文件夹,即两个模块。由于此时尚处于初步分工阶段,我们不能保证这样分工一定合理,在后续研究工作中会根据每个人的研究情况及时调整研究部分。
我负责的两个模块是openmeetings-core和openmeetings-db两个部分,其他成员都各自选择了两个部分。
总结
本文初步描述了OpenMeetings的项目背景、安装,以及组内任务的划分,对本学期的项目研究作了一个综述。本学期的主要任务是对项目的源码进行分析研究,在过程中不可避免地会遇到许多问题,需要组内成员协同工作、克服困难。OpenMeetings项目涉及了大量的java后端代码部分,这对我来说是一个新的挑战,希望自己能够顺利完成本学期的任务!



