openmeetings3.0.x 源码编译+改造

环境要求:
Eclipse + JDK7以上版本
Apache ANT 1.8.3 以上版本 (Eclipse4.4以上版本自带Ant满足低配要求)
Subclipse 1.8 (Subversion 1.7 required!) http://subclipse.tigris.org/
SVN Command line client (Subversion 1.7 required!) http://subversion.apache.org/packages.html
Spring IDE for Eclipse (installable via Help > Eclipse Marketplace)
Apache IvyDE? For Eclipse (installable via Help > Install New Software) URL: http://www.apache.org/dist/ant/ivyde/updatesite detailed steps can be found here: http://ant.apache.org/ivy/ivyde/download.cgi
MySQL (or Postgres, or other Databases supported by openJPA) are optionally but handy to have them

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
编译方式过程:
用SVN Check出项目(URL: https://svn.apache.org/repos/asf/openmeetings/branches/3.0.x/),然后直接右键运行Ant build   
(注意事项:项目必须由svn来Check出,不然编译过程会报错。)

PS:第一次编译需要30-50分钟,需要下载的文件很多。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------
编译过程的问题:


错误1:
Cannot find javahl, svnkit nor command line svn client
答案:访问 http://www.sliksvn.com/en/download 下载Subversion client注意下载32位还是64位的,安装后就可以了

 


错误2:
D:\WorkspaceMeeting\最新版本OM\build.xml:967: Warning: Could not find file D:\WorkspaceMeeting\最新版本OM\${tools.jar.path} to copy.

原因:

第967行是这样:

<copy file="${tools.jar.path}" tofile="${project.lib.dir}/java_16_tools.jar" />
我再这行的前面增加了一行信息显示:
<echo message="Copy File from ${tools.jar.path} to ${project.lib.dir}/java_16_tools.jar" />
结果显示为:
[echo] Copy File from ${tools.jar.path} to D:\WorkspaceMeeting\最新版本OM/build/lib/java_16_tools.jar
说明tools.jar.path不认识

答案:在Eclipse的菜单:windows \ preference \ java \ installed JREs \ 中的 jre6指向  D:\Java\jdk1.6.0_31

因为我的D:\Java\jdk1.6.0_31\lib 这个目录下有 tools.jar


错误3:

如果一次性未编译完整,二次再变异可能会出现的状况。

svn: is not a working copy !      

答案:删除任务,重新check 出来再运行(暂时知道这种方法可行)。  

PS:如果出现问题需要重新check或者import,复制原项目目录下的build+dist两个文件夹至新项目内(Ant编译生成的文件会保存到这两个目录,重新编译不需要再下载之前已编译好的文件),然后再运行build.xml。



--------------------------------------------------------------------------------------------------------------------------------------------------
更改源码后需要Ant编译,然后再dist目录生成新的red5文件夹,再重新安装。

每次编译完后,需要重新安装openmeetings,大致步骤:删数据库,再新建;导入mysql-connector-java-5.1.26-bin。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------

源码改造:


一:interview会议室改为4个固定视频窗口
1.interviewVideoBox.lzx文件
<class name="interviewVideoBox" extends="view" width="322" height="281" bgcolor="0x000000"> 改为width="400" height="335" 


2.interviewWhiteboard.lzx文件
  <!--  <simplelayout axis="y" spacing="2" />  -->
    <commonVideoViewContent name="_videoviewcontent" >
        
        <!-- 增加视频窗口 -->
        <interviewVideoBox name="interviewVideoBox1" x="20" y="5" interviewPodId="1" />
        <interviewVideoBox name="interviewVideoBox2" x="480" y="5" interviewPodId="2" />
<interviewVideoBox name="interviewVideoBox3" x="20" y="390" interviewPodId="3" />
<interviewVideoBox name="interviewVideoBox4" x="480" y="390" interviewPodId="4" />
    </commonVideoViewContent>
3.FlvInterviewConverter.java文件
final int flvWidth = 400;
final int flvHeight = 335;

final int frameRate = 25;


二:房间内左上角菜单(去掉第二行的解释)
conferenceMenubar.lzx文件 
屏蔽所有“_ctextTooltip”相关行


三:隐藏进入房间视频选择窗,设定固定值
更改changeDevice.lzx文件  
    <method name="storelocaldata">
        <![CDATA[
        var so:SharedObject = SharedObject.getLocal('userdata');
        var sdata = so.data;
     <!-- if (sdata==null) sdata = new Array(); -->
        sdata["cam"]=availibleCams3.getValue();
        sdata["mic"]=availibleMics3.getValue();
        sdata["savecamdata"] = this.holddatainSO.getValue();
        so.flush();
        ]]>
    </method>
        <handler name="oninit">
            var so:SharedObject = SharedObject.getLocal('userdata');
       var sdata = so.data;
            var save = sdata["savecamdata"];
            <!-- if ($debug) Debug.write("savecamdata save: ",save);
            if(save)--> this.setValue(true);
    </handler>  


待续...




在功能上,视频会议具有如下特点 1、该方基于P2P技术,服务器压力小、流畅。用户之间可以互相获取数据,减轻对服务器的压力。(这个没查到资料,有待确认) 2、视频和音频即时交流,可以看到与会人员的视频图像,听到实时声音。 3、IM文字聊天功能,支持文字和表情的即时文字聊天功能。 4、白板功能,与会人员可以进行画图、写字、贴图等操作,实现同一个白板的共享。同时也支持导入ppt和word等文件,更方便您的演示。同时可以开启多个白板,使用Tab方式切换。 5、桌面共享,与会人员可以看到共享者的电脑的当前画面(可以指定任意大区域被对方看到,比如只允许对方看到右下角的一部分等),便于高级功能的演示。 6、强大的文件导入功能,支持.ppt/.doc/.txt/.rtf等文件的导入,支持.gif/.jpg/.png/.bmp等多种格式图片的导入。导入后的文件可以直接在白板上看到。 7、支持多对多模式(会议模式,多个人有视频摄像头),也支持1对多模式(1个老师,对多个学生的讲课) 8、权限控制,可以进行权限控制,控制与会者的范围,召开私有会议(只有授权者可见的会议)等。 9、多国语言支持,支持英文、简体中文、繁体中文等多国语言界面。 10、投票交流支持,支持投票系统。 11、录像功能,可以将会议过程录制下来。 12、可提供全部源代码、易用的安装包、文档和技术支持。 13、可提供二次开发SDK包,方便客户的二次开发,标准DLL和COM接口,可以在任意语言中调用。 14、高效的压缩技术:带宽占用极低,视频+远程桌面和白板等,只需要10几k的带宽,几乎只要能上网就能使用点量视频会议系统。 视频会议系统,提供系统内的全部源码,方便由开发人员进行二次开发和改动。 100M 局域网内可以支持上万人同时观看。单台4G的双核服务器最高可支持1万人同时在线; 普通3M ADSL可同时支持12-18路左右视频 ,语音大概90-150之间。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值