• 改造OpenMeetings成为Flash视频聊天室(四)
    时间:2009-04-12?? 作者:佚名?? 出处:互联网

    --------------------------------------------------------------------
    改造OpenMeetings成为Flash视频聊天室(一)
    改造OpenMeetings成为Flash视频聊天室(二)
    改造OpenMeetings成为Flash视频聊天室(三)
    改造OpenMeetings成为Flash视频聊天室(四)
    --------------------------------------------------------------------

    本来是没什么东西好写的了,不过这几天的持续改造中又出现了各种让人比较头疼的问题,准备将这篇文章作为持续更新,遇到比较疑难的问题我会一直发上来。

    1. 改进摄像头

    ??? 这不知道是否算的上个bug,google了一下,中文网页没见人提过,英文的话。。俺英文比较差看不太懂,呵呵。
    ??? 现象是这样的,进入房间后显示的视频,会根据不同的摄像头被切掉一部分,有的摄像头只切掉边缘一小块,而有的摄像头甚至只显示了原面积的1/9,平时可以看见一个身体的,这里却只能看见一只眼睛。
    ??? 由于我的需求是需要让不同的视频框有不同的大小,俺花了一个下午的功夫才搞定摄像头视野被裁切的问题,下面是修改的部分,大家可以自己修改试试。
    ??? /conference/remote/devvideoview.lzx文件中,在类devvideoview中增加两条attribute:

    ???????
    ???????

    ??? 修改中:

    ??????????? vid._width = this.width;
    ??????????? vid._height = this.height;

    ??? 改为:

    ??????????? vid._width = this.myWidth;
    ??????????? vid._height = this.myHeight;

    ??? 修改中:

    ??????????? if (!this._clipinitdone) {
    ??????????????? this.width = w;
    ??????????????? return;
    ??????????? }

    ??? 改为:

    ??????????? if (!this._clipinitdone) {
    ??????????????? this.width = 576;
    ??????????????? this.myWidth = w;
    ??????????????? return;
    ??????????? }

    ??? 修改中:

    ??????????? if (!this._clipinitdone) {
    ??????????????? this.height = h;
    ??????????????? return;
    ??????????? }

    ??? 改为:

    ??????????? if (!this._clipinitdone) {
    ??????????????? this.height = 432;
    ??????????????? this.myHeight = h;
    ??????????????? return;
    ??????????? }
    ?

    2. 修复房间用户数量不增加问题

    ??? 我的版本r988有这个问题,感觉这也算一个bug。
    ??? 问题的现象是,用户加入房间后房间的用户数量始终为0,这样主要是房间人数上限就没有起到作用了。后来看了下程序,发现是客户端调用rooms_id不正 确导致的,只需要修改/xmlcrm/content/conference/roomlistItem.lzx文件,将所有的 this.obj.rooms_id全都改为this.obj.room.rooms_id即可解决问题。

    ?

    3. 服务器端代码嵌入中文,ant提示中文警告的问题

    ??? 这个其实不算是openmeetings的问题,不过开始还是让我头痛了一把。由于ant编译的默认编码是根据系统的编码来确定的,因此如果java文件 存成utf-8而系统编码又是GBK(win2000)或者GB18030(winxp)里面又含有中文,那么ant编译的时候就会提示警告。如果只是注 释是中文,则警告也不会有什么影响,但是如果有字符串里面写着中文,就出问题了。
    ??? 解决方法是查找build.xml文件中所有的javac标签,为其加上属性encoding="UTF-8"即可解决问题。

    ?

    4. RED5服务器0.7以上版本无法配置针对项目的log的问题

    ??? 这个问题是由于red5服务器最新版由log4j改为使用logback导致的。如果使用red5 0.63或以下版本,原来的openmeetings中的配置是没有问题的,如果使用0.7或以上版本,则openmeetings需要修改才能使之按照 项目配置正常输出log。方法如下:

    ??? (1) 在openmeetings下的lib/red5中删除以下jar包,这里注意,如果项目中有其他的log4j-xxx.jar也要删除

    ??? slf4j-api-xxx.jar
    ??? log4j-xxx.jar
    ??? slf4j-log4j12-xxx.jar
    ??? jcl104-over-slf4j-xxx.jar
    ??? slf4j-simple.jar
    ??? slf4j-simple-xxx.jar
    ??? commons-logging-xxx.jar

    ?

    ???? (2) 在red5安装路径下的lib中找到如下jar包:

    ??? slf4j-api-xxx.jar
    ??? logback-core-xxx.jar
    ??? logback-classic-xxx.jar
    ??? log4j-over-slf4j-xxx.jar
    ??? jcl104-over-slf4j-xxx.jar

    ??? 复制到openmeetings下的lib/red5中并将其加入eclipse的classpath

    ?

    ??? (3)? 在openmeetings项目中webapps/openmeetings/WEB-INF/web.xml文件中删除以下段落

    ???
    ??????? log4jConfigLocation?????
    ? ?? ?? /WEB-INF/log4j.properties
    ???

    ??? 以及以下段落

    ???
    ??????? org.springframework.web.util.Log4jConfigListener
    ???

    ?

    ??? (4)? 删除openmeetings项目中所有的log4j.properties和log4j.xml,应该是有两个 webapps/openmeetings/WEB-INF/log4j.properties和src/app/log4j.properties

    ??? (5) 最后在src/app/添加logback.xml文件,内容如下:




    ???
    ??? ???
    ??? ??? ???
    ??? ??? ??? ??? %d{MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n
    ??? ??? ???

    ??? ???

    ???

    ???
    ???
    ??? ???
    ??? ???
    ???


    ???
    ??? ???
    ???

    ???
    ??? ???
    ???

    ???
    ??? ???
    ???

    ???

    ??? (5) 这样不需要修改代码,重新启动项目就可以看到logback的输出了,平时的使用和log4j一摸一样,同样是导入 org.apache.log4j.Logger类进行操作,因为log4j-over-slf4j.jar包中的类覆盖了原log4j的类,呵呵

    ??? (6) 使用logback还有一个最大的好处,就是logback提供了eclipse的插件,可以直接将red5的内容输出到eclipse的控制台中进行输 出,非常方便。插件下载地址在: http://logback.qos.ch/consolePlugin.html
    ??? 提醒一下。。。记得一定要配置插件的filter哦。。。不然会被log弄爆的,哈哈

    ?

    好了,to be continue...

    --------------------------------------------------------------------
    改造OpenMeetings成为Flash视频聊天室(一)
    改造OpenMeetings成为Flash视频聊天室(二)
    改造OpenMeetings成为Flash视频聊天室(三)
    改造OpenMeetings成为Flash视频聊天室(四)
    --------------------------------------------------------------------

    网友留言/评论

    我要留言/评论

    相关文章

    可视电话的关键技术及单机解决方案:本文在对H.320、H.324和H.323等多媒体框架协议分析的基础上,给出了一种基于媒体处理器TM1300的软硬件解决方案。
    透过“宝视通”看中国视频市场新发展:2003年,以中国联通“宝视通”为代表的电信级视频业务服务的推出,有效地促进了视频应用水平的提高,也促使我国的视频市场进入了新的发展阶段。
    企业视频通信的发展趋势和市场状况:可以预见,企业用户对视频通信需求的不断扩大,以及视频通信技术的日益成熟,将进一步促使视频通信走向平民化,中国的视频通信行业也必将迎来盼望已久的春天。
    基于H.323的硬件视频会议系统:文章对基于H.323的硬件视频会议系统的功能效果进行了一定的介绍。
    基于流媒体的软件视频会议系统:文章对基于流媒体的软件视频会议系统从系统功能、系统特色等方面做了阐述。
    视频会议系统体制分析:从视频会议技术发展的历史来看,目前视频会议系统的建立可以依据ITU-T的两大框架建议H.320和H.323来进行,从而形成两种不同的建设方案......