為了將所有互助合作過程的所有影像、記錄、標誌做為有用的資料能在之後觀看,
我們將這些資料皆依時間儲存下來,並設計一套能同時處理這些資料並播放出來的系 統。每個互助合作的儲存記錄皆可以納入平台的資料庫,供使用者調閱觀看,並將這些 資料做有效的重複使用。將儲存記錄和重現播放分成兩個小節介紹。
3.5.1
記錄系統設計
設計方法:
一個視訊連線活動有多位成員使用者參與時,每個成員使用者皆會有自己的資料(串 流、標誌、對話、擷圖)送到伺服器上,所以一個活動的記錄是多個使用者的綜合,記 錄的方式是依照共同的伺服器時間順序排列,並記錄每個來源使用者的身分識別碼
(ID)。
首先,本系統平台的網站、影音、訊息伺服器皆會統一對時,使用共用的標準時間,稱 此時間為「系統標準時間」,所有記錄儲存時都是使用這個系統標準時間軸作記錄。
一個互助合作的過程會有四項資料需要記錄,每個資料的記錄方式皆不盡相同:
(1) 串流檔案(包含所有成員的影音串流、音訊串流)
當串流發佈到影音伺服器的同時,會將串流檔案存放在影音伺服器的硬碟中。所有 客戶端會發佈一份自己專屬的音訊串流在伺服器存檔,而一個活動只會有一個共用 的影音串流由發佈端發佈,若有發佈端切換,則取得發佈權的新發佈端會將發佈的 影音串流重新串接到此共用的檔案。
(2) 畫筆標誌
發佈標誌訊息到訊息傳遞伺服器的同時,亦會在伺服器上存檔。每位成員使用者皆
51
52
53
圖 3-34 播放畫筆記錄與文字對話的示意圖
3.5.3
重現系統之同步問題
3.5.3.1 系統標準時間軸
在多人視訊連線的時候,每個客戶端進入活動將音訊串流發送到伺服器上,皆會有 一個獨立的存檔時間,畫筆標誌動作或文字對話亦會在訊息傳遞伺服器存檔並記錄時 間。在重現播放的設計上,我們無法確保是先有串流檔案在影音伺服器上產生或是文 字、標誌記錄在訊息傳遞伺服器上產生。所以在播放器啟動進行初始化載入資料時,需 要比對所有存檔(包含串流、標誌訊息、文字對話)最早的時間記錄,做為此活動開始 運作的「啟動時間」。
有了啟動時間,接著將各種記錄依時間順序在系統標準時間軸上開始播放,如下圖為例:
圖 3-35 播放各記錄時間示意圖圖
每個串流檔案的播放間隔會受到使用者成員加入活動和開始發佈串流的時間影響,所以 播放時間間隔差異較大,而文字訊息和標誌訊息則是依活動內任一成員有在聊天室窗打
文字訊息開始 串流2 串流1
標誌訊息開始
串流3 串流N
系統標準時間軸
54
字或是在主畫面標誌的第一筆記錄為準開始播放。但只要確保所有儲存記錄皆是依照系 統標準時間軸依序播放,就能解決同步問題。
3.5.3.2 多串流播放
在進行一個多人連線活動時,會在影音伺服器儲存一個影音串流和依照活動成員人 數的多個音訊串流。之後要使用本平台的重現系統播放這些串流記錄時,需與影音伺服 器同時連接這多個串流播放。
當同時播放串流數越多,會造成影音伺服器處理延遲時間更長,使得應同時播放的 串流會因伺服器處理速度問題,各串流播放開始時間有些處差異,無法都對準系統標準 時間軸,可參考第四章「4.5.1 多人連線記錄之同步播放測試」的測試結果。
解決此問題的方法是在多位使用者受邀進入一個活動時,盡可能避免同時發佈音訊 串流,以錯開伺服器端音訊串流檔案儲存的建立時間。
55
Hardware Configuration
Processors Intel® Pentium® Processor E5300 @ 2.60 GHz (LGA 775) Motherboards ASUS P5KPL-CM (G31/ICH7) LGA 775
Memory 4 GB (2GBx2) Kingston KVR800D2N6/2G DDR2-800 6-6-6-18 @ 1.8 V
Graphics Integrated Intel Graphics Media Accelerator (Intel® GMA 3100) Network Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller
(L1e)
Storage Seagate Barracuda 7200.10 160 GB
(3)客戶端硬體規格:如表 4-2
表 4-2 測試用客戶端的硬體規格
Hardware Configuration
Processors Intel® Core™ i5 CPU 750@ 2.67 GHz 2.68GHz Motherboards ASUS P7P55D-E
Memory DDR3 4GB RAM
Graphics NVIDIA GeForce 9600 GT (600MHz,900MHz 256bit 1024MB) Network Realtek® 8112L Gigabit LAN controller
Storage Hitachi 7200 1TB