- 流媒體技術(shù)的原理
- 流媒體技術(shù)的實現(xiàn)過程
- 服務(wù)器,存放和控制流媒體的數(shù)據(jù)
- 適合多媒體傳輸協(xié)議甚至是實時傳輸協(xié)議的網(wǎng)絡(luò)
隨著互聯(lián)網(wǎng)的普及,利用網(wǎng)絡(luò)傳輸聲音與視頻信號的需求也越來越大。廣播電視等媒體上網(wǎng)后,也都希望通過互聯(lián)網(wǎng)來發(fā)布自己的音視頻節(jié)目。但是,音視頻在存貯時文件的體積一般都十分龐大。在網(wǎng)絡(luò)帶寬還很有限的情況下,花幾十分鐘甚至更長的時間等待一個音視頻文件的傳輸,不能不說是一件讓人頭疼的事。流媒體技術(shù)的出現(xiàn),在一定程度上使互聯(lián)網(wǎng)傳輸音視頻難的局面得到改善。
流媒體技術(shù)發(fā)端于美國,在美國目前流媒體的應(yīng)用已很普遍,比如惠普公司的產(chǎn)品發(fā)布和銷售人員培訓(xùn)都用網(wǎng)絡(luò)視頻進行。與傳統(tǒng)的播放方式不同,流媒體在播放前并不下載整個文件,只將部分內(nèi)容緩存,使流媒體數(shù)據(jù)流邊傳送邊播放,這樣就節(jié)省了下載等待時間和存儲空間。網(wǎng)絡(luò)電視正是結(jié)合了流媒體技術(shù)的特點應(yīng)運而生,能夠很好地適應(yīng)當(dāng)今網(wǎng)絡(luò)飛速發(fā)展的趨勢,充分有效地利用網(wǎng)絡(luò)資源。因此,網(wǎng)絡(luò)電視的發(fā)展離不開流媒體技術(shù),本文著重研究基于流媒體技術(shù)的網(wǎng)絡(luò)電視的應(yīng)用和發(fā)展。
流媒體的技術(shù)
流媒體技術(shù)的原理
流媒體又叫流式媒體,它是指商家用一個視頻傳送服務(wù)器把節(jié)目當(dāng)成數(shù)據(jù)包發(fā)出,傳送到網(wǎng)絡(luò)上。用戶通過解壓設(shè)備對這些數(shù)據(jù)進行解壓后,節(jié)目就會像發(fā)送前那樣顯示出來。這個過程的一系列相關(guān)的包稱為“流”。流媒體實際指的是一種新的媒體傳送方式,而非一種新的媒體。流媒體技術(shù)全面應(yīng)用后,人們在網(wǎng)上聊天可直接語音輸入;如果想彼此看見對方的容貌、表情,只要雙方各有一個攝像頭就可以了;在網(wǎng)上看到感興趣的商品,點擊以后,講解員和商品的影像就會跳出來;更有真實感的影像新聞也會出現(xiàn)。
如果將文件傳輸看作是一次接水的過程,過去的傳輸方式就像是對用戶做了一個規(guī)定,必須等到一桶水接滿才能使用它,這個等待的時間自然要受到水流量大小和桶的大小的影響。而流式傳輸則是,打開水頭龍,等待一小會兒,水就會源源不斷地流出來,而且可以隨接隨用,因此,不管水流量的大小,也不管桶的大小,用戶都可以隨時用上水。從這個意義上看,流媒體這個詞是非常形象的。
流式傳輸?shù)膶崿F(xiàn)需要緩存。因為Internet以包傳輸為基礎(chǔ)進行斷續(xù)的異步傳輸,對一個實時A/V源或存儲的A/V文件,在傳輸中它們要被分解為許多包,由于網(wǎng)絡(luò)是動態(tài)變化的,各個包選擇的路由可能不盡相同,故到達客戶端的時間延遲也就不等,甚至先發(fā)的數(shù)據(jù)包還有可能后到。為此,使用緩存系統(tǒng)來彌補延遲和抖動的影響,并保證數(shù)據(jù)包的順序正確,從而使媒體數(shù)據(jù)能連續(xù)輸出,而不會因為網(wǎng)絡(luò)暫時擁塞使播放出現(xiàn)停頓。
通常高速緩存所需容量并不大,因為高速緩存使用環(huán)形鏈表結(jié)構(gòu)來存儲數(shù)據(jù):通過丟棄已經(jīng)播放的內(nèi)容,流可以重新利用空出的高速緩存空間來緩存后續(xù)尚未播放的內(nèi)容。流式傳輸?shù)膶崿F(xiàn)需要合適的傳輸協(xié)議。由于TCP需要較多的開銷,故不太適合傳輸實時數(shù)據(jù)。在流式傳輸?shù)膶崿F(xiàn)方案中,一般采用HTTP/TCP來傳輸控制信息,而用RTP/UDP來傳輸實時聲音數(shù)據(jù)。流式傳輸?shù)倪^程一般是這樣的:用戶選擇某一流媒體服務(wù)后,Web瀏覽器與Web服務(wù)器之間使用HTTP/TCP交換控制信息,以便把需要傳輸?shù)膶崟r數(shù)據(jù)從原始信息中檢索出來;然后客戶機上的Web瀏覽器啟動A/VHelper程序,使用HTTP從Web服務(wù)器檢索相關(guān)參數(shù)對Helper程序初始化。這些參數(shù)可能包括目錄信息、A/V數(shù)據(jù)的編碼類型或與A/V檢索相關(guān)的服務(wù)器地址。
需要說明的是,在流式傳輸中,使用RTP/UDP和RTSP/TCP兩種不同的通信協(xié)議與A/V服務(wù)器建立聯(lián)系,是為了能夠把服務(wù)器的輸出重定向到一個不同于運行A/VHelper程序所在客戶機的目的地址。實現(xiàn)流式傳輸一般都需要專用服務(wù)器和播放器,其基本原理如圖1所示。
流媒體技術(shù)的實現(xiàn)過程
流媒體系統(tǒng)包括以下五個方面的內(nèi)容:
(1)編碼工具:用于創(chuàng)建、捕捉和編輯多媒體數(shù)據(jù),形成流媒體格式。
(2)流媒體數(shù)據(jù)。
(3)服務(wù)器:存放和控制流媒體的數(shù)據(jù)。
(4)網(wǎng)絡(luò):適合多媒體傳輸協(xié)議甚至是實時傳輸協(xié)議的網(wǎng)絡(luò)。
(5)播放器:供客戶端瀏覽流媒體文件。
這五個部分有些是網(wǎng)站需要的,有些是客戶端需要的,而且不同的流媒體標(biāo)準(zhǔn)和不同公司的解決方案會在某些方面有所不同。
在運用流媒體技術(shù)時,音視頻文件要采用相應(yīng)的格式,不同格式的文件需要用不同的播放器軟件來播放,所謂“一把鑰匙開一把鎖”。目前,采用流媒體技術(shù)的音視頻文件主要有三大“流派”,即RealNetworks公司的RealMedia、Microsoft的WindowsMedia和Apple公司的QItickTime。