【開發平台】

1. 串流伺服器:Red5  Version 0.8.0
2. 網頁伺服器:Tomcat
2. Server端:Java JDK 6
3. Client端:Flex3.0、SDK3.2

【作品介紹】

這個專案有使用Flash的串流技術,來做影音串流的視訊會議系統
以及RTMP的持續連線功能,做即時聊天、文件互動、線上繪板等功能
我們使用Flex去開發Client端程式,利用ShareObject製作多人同步繪板

在文件上傳方面,我們利用JODConverter所提供的方法
把OpenOffice當作伺服器服務,幫忙做文件轉檔的動作。
Server端會每隔一段時間檢查上傳資料夾裡是否有文件檔案,
先將文件轉為pdf,再利用SWFTools將pdf轉為swf,
並將swf儲存為server端所指定的檔案名稱。
Client也是每隔一段時間會和伺服器詢問是否所需要的檔案已轉換完成,
當轉換完成時,就會下載該SWF檔案並秀在畫面上
(所有在會議室裡的玩家都可同步看到檔案出現)

這個專案在Server端我們有打造玩家認證流程
我們可以做全域廣播、以及單室的廣播。
Red5的持續連線服務為雙向的,可以由red5主動發訊息,也可以由Server端發送。
惟缺點是該版本的Red5串流服務尚不穩定,長時間使用易發生記憶體無法釋放的問題。
需要固定時間重啟伺服器避免伺服器當機。

【程式截圖】

線上會議系統1

剛登入系統時的狀況,上面有許多相關選單,可開/關相關的視窗面版
如果有開啟視訊和聲音的,在線上玩家列表左邊的圖示便會亮起來

線上會議系統2

開啟語音後,語音控制面版會顯示相關選項
包括音量調整、關閉語音控制
線上列表的圖示也會亮起來

線上會議系統3

若開啟了視訊,則視訊面板會變成自己的視訊狀況
若有別人開啟視訊,會議系統會自動開啟別人的視訊視窗
使用者可以選擇將視訊縮小、展開
點擊右邊的線上使用者列表左邊的圖示,可關閉該使用者的聲音及視訊。
被關閉的使用者的視訊上會有一個圓圈圈打xx的符號

線上會議系統4

選擇最右上角的上傳文件檔案,會出現一個選擇視窗
可上傳excel、doc、docx、pdf、rtf、odt及swf檔案

線上會議系統5

上傳時會出現上傳進度條,
上傳完成後,所有玩家的後方畫面會出現文字
請使用者靜待伺服器做文件格式轉換

線上會議系統6

文件轉換完成後,所有該室裡面的成員都會在白板上看到該文件
每個玩家都可選擇上面的『顯示文件內容』去選擇白板上是否要顯示文件內容
上傳文件的使用者會跳出文件控制視窗

線上會議系統7

可從控制視窗裡,控制文件切換上下頁、放大、縮小
所有的控制動作都是整個會議室裡即時同步的,
所有在會議室裡的玩家都可以看到對文件的縮放及換頁動作

線上會議系統8

最右下方的繪圖工具列是線上繪板的功能
所有玩家都可同步看到繪板上的圖形及文字,
我們會紀錄所有玩家的繪圖軌跡,因此後進來的玩家
也可以看到所有之前其他玩家的繪圖
並且可以復原自己所畫錯的圖形
每一筆繪圖都有獨一無二的編號,可做復原的動作