本章中將介紹實現本論文提出的動態頻寬法則之視訊串流系統架構。
【第五章】實驗數據及系統效能分析
本章將利用本論文提出的動態頻寬管理視訊串流分配法則,模擬在不同情況 下之數據驗證,並與實際發展的串流系統所得的數據做比較,且予以作相關的討 論。
【第六章】結論與未來展望
本章將對本論文做出總結,提出某些應該改進的地方,同時也提出本系統可 能延伸之部分。
第二章 基礎理論介紹
在本章中我們會介紹本論文所用到的串流技術及所使用的視訊串流伺服 器,幫助我們在檢視本視訊串流系統架構時,可以有更深入的了解。
2.1 多媒體串流與相關技術
隨著科技發展與網路時代來臨,人們常利用各式各樣的裝置(如 PC、PDA、
Notebook),透過網路連線隨時隨地的存取網路上的資源。以網路發展的趨勢來 看,從文字(BBS)與影像資訊(HTTP/HTML)的瀏覽,到多媒體影音資料的傳輸
(Movie),這都是網路時代的進步。
多媒體傳輸的發明是重要的技術突破,其對網路世界的衝擊,也發揮出極強 大的影響力(如 youtube 的發展)。
2.1.1多媒體串流技術簡介
多媒體資料(如影片、電視直播、音樂)的檔案容量通常都較為龐大,若採用 一般的下載方式來進行傳輸,則必須要等到整個檔案完全下載完後才可以觀看,
即會花費過多的等待時間;並且若將完整檔案整個下載後,也可能會產生著作權 的問題;另外,在某些數位設備上的儲存媒體較小(如 PDA),也無法支持此種方 式來觀看多媒體檔案;為了解決以上諸多的問題,便開始發展了多媒體串流 (Streaming)技術。
多媒體串流,係指在網路上連續傳送影音資料的傳輸方式,將聲音、影像或 動畫等以時間為基礎的媒體,由串流伺服器向使用者端的電腦連續並即時的串流 傳送,可讓使用者無須等到整個檔案全部下載,只需經過幾秒的延時即可觀賞多 媒體資料,以邊下載邊播放的方式,讓使用者節省大量的等待時間,達到迅速播 放多媒體檔案,能於線上欣賞連續而不間斷的高品質視訊及音訊。
圖 2-1 多媒體串流架構圖
圖 2-1 所示為多媒體串流架構,此架構主要由壓縮模組、串流伺服器與收視 端的撥放器來組成。壓縮模組的主要功能是將龐大的多媒體資料壓縮成可以在網 路上傳送的格式及大小,而串流伺服器主要功能是提供串流的建立、管理和傳 送;在接收端播放器的部份,則是負責接收及解壓縮並同步展現多媒體資料,然 後播放多媒體串流。
圖 2-2 及圖 2-3 為串流傳送端的與接收端之處理過程。如圖 2-2 所示,傳送 端透過訊號來源(擷取裝置如電視卡、攝影機或是本地端的多媒體檔案)獲得多媒 體資料,影像部分先透過串流伺服器轉換成多媒體串流的資料格式,接著透過網 際網路來對外傳輸這些封包。
圖 2-2 串流傳送端之處理過程
為了避免傳輸上的問題使收視端播放中斷,目前的串流機制都會在使用者播 放端建立緩衝區(Buffer),然後讓播放程式取用緩衝區的資料,以維持播放的順 暢及品質。
圖 2-3 為接收端透過網際網路接收到影像及聲音資料,先將這些封包存放到 緩衝區(Buffer)中,透過同步裝置將聲音與影像資訊同步,然後再由播放器輸出 接收到的多媒體資訊。
圖 2-3 接收端之處理過程
多媒體串流主要應用模式有以下兩種傳輸模式:
即時傳輸(On Live):訊號來源經過壓縮後,隨即利用伺服器,經由網際 網路傳送到播放器。標準的應用範例有雙向的視訊會議、電視頻道的轉 播和即時監控。
隨選傳輸(On Demand):多媒體資訊經過壓縮處理後,存放在伺服器內, 伺服器使用 HTTP(HyperText Transfer Protocol )通訊協定,所以此種方 式又稱 HTTP Streaming。使用此種方式的好處是只要使用一般的網頁伺 服器,並不需再另行建置串流伺服器,所以這種串流方式也稱為
Serverless Streaming 或 Pseudo Streaming;另外,HTTP streaming 也是最 先在市場上出現的串流方式。因為使用 HTTP 協定不容易自動偵測當時 網路環境,所以必須先備妥不同速率的資料,以適用於不同頻寬的網 路。又因為 HTTP 是使用 TCP(Transmission Control Protocol)通訊協定,
所以當傳輸資料遺失時會要求重傳,因此會很容易造成延遲(delay)。
第二類串流技術:係利用獨立的串流伺服器(Streaming server),以
RTP/UDP 為基礎的方式,將多媒體資料傳送到使用者端的播放器上播
放。因為此種方式是使用 RTP(Real Time Protocol)通訊協定,所以也稱 為 RTP Streaming。RTP 是網際網路上針對即時多媒體資料串流所發展 的一種傳輸協定。RTP 會以一定速率,傳送一條串流到使用者手上,只 要有足夠的頻寬,使用者就可以立即使用己端的播放器來播放串流資 料,而串流資訊播放完畢後資料就會消失,並不會在使用者的硬碟內儲 存下任何檔案,若要再次觀賞則必須再次連線。
第三類串流技術:播放器不內建在用戶端,而是在串流過程中才送到使 用者手上,此種串流技術稱 Clientless Streaming,此類技術主要應用在 行動裝置上,尤其是支援 Java 技術的平台。這類應用不需要在用戶端
UDP 傳送之串流。想要穿越防火牆必須使用 HTTP tunneling 的技術,
即將 RTP 包裹在 HTTP 封包中,以方便穿越防火牆。但是 HTTP tunneling 這種方法會增加許多額外的資訊,導致佔掉更多的頻寬。
RTP 亦可以搭配 RTSP(Real Time Streaming Protocol);RTSP 支援串流伺服器 與使用者端播放器的雙向溝通功能,使用者透過 RTSP 來下指令給伺服器,作像 是『暫停』、『快轉』、『倒帶』等的動作。
2.1.3串流媒體伺服器
目前支援收發與播放串流媒體的產品繁多,如蘋果電腦的 QuickTime Streaming Server、RealNetwork 公司的 Helix Server 以及微軟的 Windows Media Services 最為常見;而在本論文中使用的是 Open Source 的 Video Lan Client。
2.2 Video Lan Client (VLC) 2.2.1 簡介
VideoLan[6]計畫是一個開發多媒體播放器的計畫,爾後加入了影音串流傳輸 的功能。此計劃原本是 Ecole Centrale Paris(http://www.ecp.fr)的學生的一個專題計 畫,在 2001 年 2 月 1 日以 GNU General Public License (GPL)發佈後,現在計畫 成員橫跨二十多國。
作為VideoLAN最主要的軟體—VLC (Video LAN Client)多媒體播放器,現已 被研發成一個跨平台、具有完整特徵的多媒體播放程式及串流伺服器。圖2-4為 VLC所能提供的Streaming Solution:
圖 2-4 VLC 解決方案
VLC串流平台有以下幾點特色:
具有跨平臺的特性:現有Linux、Microsoft Windows、Mac OS X、BeOS、
BSD、Pocket PC及Solaris等版本。
支援媒體格式豐富:其壓縮格式函式庫核心使用FF MEPG,因此可支援之 格式豐富,下圖為其支援之媒體格式:
圖 2-5 VLC 所支援之媒體格式
模組化設計:可依開發者需求選擇符合的模組,減少不必要的浪費,同時可 依照功能需求調整到最佳化的系統架構。由於此模組化的設計同時可容易達 到跨平台或相容於各種不同的作業系統。
Thread:VLC採用Thread方式運作,有效節省系統資源。
支援豐富的串流協定:其支援之串流協定豐富,有HTTP、RTP…等多種串 流格式,圖2-6 為所支援之串流格式:
2.3Content Delivery Network (CDN) 2.3.1 簡介
隨著網際網路的發展,用戶端在使用網路時,對網站的瀏覽速度和效果愈加 重視,但是由於使用網路的人越來越多和網路探訪的路徑過長等問題,會使得用 戶端在網路上的使用效率受到嚴重的影響;特別是當用戶端與網站間的網路被突 發的大流量數據擁塞時,勢必會造成網站伺服端網路塞住而使用戶端等待許久的 問題;為了能改善以上缺點,並使用戶端都能使用較高品質的網路連線速度,因 此 CDN(Content Delivery Network)技術即應運而生。
圖 2-7 Content Delivery Network 架構
1996 年,由麻省理工學院一個小組提出了 CDN 的概念,並開始對 CDN 技
動態內容分配與複製技術:網站詢問的回應速度取決於許多因素,如網路的
網路具有高可靠、可用性,能容錯且易擴展。
CDN技術具有的優勢:
可減少消耗的網路頻寬,減少網路詢問的延遲和用戶端接收到的回
應時間。
提高網站資源的管理控制能力、分配路由和進行流量管理。
發送的內容受到保護,未授權的用戶不能修改。
內容提供者可在自己本地端決定服務的內容,且內容可為動態的。
內容提供者在降低成本的同時,也提高的服務品質;並提供的更多 的內容,速度也更快。
2.3.4CDN 應用
因為上述的特點和優勢,CDN 技術能加速與提高頻寬給串流媒體來使用,
使在網路中多媒體串流的用戶更加普及,並且應用非常廣泛,包括線上即時影音 播放、音樂多媒體點播、電視直播、遊戲等,可大大促進網路上的應用和服務的 發展。
第三章 動態頻寬分配法則
第一章中我們提到 Bandwidth Cost 是一個現實且重要的問題。在實務上,串 流服務提供者為了容納更多的使用者,必須要跟 ISP 租用更多的頻寬,同時,當 伺服器架構上,能最佳化的動態頻寬分配演算法;我們假設在一個 CDN Server 中,擁有所有以數個 Bit Rates 預先壓縮完的多媒體檔案,供收視端的 Client 發出
快速的隨選隨播,且能讓 Server 同時接受大量的使用者請求。在後續的實驗模擬 中,也將驗證我們提出該演算法的正確性和完整性。
3.1 串流伺服器之 CDN 技術架構
圖 3-1 多媒體串流伺服器之 CDN 技術架構
圖 3-1 為 CDN 技術上之多媒體串流伺服器的架構,此系統架構由一個 Video
Content 提供者和數個 CDN Server 所組成的,在 Video Content Provider 中預先儲 存所有欲供 Client 端觀看之相對應 Bit Rates 壓縮完後的多媒體檔案;我們將每部 Video 提供被點閱的 Bit Rates 定義為R ,...,1 RK, K 指提供的 Bit Rates 數,且定義
RK
R
R1≤ 2 ≤...≤ ,也就是 Bit Rates 較小的放前面;當 Client 欲點閱某相對應 Bit
Rates 之多媒體影音檔時,由 Provider 傳送該壓縮完後的多媒體檔案至距離 Client 最近的 Cache Server(CDN Server),再由該 Cache Server 提供多媒體串流檔給
Client 觀看。
由於使用者分散各地,每一個較接近使用者的 Cache Server 都會擁有不同數 量之相對應 Bit Rates 的 Video,在每個 CDN Server 都是獨立的使用我們提出的動
由於使用者分散各地,每一個較接近使用者的 Cache Server 都會擁有不同數 量之相對應 Bit Rates 的 Video,在每個 CDN Server 都是獨立的使用我們提出的動