串流媒體(Stream Media)的作用,是將即時影音資料壓縮後,以穩定快速的傳輸送到用戶端 (Client) ,透過播放程式解壓縮開始播放,用戶可以一邊下載、一邊觀看,而不必先將所有資料,都下載到硬碟上,再開啟應用軟體觀看。
串流 (Streaming)是指將一連串的影像壓縮後,經過網際網路分段傳送資料,在網路上即時傳輸影音的一種技術,並不將多媒體資料實際拷貝一份存放在本機端,而是利用客戶端緩衝記憶體(Buffer)的概念,將資料不經實體儲存而直接由緩衝記憶體讀取播放後丟棄,可節省本機端磁碟儲存空間,因此應用於線上教學、視訊會議、線上廣告、隨選視訊(VoD)、即時線上轉播、網路電視以及網路電台(NetRadio)等各種網路多媒體應用。
按廣播方式:
‧ 多點廣播(Multicast)-可提供對多人同時播送,降低對網路頻寬的需求,但無法提供隨選視訊
‧ 單點廣播(Unicast)-可以提供隨選視訊,但可連線的用戶數量受限於網路頻寬
串流媒體在網際網路上的傳輸方式主要有兩種,一種是HTTP/TCP,另一種是RTP/UDP。以HTTP(HyperText Transfer Protocol)為基礎的WWW是網際網路上使用最廣的服務之一,利用HTTP 協定可以讓串流媒體得以穿過防火牆的阻隔,且將串流媒體放在WWW上可以讓使用者方便的取得這些內容,然其缺點在於TCP(Transmission Control Protocol) 通訊協定將會導致傳輸速度的減緩,進而增加串流媒體所需要的頻寬,且串流資料必須事先放置於網頁上而無法達到真正即時的效果。另外使用RTP(Real Time Protocol)/UDP (User Data Protocol)的優點在於UDP 可以提供較好的傳輸效率,且可以達到真正即時的效果並提供群播等有效率的傳輸方式,但有防火牆的問題則需要在防火牆兩端加裝translator的設備以便穿過防火牆。
串流技術(傳輸協定)的分類
• 第一類串流技術利用標準的網頁伺服器 (Web server)將多媒體資料送到使用者的播放器播放。
• 第二類串流技術是利用獨立的串流伺服器(streaming server)將多媒體資料送到使用者的播放器上播放。
• 第三類串流技術叫Clientless Streaming,播放器不是內建在用戶端,而是在串流過程中才送到使用者手上。
第一類串流技術是利用標準的網頁伺服器將多媒體資料送到使用者的播放器上播放。因為標準的網頁伺服器是遵守HTTP通訊協定,所以稱為HTTP Streaming,HTTP streaming 是最先在市場上出現及運用的串流方式,使用這種方式的好處是只要使用一般的網頁伺服器,並不需要再另外建置專屬的串流伺服器,所以也稱為Serverless Streaming 或是Pseudo Streaming。因為使用HTTP 協定不容易自動偵測當時的網路環境,所以必須先備妥各種速率的資料,以適用於不同頻寬的網路環境,而會造成伺服器端硬碟儲存空間的浪費,又因為HTTP 的傳輸層是使用TCP通訊協定,當傳輸資料遺失時會要求重傳,因此容易造成延遲。
在使用HTTP streaming 前,多媒體資料必須先包裝成符合網頁伺服器的特定格式,像RealPlayer 所使用的Real Media Format(.rm)格式或Window Media Player 所使用的Advanced Streaming Format(.asf)格式。
第二類串流技術是利用獨立的串流伺服器將多媒體資料送到使用者的播放器上播放,稱為True Streaming,一般又稱為RTP Streaming,遵守RTP通訊協定,RTP 非常類似HTTP 與FTP (File Transfer Protocol),不過它是針對即時串流的特殊需求所設計。RTP 會以一定的速率,傳送一條單向的資料流到播放器,只要有足夠的網路頻寬傳送資料,播放器就會立即播放媒體資料。播放完後,資料就會消失不見,在使用者的硬碟內不會儲存有任何的檔案。若要重播需透過與串流伺服器再一次連線才行。
RTP 的傳輸層是使用UDP,UDP 在資料遞送方面,會比TCP 快速且有效率,因此可有效避免延遲現象。但因UDP 缺乏回報資料遺失的機制,所以在網際網路或無線網路串流中,會有資料遺失的情況,影響品質下降。另外大部份公司和企業的防火牆都會檔掉UDP,所以在防火牆內是無法接收到藉由UDP 遞送的串流,想要在有防火牆的情況下使用RTP,必須使用HTTP tunneling 技術,亦即將RTP 封包包裹在HTTP 封包內,以方便通過防火牆。但HTTP tunneling 會增加許多額外的資料,佔掉更多的頻寬。
RTP 又可搭配RTCP (Real Time Control Protocol)與RTSP (Real Time Streaming Protocol)。RTCP 可自動偵測現在的網路頻寬。RTSP 支援伺服器與播放器雙向溝通,使用者可以透過RTSP 下指令給伺服器如暫停、快轉、倒帶及跳到下一章等動作。
第三類串流技術叫Clientless Streaming,播放器不是內建在用戶端,而是在串流過程中才送到使用者手上。這類技術主要應用在行動裝置上,尤其是支援Java 技術的平台。這類應用的使用者並不需在用戶端安裝太多的程式,只有在實際需要時,才透過OTA (Over The Air)將Java 版的播放器送到用戶端安裝並播放串流檔案。