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

2024-05-12 04:58

本文主要是介绍网络视频会议 OpenMeetings 介绍 运行 开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 概述
  • 功能
  • 环境支持
  • 源码文件
    • 运行安装
  • 二次开发修改
    • 1. 去除邮件注册
    • 2. 修改界面左上角网站名称和连接
    • 3. 修改登录框,设置默认语言为中文
    • 4. 去掉登录框上不需要的部分
    • 5. 修改登入后界面,直接到私人房间界面
    • 6. 去掉房间列表页面中右侧的聊天窗口
    • 7. 屏蔽顶部菜单
    • 8. 屏蔽右上角菜单,仅留下Logout登出
    • 9. 修改未翻译的文字
    • 10. 删除进入房间后顶部菜单中不需要的功能
    • 11. 国际化房间里主要面板的标题
    • 12. 删除房间里左下角框中不需要的功能
    • 13. 修改房间人数限制
  • 小结

概述

    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项目的开发并不是很多,所以我这里也整理了一些网上的资料出来,帮助大家一同研究,荣幸与您分享~

这篇关于网络视频会议 OpenMeetings 介绍 运行 开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981660

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor