2014年4月8日 星期二

Streaming 串流

ISO DASH
(待補充)
HLS
HTTP Live Streaming(縮寫是 HLS)是一個由蘋果公司提出的基於HTTP的流媒體 網路傳輸協議。是蘋果公司QuickTime X和iPhone軟體系統的一部分。它的工作原理是把整個流分成一個個小的基於HTTP的文件來下載,每次只下載一些。當媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會話適應不同的數據速率。在開始一個流媒體會話時,客戶端會下載一個包含元數據的extended M3U (m3u8) playlist文件,用於尋找可用的媒體流。

HLS只請求基本的HTTP報文,與實時傳輸協議(RTP)不同,HLS可以穿過任何允許HTTP數據通過的防火牆或者代理伺服器。
網路串流影音

§ 何謂網路串流影音?
〝互動式〞〝串流〞影音,乃影音檔案可經由串流技術一邊傳輸時,使用者即可一邊觀賞。並且可在串流影音檔案植入連結點,使得影音一邊播放,網頁跟著自動換頁。
串流傳輸(Streaming)是在網路上即時傳輸媒體以供觀賞的一種技術或過程。它乃將一個影音資料分段傳送,觀賞者不需等待整個影片傳送完,即可觀賞。
   ADSL 寬頻網路是目前家用網際網路的趨勢,價格便宜、安裝方便。而加大的頻寬可以傳輸的內容也就更多且更豐富。其中,影音資訊成為未來網路的主流。例如:德國汽車BMW 首創以網路電影行銷目前最新款的車種;HiNET 主推的 Hi Channel 以及 DVHOT 哈燒網等,都開始應用串流影音技術,延伸網路的使用功能。
串流影音技術,採用緩衝設計,可以一邊 Download 一邊觀看,不像以往需要完整的下載完影音檔才能收看,增加了即時性與實用性。但是,網路傳輸品質時好時壞,看一部片往往需要停頓一陣子才能把『緩衝區』灌飽!

◎ Streaming發展簡史
Streaming 技術曾是網路影音傳輸上一大瓶頸,直到 Vxtreme公司發展了以影片為導向的 streaming技術 "Vxtreme Theatre",將聲音與影像作了完美結合。
這時 RealNetwork公司跟進,發展了 RealVideo 與 RealAudio,從此網路影音大戰隨即開始。
MicroSoft公司後來併購了 Vxtreme公司,成立了 Streaming Media Division,將影音市場視為公司經營的重點,並且繼續發展 NetShow,將技術提昇至Mpeg4規格,整體技術稱"Micorsoft Windows Media Technologies 4.X",簡稱 "Windows Media 4.X"。
同時 Apple公司亦發展了QuickTime 的串流技術。
串流傳輸可以由一個現場資料來源所提供,比如攝影、網路傳播、由廣播電台所送出的音源、也可以是儲存在伺服器上的 streaming 影片。當你在觀賞連續影片時,並沒有影片檔被下載到你的電腦上。這些資料在抵達觀賞者的電腦後立即由 streaming plugin (如 Real Player, Quick Time Player, Micorsoft Media Player)播放;觀賞者的硬碟上不會存有影片。為達 Streaming的效果,影片或聲音大小通常都會經過壓縮處理,以降低影音品質,以便減少檔案大小。在時間因素與影片品質,這是需取得平衡考慮。

◎ 串流 Streaming Broadcast 優點:
串流播放 (streaming broadcasting)
串流播放,可即時觀賞到影像,勿須等待長時間的下載。
現場節目 (live broadcasting)
串流,是目前現場職播的唯一方式,如在網路上播放新聞或節目活動。
媒體檔案大小不受限制
串流播放,並無檔案大小的限制,可一邊傳一邊看,勿須一次把檔案下載的等待時間。
多重廣播 (multi-user broadcasting)
允許多位觀賞者同時收看同一個串流影像檔。
隨機播放 (video-on-demand)
對於預先錄製好的節目,觀賞者可以隨意暫停、快轉、播放之互動。
影片資料不會被複製 (???)
串流播放,允許你控制你媒體的散佈及版權。真實影片資料不會被複製到觀賞者的電腦儲存設備上。(※現在已有破解之軟體)
為達Streaming的傳輸效果,所有影片或聲音需放在 Streaming Server上;而觀賞者需在其瀏覽器安裝相關 Player 的Plugin軟體。以下Plugin 可安裝在 IE 或 Netscape 瀏覽器上。以下server 可安裝在 Mac OS 9,Windows NT Server 4.0, Windows 2000 Server, Red Hat Linux 5.2以上, Solaris 7, FreeBSD 3.4。

Real Network 公司
觀賞端Player:RealOne (Free)
製作端Producer:
-- 一般串流影音:Helix Producer Plus 9
-- 互動式串流影音:Real Producer G2 (Free) | Real Producer Plus G2 (US$150)
Server端:Basic Real Server (Free) | Basic Real Plus Server (US$1995)

Apple 公司
觀賞端Player:Basic QuickTime4 Movie Player (Free)
製作端Producer:QuickTime 4 Pro (US$29.99)
Server端:QuickTime Darwin Streaming Server 3 Public Preview (Free,內含於Mac OS X Server)

MicroSoft
觀賞端Player:Windows Media Player (Free) 9.0
製作端Producer:Windows Media Tools (Free) 9.0
Server端:Windows Media Server (Free) 9.0

◎ Streaming 技術那家公司好呢?
Real :品質比較好,而且內函技術支援也最多,除最基本的Audio stream與 Video stream之外,RealOne也可以播放 media的檔案,Macromedia公司出版的 Flash Shockwave,亦 支援 SMIL語言,可在影音畫面上,產生互動式的超連結。
Media :是windows內裝之相關player,不需額外安裝。普及性很高,也方便。
Quicktime :在歐洲比較流行,大都用在Mac機器,若在PC須安裝player軟體。
串流媒體(Stream Media)的作用,是將即時影音資料壓縮後,以穩定快速的傳輸送到用戶端 (Client) ,透過播放程式解壓縮開始播放,用戶可以一邊下載、一邊觀看,而不必先將所有資料,都下載到硬碟上,再開啟應用軟體觀看。
串流 (Streaming)是指將一連串的影像壓縮後,經過網際網路分段傳送資料,在網路上即時傳輸影音的一種技術,並不將多媒體資料實際拷貝一份存放在本機端,而是利用客戶端緩衝記憶體(Buffer)的概念,將資料不經實體儲存而直接由緩衝記憶體讀取播放後丟棄,可節省本機端磁碟儲存空間,因此應用於線上教學、視訊會議、線上廣告、隨選視訊(VoD)、即時線上轉播、網路電視以及網路電台(NetRadio)等各種網路多媒體應用。
因串流影音內容經過高度壓縮,品質不如MP3或AVI等影音格式,影音資料送達觀賞者需用特定播放軟體播放,如Microsoft的Windows Media Player、Real Networks的Real Player或Apple的QuickTime Player。
按廣播方式:
‧ 多點廣播(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 版的播放器送到用戶端安裝並播放串流檔案。


1 則留言: