网络视频会议 OpenMeetings 介绍 运行 开发

项目积累 专栏收录该内容
48 篇文章 0 订阅

概述

    OpenMeeting是一个开源的视频会议、即时消息、白板、协作文档编辑为一体的软件。与一般通常会议软件相比,特别之处是能够在会议过程中做PPT的演示,这一功能是由OpenOffice的文档转换能力和提供Java远程访问的能力来支持。

功能

  • 音像会议
  • 会议记录和屏幕共享(录制会话包含的内容,可选择共享屏幕区域及质量,并可以作为视频文件下载
    文件资源管理器)
  • 多重白板和聊天
  • 用户和房间管理
  • 用综合日历计划会议
  • 问卷调查和投票

环境支持

  • JDK 8
  • Mysql
  • Apache Maven(3.5.0或更高版本)
  • ImageMagick:提供图像上传功能并将图片导入到白板
  • GhostScript:提供把pdf文件上传并导入到白板。
  • FFMpeg:提供启用录制功能和将上传的.flv/.mp4格式的文件导入到白板
  • LibreOffice:提供让所有Office文档能够导入到白板
  • SoX:协助Openmeetings处理音频文件

源码文件

    Git地址:https://github.com/apache/openmeetings
    官网地址:https://openmeetings.apache.org/
在这里插入图片描述
   最新版本代码下载 (5.0.0-M3) 下载地址

运行安装

   运行项目代码后,访问默认端口地址,进入安装页面:
   http://localhost:5080/openmeetings/install
在这里插入图片描述

   选择数据库类型,并测试链接
在这里插入图片描述

   设置管理员账号信息
在这里插入图片描述

   配置邮件服务器信息
在这里插入图片描述

   配置不同功能插件(插件介绍已在上文描述)
在这里插入图片描述

   点击Finish,进入安装部署
在这里插入图片描述

   完成安装后将在数据库创建33张数据表单
在这里插入图片描述

   访问默认登录页面
   http://localhost:5080/openmeetings/signin
在这里插入图片描述

   进入管理员页面
在这里插入图片描述

   进入公共会议室,按照需求参与会议
在这里插入图片描述

二次开发修改

1. 去除邮件注册

   如上文介绍OpenMeetings安装的时候需要设置一个邮件服务器,如果没有邮件服务器则前台是无法注册的。现在我们就把这个烦人的邮件注册去掉
服务器端文件中,找到org.xmlcrm.app.data.user.Usermanagement类,找到下面一行
Long user_id = this.registerUserInit(3, 1, 0, 1, login, Userpass,lastname, firstname, email, age, street, additionalname,fax, zip, states_id, town, language_id, true, new LinkedHashMap());
将倒数第二个true改为false,部署以后再到前台注册,现在已经不会提示Invalid EMail了

2. 修改界面左上角网站名称和连接

   修改config.xml文件中:

    <currentappname>testName</currentappname> 网站名称
    <currentappnameurl>testURL<currentappnamebugurl> 网站URL

3. 修改登录框,设置默认语言为中文

   每次登陆以后默认都是英文的,要选择一下语言而且登陆以后才会变成中文,我们可以让它一开始就是中文。修改xmlcrm/hibernate/rtmphib.lzx文件这一句,value由1改为9(9是chinese simplified在语言那个下拉菜单的顺序)。修改xmlcrm/auth/checkLoginData.lzx文件combox name="language"标签下的handler name="oninit"事件内容,两行this.selectItemAt(0);全都改为this.selectItemAt(8);,这样系统会在初始状态下默认选择简体中文(8=9-1)。这样重新编译,界面就初始为简体中文。

4. 去掉登录框上不需要的部分

   登陆框下面的语言选择,颜色选择和带宽我都去掉了,方法如下:
auth/checkLoginData.lzx文件,其中每个labeltext标签和其下缩进的一个表单标签(combobox/customedittext)一起代表一行的输入框和其前面的名称,将不需要的都在标签最后加入 visible="false"属性。同时注意剩余的labeltext和表单标签中的y值为其所在的纵向坐标,需要修改之让其匹配界面应在的位置。可以参考原删除的标签的y位置。最后的simplelabelbutton就不要改了,因为是按照相对高度定位的。 最后修改整个窗体的高度,顶部的class标签最后的height属性,改为应有的值,大概是每删除一个表单标签-30,例如删除了3项输入框,就是原有高度260 - (3 x 30) = 170。

5. 修改登入后界面,直接到私人房间界面

   对于一个聊天室,登陆以后其实直接到房间列表就够了,/xmlcrm/navi/mainnavi.lzx文件,找到mainnavi类,最后一个handler name=“oninit”,修改代码行if (i = = 0) t1.onclick.sendEvent();中间if条件为i==2。这样进入后就会自动进入“会议”菜单
然后找到mainmenumeetingsitem类,下面的handler name=“onclick”,最后一行else this._menuRef.subviews[0].onclick.sendEvent();改为else this._menuRef.subviews[1].onclick.sendEvent();这样进入后就会自动进入“私人会议”列表界面

