1. 程式人生 > >Openmeetings4.0.0二次開發日誌(一)

Openmeetings4.0.0二次開發日誌(一)

由於公司業務要求,需要尋找一款開源的視訊會議專案加入到我們公司的業務中。網上此類的開源專案雖然很多,但是坑也很多,要麼有的已經停止更新維護多年,要麼有的bug成災,要麼有的連著硬體軟體一起賣。。。。。為了找個強大好用的開源把我折騰得夠嗆,一番尋找之後,發現了Openmeetings這款開源軟體,感覺還不錯,功能很強大,到現在依然在被官方維護,是一個視訊會議專案的不錯選擇。從網上查找了許多和Openmeetings的相關資料,發現這些資料用的版本都比較舊,一般都是2.x或者3.x版本的,並且研究的方向大多集中在安裝部署,對Openmeetings的原始碼,和具體的二次開發的問題講得相對較少,且沒有細節問題的描述。於是決定把我自己開發過程中的成果和遇到的問題做成日誌分享出來,以供後面的同學們參考。
首先先介紹一下Openmeetings:
Openmeetings是Apache的一個開源專案,以前相關資訊會發布到googlecode這個網站上,現在googlecode已經不再接受Openmeetings的更新,Apache網站是目前唯一接受更新的地方。在這裡給出網址

http://openmeetings.apache.org/
Openmeetings提供視訊會議,即時通訊,白板,協作文件編輯和其他元件工具,使用Red5流媒體伺服器的API函式進行遠端處理和流處理。在這裡簡單羅列一下Openmeetings的功能。
1 音訊,視訊功能。

2 會議錄製和螢幕共享功能

螢幕共享功能需要裝java執行環境,且最好裝版本高一點的,這個功能以後我會詳細講。
3 檔案管理功能

4 許可權功能
5 白板和聊天功能

6 使用者和房間管理
7 私人資訊中心功能
8 整合日曆計劃會議功能
這裡寫圖片描述
9 民意調查和投票
這裡寫圖片描述
10 備份功能,可以將所有使用者資料備份到zip檔案中。
總體來說,功能還是挺多挺強大的。對了,以上截圖都是最新的Openmeetings4.0.0版本的截圖,以後的相關原始碼和編寫的demo也是基於這個版本。這個版本於2017年10月30日更新,新版本有這麼幾個改進:
- 房間白板功能被用html5重寫。以前用的flash
- 所有音訊/視訊元件都使用Apache Flex重寫
- 編寫了一堆自動測試,程式碼被清理和簡化
- 過時的SMSlib已被中刪除
- 室內RTL得到改善
- 不再需要swftool第三方工具
- 效能提高

既然是開源專案,那麼原始碼肯定是少不了的了。openmeetings4.0.0原始碼下載地址
或者你也可以直接從git上匯出原始碼:$ git clone https://github.com/apache/openmeetings.git
另外再附一個最新版github的地址:https://github.com/apache/openmeetings/tree/4.0.3 建議用最新版,bug要少很多
最後匯出完的原始碼目錄:
這裡寫圖片描述
一共有10個子模組,其中比較重要的是web和webservice模組。webservice模組結構如下:這裡寫圖片描述
webservice裡面主要是openmeetings對外發布的webservice介面,開發者可以呼叫這些介面實現越過登入頁面建立房間等操作。
好了,這篇日誌就寫到這,下一篇我會將講一講如何呼叫這些介面越過登入頁面並實現一些小的demo,有興趣的同學可以關注一下。