• 沒有找到結果。

軟體架構設計

第三章 MPEG-4 串流軟體設計與規劃

第四節 軟體架構設計

串流視訊系統的建構,需要有著提供視訊來源的server 端和能接收串 流視訊的client 端。由於 VWEB VW2010 同時具視訊壓縮、解壓縮的功能,

可以提供製作視訊來源及視訊播放的功能。為充分利用硬體資源,此軟體 設計目標為發展功能兼具的串流視訊軟體,可以同時勝任server 端及 client 端的工作。

Streaming out via NETWORK Store as FILE Video source from

Video source from

Functions of Streaming Server Vweb VW2010

+

Toshiba RHBMA4500

Streaming Software

Show on TV Store the receiving data

from NETWORK as FILE

Video source from FILE Video source from NETWORK

Functions of Streaming Client

Show on PC

Client 端主要的目的在於接收從網路上來的串流視訊外並播放出 來。除此之外,亦提供擷取串流視訊或將硬碟中的視訊檔經 VWEB VW2010 codec card 解壓縮後直接播放的能力。

二、 軟體設計

本串流軟體 Vweb streamer(簡稱 vstreamer)主要分為四部分:1.

vstreamer.c 2. interfac.h 和 interface.c 3.StartHW.c 4.udp.c。其功 能分述如下:

1. Interface.h: 主程式與副程式間溝通的介面,定義程式執行所需 的資料類別。主要包括程式執行的模式、啟動VWEB VW2010 codec card 所需的資料型別、網路溝通所需的資料型別、緩衝區 的大小等。Interface.c: 其工作在於初始化 interface.h 裡所定義 的資料型別及這些資料的清除。主要提供 (1). 設定程式間溝通的 部分的主要工作在於VWEB VW2010 codec card 的啟動,提供視 訊壓縮、解壓縮的功能。除此之外,包括資料輸出入與硬體處理 速度的協調,例如:何時該接收串流視訊、送出串流視訊,接收 多少資料或送出多少資料等。

UDPOpen()、UDPRead()、UDPSend()、UDPClose(),分述如下:

(1). UDPOpen(): 用以建構溝通所需的管道(UDP socket)。主要包 括UDP socket 的建立、socket 屬性的設定,例如:socket 的重 複利用性,接收、傳送時所需的緩衝區大小、接收端或傳送端 Embedded System 由 Embedded QT 版本執行 Compiler,使得開發時 間得以大幅縮短,且讓程式開發人員對於開發軟體更容易上手。

由於串流應用程式分成主要兩個部份:Server & Client,故在設計使 用者介面應用程式時,便由此兩部分著手分別完成此兩部分使用者介面 程式。

在設計過程中,一開始使用QT Designer 建構如圖 3-8、3-9 的版面 配置,完成其 .ui 檔,之後便可將版面元件與程式所需信號與功能作一 連結,如圖3-7 所示,藉由版面元件的觸發信號啟動程式的某一個功能。

之後再撰寫 C++ code .cpp 檔,將 GUI 程式及多媒體串流程式整 合,以及紀錄相關IP、PORT 等資訊並提供給系統內部串流程式,進行 網路串流的相關工作。

3-7 Single & Slot Function 編輯介面

1. Server 端使用者介面程式

3-8 Server 端使用者介面

由於為開發版本,故尚未考慮版面美觀設計,僅止於以達到系統 功能需求為目的。

由圖 3-8 可知在 Server 端的部份,著重於網路的 Streaming 功 能,並簡化介面,使得使用者僅需使用接收端的IP 及 PORT 便可進行 Streaming 的傳送,而相關 Flow Control 等網路傳撥機制則隱藏於使 用者介面之中,透過流量控制演算法等逕自決定,如此透過精簡的介 面可使程式使用更容易上手。

2. Client 端使用者介面程式

3-9 Client 端使用者介面

在 Client 端的部份,由於系統提供了針對不同多媒體類型所提出 的許多組態檔以及在播放時的解碼器,因此連帶使得 Client 端使用者 介面程式較為繁瑣。

在第一個部份的 Configure File 便是可讓使用者根據所接收的多 媒體資料去選擇自己所需要的多媒體組態檔。 而在選擇檔案及檔案 處理的部份,可依檔案的來源選擇從網路上直接播放獲直接播放以及 直接從本地端播放。而為了提供使用者更多進階的解碼及播放需求,

提供了數個”Mode”可供選擇,以使使用者能依最適合自己的處理方式 去播放檔案。

相關文件