随着 IBM Connections 的升级,IBM Connections 提供了更加方便的扩展方式,使客户能够方便的扩展 IBM Connections 的已有应用,将组织已有资产和 IBM Connections 集成,将 IBM Connections 嵌入到其它应用。Media Gallery( 媒体库 ) 是 IBM Connections 中社区 (Community) 组件的重要组成部分。它能够以多种形式展示图片,视频,音频等多媒体文件,此外还支持视频音频的播放。本文将先介绍如何扩展媒体库的文件类型来支持管理更多类型的视频文件,然后通过简单介绍 IBM Connections 的扩展点机制,来解析如何定制视频播放器来播放这些扩展的视频文件。
IBM Connections 是专门为满足业务需求而设计的一款社交软件。它能帮助商业人士组建主题专家网络,让他们更具创新力和生产力。它能促进创建由员工、合作伙伴和客户组成的活力社区,交换有创造力的想法,帮助不断增长业务。媒体库 (Media Gallery) 是 IBM Connections 中社区 (Community) 组件的重要组成部分。 它能够以多种形式展示图片,视频,音频等多媒体文件,此外还支持视频音频的播放。媒体库 (Media Gallery) 融合了社交网络软件的社会化特性,如标签功能,推荐功能,评论功能,多媒体文件内容或评论的审查功能等。文章 媒体文件的新管家 - IBM Connections 媒体库对其功能有详细的介绍,请参阅。
开箱即用的媒体库支持的音频视频文件类型如下:
表 1. 开箱即用的媒体库播放器支持的音频视频文件
容器类型 扩展名 视频编码 音频编码 MIME 类型 QuickTime .mov H.264(Core AVC) AAC video/quicktime MPEG .mp4 video/mp4
Flash Video .flv On2 VP6 Sorenson Spark Mp3 video/x-flv
因此,如果文件的扩展名不是 .mov,.mp4,.flv,用户就不能将文件上传到媒体库中,并且,即使通过更改扩展名,将文件上传上去,媒体库也不能播放这些文件,因为,开箱即用的媒体库对支持的编码有严格的限制,请看视频编码和音频编码栏。
然而目前市场上的多媒体文件类型多种多样,如 .3gp, mp3,wmv,rmvb,mpg 等等,面对如此多常用的视频文件,用户可能需要借助视频转换器,将其转换成 .mov,.mp4,.flv,才能上传到媒体库中,这是非常不方便的。那么有没有一种方法,可以使媒体库支持更多类型的多媒体文件呢 ? 下面我们就介绍媒体库的一个高级定制特性,您可以通过定制,实现媒体库管理更多种扩展名的文件,并更改媒体库使用的播放器,使用您喜欢的或者你拥有的功能更强大的播放器。
定制媒体库支持的扩展名
在具体的定制步骤开始之前,我们需要根据常用用户需求来分析,需要扩展哪些扩展名。在此我们如下考虑:
1.swf 是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域,swf 文件通常也被称为 Flash 文件。swf 普及程度很高,现在超过 99% 的网络使用者都可以读取 swf 档案。考虑 Flash 文件的流行性,我们考虑支持这种类型的媒体文件
2.3pg 是一种 3G 流媒体的视频编码格式,主要是为了配合 3G 网络的高传输速度而开发的,也是手机中的一种视频格式。3GP 是 MP4 格式的一种简化版本,目前 3GP 档案有两种不相同的标准:3GPP(针对 GSM 手机,扩展名为 .3gp),3GPP2(针对 CDMA 手机,扩展名为 .3g2) 这两种格式影像方面都采用 MPEG-4 及 H.263,而声音则采用 AAC 或 AMR 标准。考虑移动设备的流行性,有很多视频可能是这种格式的。
3. rm 和 rmvb . RM 格式是 RealNetworks 公司开发的一种流媒体视频文件格式,可以根据网络数据传输的不同速率制定不同的压缩比率,从而实现低速率的 Internet 上进行视频文件的实时传送和播放。RMVB 格式,是在流媒体的 RM 影片格式上升级延伸而来。VB 即 VBR,是 Variable Bit Rate(可改变之比特率)的英文缩。RMVB 打破了原先 RM 格式那种平均压缩采样的方式,在保证平均压缩比的基础上,设定了一般为平均采样率两倍的最大采样率值。将较高的比特率用于复杂的动态画面(歌舞、飞车、战争等),而在静态画面中则灵活地转为较低的采样率,合理地利用了比特率资源,使 RMVB 在牺牲少部分你察觉不到的影片质量情况下最大限度地压缩了影片的大小。作为电影的主要压缩格式,我们也考虑支持这种类型的媒体文件。
综上,我们通过下面的定制,实现媒体库在支持原有视频文件扩展名的基础上,还能支持 .swf,.3gp,.3g2,.rm,.rmvb。
以部署到 IBM WebSphere Application Server 上为例,具体的操作步骤如下:
找到 widgets-config.xml 文件
如果您的环境是一个集群环境,请到 DM 概要文件下找到此文件,如 ..\WebSphere\AppServer\profiles\Dmgr01\config\cells\<cell_name>\LotusConnections-config\widgets-config.xml ;AppSrv 概要文件下找到此文件,如 ..\WebSphere\AppServer\profiles\AppSrv01\config\cells\<cell_name>\LotusConnections-config\widgets-config.xml,下文一集群环境为例。
检出 widgets-config.xml 文件
widgets-config.xml 文件是社区组件的配置文件,我们需要运行 wsadmin 命令对其检出。代码清单如下:
清单 1. 运行 wsadmin,检出配置文件 widgets-config.xml cd <WAS_HOME>\profiles\Dmgr01\bin wsadmin.bat – lang jython – user <wasadmin> -password <admin_password> execfile("communitiesAdmin.py") CommunitiesConfigService.checkOutWidgetsConfig("C:/tmp2","MyServerNode01Cell")
其中 C:/tmp2 是检出文件所在的临时目录,您可以将文件临时放到任意您方便的路径。MyServerNode01Cell 是部署了社区(Community)的 WebSphere Application Server 的单元(cell)名字,这个参数是必须的,大小写敏感的。
编辑检出的文档,加上扩展名 .swf,.3gp,.3g2,.rm,.rmvb 在临时工作目录 C:/tmp2 找到检出的 widgets-config.xml 文件,找到 <item name="validVideoExts" value="mp4,mov,flv" />,在 value 处,添加扩展支持的文件扩展名,用逗号隔开,如:<item name="validVideoExts" value="mp4,mov,flv,swf,3gp,3g2,rm,rmvb" />,保存文件。
检入更改后的文件 CommunitiesConfigService.checkInWidgetsConfig("C:/tmp2","MyServerNode01Cell")
重启应用,验证更改的结果。