为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

openMeetings二次开发高手的七篇文章

2019-08-22 8页 doc 23KB 34阅读

用户头像

is_511210

暂无简介

举报
openMeetings二次开发高手的七篇文章第一章PhMeetings——基于OpenMeetings的实验性商业版本 OpenMeetings 2010-09-29 16:42:53 阅读279 评论0   字号:大中小 订阅 作者:老猫 PhMeetings是基于开源WEB视频会议系统OpenMeetings开发的一个实验性商业版本,原始蓝本来自OpenMeetings1.2。老猫花了好几个月的时间,费了九牛二虎之力至今天终于完成了一个目前还算过得去的版本,沾沾自喜中…… 由于资料的缺乏以及对OpenLaszlo编程的陌生,其中艰辛不足为外人道。今日发一声感慨:...
openMeetings二次开发高手的七篇文章
第一章PhMeetings——基于OpenMeetings的实验性商业版本 OpenMeetings 2010-09-29 16:42:53 阅读279 评论0   字号:大中小 订阅 作者:老猫 PhMeetings是基于开源WEB视频会议系统OpenMeetings开发的一个实验性商业版本,原始蓝本来自OpenMeetings1.2。老猫花了好几个月的时间,费了九牛二虎之力至今天终于完成了一个目前还算过得去的版本,沾沾自喜中…… 由于资料的缺乏以及对OpenLaszlo编程的陌生,其中艰辛不足为外人道。今日发一声感慨:如果你想折磨一个程序员,那就让他去干开源软件的二次开发! 好了,言归正传,先推销一下PhMeetings的演示地址: :5080/phmeetings 参考国内流行的一些C/S架构下的网络视频会议系统,老猫的PhMeetings在OpenMeetings基础上增加了一些适合独立进行商业运营的概念和功能,同时也删减了一些不符合国内网络环境或者形同鸡肋的功能。 删除的功能有: ●         SIP接入网关(IP phone在国内基本用不上) ●         预约会议功能(这个在商业运营商很难掌控) ●         屏幕共享功能(除非部署在局域网环境,否则会把人急死) ●         取消了其它类型房间的录制功能,只保留interview类型房间内的录制功能 新增的概念或功能: ●         房间目录树概念:用于对房间采用树状目录管理 ●         新增用户类型:房主。使得房间的租用概念得以商业化推广。 ●         房间计费管理及租用到期提醒功能 ●         新增房间管理后台功能:房主可以管理房间超级主持人、LOGO、背景、黑名单、白名单、链接及广告等。 ●         房间收藏和房间搜索功能:方便在众多的房间中找到你想要去的。 ●         房间锁功能:可对房间设置进入密码。 ●         踢出房间功能:超级管理员或者房主有权在房间里将捣乱的用户踢出系统。 ●         黑名单功能:将用户ID或者IP加入房间黑名单,该用户将被该房间拒之门外。 ●         白名单功能:列入房间白名单的用户在房间设置密码锁时可以不必输入密码验证。 ●         游客直接通过链接进入房间功能:房间租用者可以对游客开展产品推介或其它客服服务。 ●         房间内显示背景、LOGO、广告及链接功能 ●         房间欢迎语滚动显示 ●         增加了全屏显示功能(可惜全屏时聊天的输入无法使用) ●         增加了视频配置里的视频帧数调节 改进的部分有: ●         对界面进行美化和改进 ●         修正了移植数据库到ORACLE时的一些BUG ●         改进了房间的整体布局 ●         对中文化不彻底的地方进行了完善 ●         改进了视频的显示和布局方式 ●         改进了摄像头采集区域的一些BUG ●         优化了音频和视频参数配置 ●         增加用户默认头像的性别区分 ●         将用户信息从firstname、lastname等西方习惯改为昵称 欢迎有兴趣的朋友注册PhMeetings参与体验。或者以游客身份直接进入OpenMeetings技术群专属房间参与讨论。 第二章OpenMeetings二次开发实例(一)游客直接进入房间 OpenMeetings 2010-09-29 10:42:15 阅读474 评论1   字号:大中小 订阅 作者:老猫 决定写点东西,技术细节上的东西在二次开发过程中可以慢慢摸索和体会,如果要把这些改造过程中的细节都下来,对我这个懒人来说比较困难。作为IT行业的一个老兵,现在的兴趣已无法集中具体的代码上了,吸引我的更多的是如何设计一个系统,使它的性能和功能能符合某个领域的需求。 研究OpenMeetings已经几个月了,当初对这个项目感兴趣是因为这个项目是一个基于WEB的应用。而目前绝大部分投入实用阶段的视频会议系统都是基于C/S架构的,从CISCO的基于硬件的专业化视频会议系统,到新浪UC、9158等开放的视频聊天或KTV系统,都必须安装客户端甚至专用硬件。而OpenMeetings的特点是它把前台构筑在Flash的基础上(客户端被编译成了一个swf文件),如此,只要客户的机器的浏览器安装了Flash Player插件,就可以毫无障碍地运行起来。碍于Flash对于webcam的视频和音频的实时采样压缩和传输的能力,目前在性能上,OpenMeetings还无法与C/S架构的视频会议系统相比。但OpenMeetings的先天优势在于它的完全B/S架构,使得它可以无缝地与网站相衔接。 我们设想一些网络应用,比如企业的产品推广或者网上店铺的商品展示,它们的目标对象大部分不是固定的,而是随机的游客。采用传统的视频会议系统,需要下载安装客户端并且注册登录等一堆操作,对于只是路过的游客来说,99%是不可能做这些的。 假如我们只需要一个链接填写一个昵称就能进入到一个视频会议房间,该房间里有值班的客服,随时可以为你通过视频、白板等推介商品,那么至少有一半以上的游客是乐意这么做的。 我们设想的这个商业应用,很关键的一个环节是不需要注册和登录等等环节,也不需要用户熟悉这个系统或者去搜索某个房间的入口,而是通过网站上的某个链接地址点击直接进入指定的房间。比如某个网购门户,每个商家都在OpenMeetings拥有一个产品推介房间,那么它的店铺内就显示一个直通该房间的链接,游客点击该链接,系统要求用户输入一个昵称后就直接将用户重定向到该房间内由房间值班员和用户进行视频互动。 OK,我们就把这个应用当作一个方向来改进和设计OpenMeetings。那么今天的这篇文章,就来讲述一下如何在OpenMeetings上实现一个游客直通房间的功能。 首先,我们设计一个类,这个类用户实现游客的登录名的自动生成。系统接受游客时需要自动为游客生成一个登录名(login name),我们可以把它涉及成guestXXXXXX的形式,XXXXXX的号码是从0~999999之间顺序生成的。 public class GuestNumManagement { private static GuestNumManagement instance = null; private long currentNum=0; private GuestNumManagement() { } public static synchronized GuestNumManagement getInstance() { if (instance == null) { instance = new GuestNumManagement(); } return instance; } public long nextNum(){ if(currentNum>999999){ resetNum(); }      long n=currentNum++; return n; } public void resetNum(){ currentNum=0; } } 接下来,我们仿照OpenMeetings的SOAP接口来实现一个servlet,这个servlet接收房间号、游客的昵称和性别,然后调用SOAP接口组装成一个直接进入房间的url,并且将用户浏览器重定向到这个url。 public class DirectGateway extends HttpServlet { private static final Logger log = Red5LoggerFactory.getLogger(DirectGateway.class, "phmeetings"); protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { httpServletRequest.setCharacterEncoding("utf-8"); httpServletResponse.setContentType("text/html; charset=utf-8"); httpServletResponse.setCharacterEncoding("utf-8"); try { //获得房间ID String roomid = httpServletRequest.getParameter("roomid"); if(roomid==null){           PrintWriter out = httpServletResponse.getWriter(); out.println("未获得roomid,请检查参数!");                  out.flush(); out.close(); return; }
/
本文档为【openMeetings二次开发高手的七篇文章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索