6. 去掉房间列表页面中右侧的聊天窗口

   进入房间列表页面以后,可以看见右侧有一个聊天窗口,根据需要修改/xmlcrm/content/meetings/publicmeetings.lzx(公共房间列表)/xmlcrm/content/meetings/privatemeetings.lzx(私人房间列表),删除一行即可

7. 屏蔽顶部菜单

   顶部菜单可以进行一些操作,但对于一个聊天室,这些操作其实有些多余,下面是删除办法。
/xmlcrm/navi/mainnavi.lzx文件,找到mainnavi类,先在其中找到第一个view标签(就在紧接一堆attribute下面,不含有name属性的那个),然后为其加上name属性name=“navibar”。然后还是mainnavi类中,找到最后一个handler name=“oninit”,在Debug.write("this: ",this);后添加代码:

            if (value.length == 4) {
            this.navibar.setAttribute("visibility", "hidden");
            this.itemlist.setAttribute("visibility", "hidden");
            this.subitemlist.setAttribute("visibility", "hidden");
            }

   这样,当管理员登陆的时候看到的还是原来的界面。普通用户登陆则看不到顶部菜单。如果只希望屏蔽一级菜单,而希望留下“公共会议”和“私人会议”菜单,则不要第三行this.subitemlist.setAttribute(“visibility”, “hidden”);

8. 屏蔽右上角菜单,仅留下Logout登出

   登陆进去以后,屏幕右上角总是显示三项:用户、退出、反馈错误。如果不希望有用户和报告错误两项的话,就按照下面的做。
/xmlcrm/navi/mainnavi.lzx文件,找到helpandbugs类,将其中name="btn1"和name="btn2"的两个view标签及其包含内容全部删去即可

9. 修改未翻译的文字

   即使选择了简体中文,系统依然会有很多地方的显示是英文的,我们需要手工的将部分未翻译过来的单词自己翻译一下,有三种办法:
(1) 在服务器端代码(不是客户端代码)中找到webapp\openmeetings\languages\,里面存的是所有的国际化文件,english.xml为英语,chinese simplified.xml为中文,用文本编辑器打开以后可以按照你自己的希望对不满意的翻译进行修改。修改以后需要用管理员帐号登陆,然后在【管理】-【Language-Editor】中Import修改后的xml文件到chinese simplified。
(2) 用管理员帐号登陆,然后在【管理】-【Language-Editor】可以直接对数据库中的语言进行翻译,比较方便。
(3) 直接访问数据库表fieldlanguagesvalues,用select * from fieldlanguagesvalues where language_id = 9即可查看所有的简体中文国际化记录,直接修改value的值也能达到同样的结果,用数据库的好处是查找比较方便,呵呵
另外还有部分语言是硬写在代码里的,这些只需要对整个项目搜索那段英文再修改为中文即可,例如:/conference/popups/changedevice.lzx 中Do not ask again改为中文“下次不再提示”

10. 删除进入房间后顶部菜单中不需要的功能

   进入房间后,顶部一排有很多功能菜单,申请主持、文件上传、投票等等,这些功能对于一个纯粹的聊天室来说,有些多余,而且这些功能全都可以在其他地方实现,所以你可以根据需要将顶上的部分功能菜单给删除。
/xmlcrm/content/conference/conferencemenubar.lzx文件中找到conferencemenubar类,其下每一个labelmenu标签代表一个菜单项,顺序为从左至右,将不需要的菜单项删去或注释掉即可。再在上面一点找到一堆command标签,根据快捷键将不要的也删除或屏蔽,以避免有人使用快捷键调用功能。
而房间上中的按钮和显示则在文件/conference/moderation/moderationpanel.lzx的moderationpanel类中,同样将不需要的屏蔽即可

11. 国际化房间里主要面板的标题

   进入房间后,发现不管怎么修改语言数据,那三块板子顶上的标题就是不变,这是因为这三个标题没有绑定国际化的原因。
/xmlcrm/content/conference/conference.lzx中,找到videoboard类,删去title属性,加上labelid=“313”;
找到whiteboardpanel类,删去title属性,加上labelid=“315”;
找到filespanel类,删去title属性,加上labelid=“314”

12. 删除房间里左下角框中不需要的功能

   房间里左下角框里面是有聊天、文件和成员三个选项的,文件用来控制白板,还有些用,而投票在***室里面恐怕用不上,所以去掉。
/conference/tabbar/conferencecontainertab.lzx中,找到conferencecontainertab类,3个openmeetingsTabButton标签每个代表一个tab按钮,屏蔽不需要的

13. 修改房间人数限制

   会议室上限人数从下方地址修改
/xmlcrm/conference/roomlistItem.lzx文件中一行,修改value的值为人数上限

小结

     网上关于OpenMeetings项目的开发并不是很多,所以我这里也整理了一些网上的资料出来,帮助大家一同研究,荣幸与您分享~

  • 3
    点赞
  • 4
    评论
  • 9
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值