結論與未來展望

在文檔中 動態頻寬管理視訊串流伺服器 (頁 16-62)

本章將對本論文做出總結,提出某些應該改進的地方,同時也提出本系統可 能延伸之部分。

第二章 基礎理論介紹

第二章 基礎理論介紹

在本章中我們會介紹本論文所用到的串流技術及所使用的視訊串流伺服 器,幫助我們在檢視本視訊串流系統架構時,可以有更深入的了解。

2.1 串流媒體與相關技術

隨著科技發展,網路時代來臨,人們時常利用各式各樣的裝置(如 PC、PDA、

Notebook),透過網路連線隨時隨地的存取網路上的資源。以網路發展的趨勢來 看,從文字(BBS)瀏覽到影像(HTML)瀏覽,到多媒體影音資料的傳輸(Movie)。

多媒體傳輸的發明是重要的技術突破,其對網路世界的衝擊,也發揮出極強 大的影響力(如 youtube 的發展)。

2.1.1串流媒體簡介

多媒體檔案(如影片、電視直播、音樂)的檔案容量通常都較為龐大,如果採 用一般的下載方式來進行傳輸,必須要等到完全下載完後才可以觀看,會花費過 多的等待時間,另外在某些儀器上儲存媒體比較小(如 PDA),也沒有辦法支持此 種方式,為了解決以上的問題便開始發展了多媒體串流技術(Media Streaming)。

多媒體串流,係利用串流技術在網路環境上傳輸多媒體檔案。透過串流技術 傳輸影音多媒體,可讓使用者無須下載完整檔案,便可以一邊下載一邊播放,讓 使用者節省下大量的等待時間。

第二章 基礎理論介紹

為了避免傳輸上的問題造成播放中斷,目前的串流機制都會在使用者端建立 緩衝區(Buffer),播放程式便取用緩衝區的資料,以維持播放的順暢及品質。

圖 2-1 多媒體串流架構圖

圖 2-1 所示為多媒體串流架構,此架構最主要有幾個模組:壓縮模組、串流 伺服器與收視端的撥放器。壓縮模組主要功能是將多媒體資料做壓縮,壓縮成可 以在網路上傳送的格式及大小,因此壓縮模組可說是整個系統的核心。串流伺服 器主要功能是提供串流的建立、管理與傳送。接收端播放器主要負責接收及解壓 縮然後播放多媒體串流。

圖 2-2 及圖 2-3 為串流傳送端的與接收端之處理過程。如圖 2-2 所示,傳送 端透過訊號來源(擷取裝置如電視卡、攝影機或是本地端的多媒體檔案)獲得多媒 體資料,影像部分先透過串流伺服器轉換成多媒體串流的資料格式,之後透過網 際網路傳輸這些封包。

圖 2-2 串流傳送端之處理過程

第二章 基礎理論介紹

如圖 2-3 所示,接收端透過網際網路接收到影像及聲音資料,先將這些封包 存放到緩衝區(Buffer)中,透過同步裝置將聲音與影像資訊同步,最後再由播放 器輸出多媒體資訊。

圖 2-3 接收端之處理過程

多媒體串流主要應用模式有兩種:即時傳輸(On Live)與隨選傳輸(On

Demand),分述如下[4][5][6]:

„ 即時傳輸(On Live):訊號來源經過壓縮後,隨即利用伺服器,經由網路 傳送到播放器。標準的應用範例有雙向的視訊會議、電視頻道的轉播以 及即時監控。

„ 隨選傳輸(On Demand):媒體經過壓縮處理後,存放在伺服器的資料庫 內,當使用者向伺服器提出播放要求時,伺服器才經由網際網路傳送到 使用者手上。標準的應用範例有隨選視訊、線上音樂商店(iTune)。

第二章 基礎理論介紹

2.1.2支援串流媒體之傳輸協定

目前串流技術大致可分成三類:

„ 第一類串流技術:係利用網頁伺服器,將多媒體資料送的使用者手上。

因為網頁伺服器使用 HTTP(HyperText Transfer Protocol )通訊協定,所 以此種方式又稱 HTTP Streaming。使用此種方式的好處是不需再另行建 置串流伺服器,這種方式也是最先在市場上出現的串流方式。因為使用

HTTP 協定不容易偵測當時網路環境,所以必須先備妥不同速率的資 料,以適用於不同頻寬的網路。又因為 HTTP 使用 TCP(Transmission

Control Protocol)通訊協定,當傳輸資料遺失時會要求重傳,因此會形成 延遲(delay)。

„ 第二類串流技術:係利用獨立的串流伺服器,將多媒體資料送到使用者 手上。因為此種方式是使用 RTP(Real Time Protocol)通訊協定,所以稱 為 RTP Streaming。RTP 是網際網路上針對多媒體資料串流所發展一種 傳輸協定。RTP 會以一定速率,傳送一條串流到使用者手上,只要有足 夠的頻寬,使用者可以立即的播放資料,播放完畢資料就會消失,要再 次觀賞必須透過再次連線。

„ 第三類串流技術:播放器不內建在用戶端,而是在串流過程中才送到使 用者手上,此類應用技術主要在行動裝置上使用,尤其是 Java 平台。

這類應用不需要在用戶端安裝太多程式,只有在需要使用時,才將 Java

第二章 基礎理論介紹

版的撥放器送到用戶端並且播放串流。

其中 RTP 傳輸由於使用 UDP(User Data Protocol),所以會比 TCP 快速且有 效率,因此可以減少延遲現象。但是 UDP 有兩點缺點:

„ UDP 缺乏回報機制,所以在網路上幾乎都會有封包遺失的狀況,此種

問題會造成品質下降。

„ 大多數的防火牆都會擋掉 UDP 封包,所以在防火牆內無法接收到由

UDP 傳送之串流。想要穿越防火牆必須使用 HTTP tunneling 的技術,

即將 RTP 包裹在 HTTP 封包中,以方便穿越防火牆。但是此種方法會 增加額外的資訊,導致佔掉更多的頻寬。

RTP 又可以搭配 RTSP(Real Time Streaming Protocol)讓使用者透過 RTSP 來 下指令給伺服器作像是『暫停』、『快轉』、『到帶』等等的動作。

第二章 基礎理論介紹

2.1.3串流媒體伺服器

目前支援收發與播放串流媒體的產品繁多,如蘋果電腦的 QuickTime Streaming Server、RealNetwork 公司的 Helix Server 以及微軟的 Windows Media Services 最為常見,而本論文使用的是 Open Source 的 Video Lan Client,以下簡 述其特色:

„ QuickTime Streaming Server

利用開放標準,QuickTime Streaming Server [7]能夠透過網際網路提供即時 或是預錄的多媒體資料。藉由 Instant-On 這個創新串流技術,使用者點選的的內 容會在其連結點選時立刻播放,不需等待檔案下載完畢。

QuickTime 檔案屬於高畫質,因此檔案大小相對較大。網路頻寬小的使用者 觀看上會比較吃力,而且因為 QuickTime Player 所需的系統資源較高,因此較不 適用於行動裝置。電影預告、產品展示等需要高畫質表現的用途常常使用其支援 之格式。

圖 2-4 QuickTime Streaming Server(1)

資料出處:http://www.apple.com.tw/quicktime/streamingserver/

第二章 基礎理論介紹

圖 2-5 QuickTime Streaming Server(2)

資料來源:http://www.apple.com.tw/quicktime/streamingserver/

„ Windows Media Services

Windows Media Services[8]為微軟內附於 Windows 2003 server 之串流伺服 器。原本串流市場由 RealNetworks 的 RealSystem 佔有較大市場,但是在微軟強 勢的行銷下,市佔率逐漸追過 RealSystem。其所使用的串流技術 WMV 宣稱在 ADSL 的傳送速率下,可以提供更好的品質。

WMV 的撥放器使用 Windows 內建之 Windows Media Player,Windows 作業 系統的普及讓使用者不需另外安裝 WMV 播放器是此伺服器的一大特點。另外 Windows Media 增加了版權保護功能,可以限制播放及操作,這對於智慧財產權 的保護有很大的幫助。

第二章 基礎理論介紹

„ Helix Server

RealNetworks 公司首先推出了串流媒體技術,隨著網際網路的快速發 展,公司迅速的發展在市場上佔有主要的地位。因為很早就開始發展串流技 術,所以 Helix Server[9]擁有最多的使用者。

Helix Server 有許多先進的設計,例如:Two-Pass Encoding 二次編碼技 術,可以通過對媒體內容進行一次掃描,再根據掃瞄結果提高編碼效果,唯 此方法對於直播(Live Broadcast)無法支援。其音頻部份的壓縮採用 Real Audio,此種編碼於網路頻寬不足之環境下有良好的傳輸性能。

Helix Server 串流需用 RealPlayer 播放器進行播放,其使用非常方便,

系統資源佔用相比於 Quick Time Player 較低,是良好的串流系統。

„ Darwin Streaming Server

Darwin Streaming Server[7]是蘋果電腦的開放程式原始碼計畫之一,其核心 程式為 QuickTime Streaming Server,目前版本為 version 5.5.5。Darwin Streaming

Server 中實作了 RTP、RTSP、SDP 等標準。能提供群播、單點傳播、HTTP 等 多種傳輸方式,同時支援多種作業平台。

Darwin Streaming Server 可以分為兩大部分,共用工具部分與核心部份。其 中核心部份主要負責封包處理、流量控制、RTSP 流程控制及建立連接等工作。

共用工具部分負責網路運作與職環境相關性高的工作。

第二章 基礎理論介紹

2.1.4 Codec 與 Container format

此節將概述一下 Codec 與 Container format 的不同之處。

„ Codec 為壓縮演算法,其作用在於縮小多媒體資料的大小,Codec 包括有

video codec 與 audio codec,分別負責影像以及聲音的編解碼程序。常見的

Codec 有 MEPG-1、MEPG-2、MEPG-4、Divx 以及 H.264。

„ Container format 則是包含了一個或是多個 codec 編碼後的串流,包括影像串 流(Video Stream)以及聲音串流(Audio Stream)。常見的 Container format 有

MPEG-PS、MPEG-TS、ASF、MOV 以及 AVI。理論上我們可以任意將 code 後的串流放進 container 中,但是實際上還是有相容性的問題。

下圖列出可以互相搭配的 Codec 與 Container format:

圖 2-6 Muxer / audio and video formats matrix

第二章 基礎理論介紹

2.1.5 固定與可變 BitRate

„ 固定 BitRate:因壓縮方式的不同,使得在傳輸過程中有些應用需要保 持一定的 BitRate。在 Streaming 時由 Server 端直接送出不需要做調整,

其 BitStream 的 BitRate 不會變動。

„ 可變 BitRate:在一些壓縮方式下,多媒體資料可以允許在傳送時有不 同的 BitRate,亦及傳送的 BitStream 其 BitRate 可以變動,這需要在

Encode 之時下參數。在實際應用上,當我們發現當時網路狀況不穩,

可以及時的將多媒體串流以較低的 BitRate 產生且送出,使得使用者可 以獲得較順暢的串流。

在一般伺服器會在判斷連線狀態後,針對網路情況來調整,而調整方式為針 對 BitRate 的增加或減少來做調整

第二章 基礎理論介紹

2.2 Video Lan Client (VLC)

2.2.1 簡介

VideoLan[10]計畫是一個開發多媒體播放器的計畫,爾後加入了影音串流傳 輸的功能。此計劃原本是Ecole Centrale Paris(http://www.ecp.fr)的學生的一個專題 計畫,在2001年2月1日以GNU General Public License (GPL)發佈後,現在計畫成 員橫跨二十多國。

作為VideoLAN 最主要的軟體 ─ VLC (VideoLAN Client)多媒體播放器,現 已被研發成一個跨平台、具有完整特徵的多媒體播放程式及串流伺服器。圖2-7 為VLC所能提供的Streaming Solution:

圖 2-7 VLC 解決方案

第二章 基礎理論介紹

VLC串流平台有以下幾點特色:

„ 具有跨平臺的特性:現有Linux、Microsoft Windows、Mac OS X、BeOS、

BSD、Pocket PC及Solaris等版本。

„ 支援媒體格式豐富:其壓縮格式函式庫核心使用FF MEPG,因此可支援之

„ 支援媒體格式豐富:其壓縮格式函式庫核心使用FF MEPG,因此可支援之

在文檔中 動態頻寬管理視訊串流伺服器 (頁 16-62)