一.
以Action Script 3.0(簡(jiǎn)稱AS)開(kāi)發(fā)Browser Player時(shí),需要用NetStream,但現(xiàn)在NetStream.play只支持Http和File兩種協(xié)議。上網(wǎng)檢查youtube,tudou和youku,發(fā)現(xiàn)他們用的播放協(xié)議也都是Http。而以Flash Media Server(簡(jiǎn)稱FMS)或Red5作為流媒體服務(wù)器時(shí),它們提供的是RTMP協(xié)議,且這兩種流媒體服務(wù)器是專門(mén)做過(guò)優(yōu)化的。這兩種協(xié)議,HTTP和RTMP,有幾點(diǎn)不同:
(1)用HTTP方式: 先通過(guò)IIS 將FLV下載到本地緩存,然后再通過(guò)NetConnection的本地連接來(lái)播放這個(gè)FLV,這種方法是播放本地的視頻,并不是播放服務(wù)器的視頻。因此在本地緩存里可以找到這個(gè)FLV。其優(yōu)點(diǎn)就是服務(wù)器下載完這個(gè)FLV,服務(wù)器就沒(méi)有消耗了,節(jié)省服務(wù)器消耗。其缺點(diǎn)就是FLV會(huì)緩存在客戶端,對(duì)FLV的保密性不好。
(2)用RTMP方式: 通過(guò)NetConnection連接到FMS/Red5服務(wù)器,并實(shí)時(shí)播放服務(wù)器的FLV文件,這種方式可以任意選擇視頻播放點(diǎn),并不象HTTP方式需要緩存完整個(gè)FLV文件到本地才可以任意選擇播放點(diǎn),其優(yōu)點(diǎn)就是在本地緩存里是找不到這個(gè)FLV文件的。其優(yōu)點(diǎn)就是FLV不會(huì)緩存在客戶端,FLV的保密性好,其缺點(diǎn)就是消耗服務(wù)器資源,連接始終是實(shí)時(shí)的。
由以上分析可以知道,Http方式是本地播放,而RTMP方式是服務(wù)器實(shí)時(shí)播放。
二.
1.什么是流媒體
目前在網(wǎng)絡(luò)上播放多媒體信息主要有兩種方式,一種是非實(shí)時(shí)方式,即將多媒體文件下載到本地磁盤(pán)之后,再播放該文件;另一種方式是實(shí)時(shí)方式,直接從網(wǎng)上將多媒體信息逐步下載到本地緩存中,在下載的同時(shí)播放已經(jīng)下載的部分,這就是所謂的流媒體技術(shù)--。
采用流媒體技術(shù)的目的是提高多媒體在網(wǎng)上實(shí)時(shí)播放的質(zhì)量和流暢程度。多媒體數(shù)據(jù)量非常大,如果在網(wǎng)上采用傳統(tǒng)的文件下載方式,由于受網(wǎng)絡(luò)帶寬的限制,即使經(jīng)過(guò)壓縮處理,也要占用用戶的大量的磁盤(pán)空間,讓用戶花費(fèi)大量的等待時(shí)間。而采用實(shí)時(shí)播放方式,由媒體服務(wù)器根據(jù)用戶請(qǐng)求,向用戶計(jì)算機(jī)連續(xù)、實(shí)時(shí)地傳送多媒體信息,用戶不必等到整個(gè)文件全部下載完畢,即可進(jìn)行播放,在播放的同時(shí),文件的剩余部分將在后臺(tái)從服務(wù)器內(nèi)繼續(xù)流向用戶計(jì)算機(jī),這樣既節(jié)省了用戶的磁盤(pán)空間,又避免用戶不必要的等待。尤其重要的是,利用流媒體技術(shù),還可像廣播電視直播一樣,實(shí)現(xiàn)網(wǎng)上現(xiàn)場(chǎng)直播功能。流媒體服務(wù)又稱媒體服務(wù),根據(jù)媒體內(nèi)容形式可分為音頻服務(wù)和視頻服務(wù)。
2.流式傳輸方式
流式傳輸是流媒體實(shí)現(xiàn)的關(guān)鍵技術(shù),根據(jù)實(shí)現(xiàn)原理可分為順序流式傳輸(Progressive streaming)和實(shí)時(shí)流式傳輸(Realtime streaming)兩種方式。在具體應(yīng)用中,選用哪種傳輸方式取決于實(shí)際需求。
順序流式傳輸
與HTTP服務(wù)一樣,順序流式傳輸是順序下載,在下載文件的同時(shí)用戶可在線播放媒體,由于不支持隨機(jī)訪問(wèn),用戶只能按流入的順序播放已下載的內(nèi)容,而不能跳到還未下載的內(nèi)容。這是一種介于下載文件和實(shí)時(shí)流式傳輸之間的形式,又稱為漸進(jìn)式下載。與流媒體相同的是,在開(kāi)始播放漸進(jìn)式下載的文件之前無(wú)需將整個(gè)文件存儲(chǔ)在計(jì)算機(jī)上;與流媒體不同的是,在完成播放內(nèi)容之后,整個(gè)漸進(jìn)式下載的文件會(huì)保存在計(jì)算機(jī)上。HTTP協(xié)議本身就支持這種方式 ,因而可將流媒體文件通過(guò)Web服務(wù)器發(fā)布,即可實(shí)現(xiàn)順序發(fā)送,不需要其他特殊協(xié)議支持。當(dāng)用戶的Web瀏覽器通過(guò)HTTP協(xié)議向Web服務(wù)器請(qǐng)求流媒體文件時(shí),Web服務(wù)器通過(guò)HTTP協(xié)議將流媒體文件發(fā)送到用戶端,用戶端的Web瀏覽器根據(jù)流媒體文件類型,啟動(dòng)相應(yīng)的流媒體播放程序進(jìn)行播放,與此同時(shí),文件的剩余部分將從服務(wù)器端繼續(xù)流向用戶計(jì)算機(jī)。這種方式的優(yōu)點(diǎn)有:1支持無(wú)損下載,能夠保證播放的最終質(zhì)量;2由標(biāo)準(zhǔn)的HTTP協(xié)議支持,兼容性好,不受防火墻的影響。其不足之處有:1不支持隨機(jī)訪問(wèn);
2對(duì)于慢速連接來(lái)說(shuō),相應(yīng)的延遲也比較嚴(yán)重3不支持現(xiàn)場(chǎng)直播。因此,順序流式傳輸適于
播放短小的、要求播放質(zhì)量高的流媒體文件,如廣告、精彩片斷和歌曲。這種方式是一種最
簡(jiǎn)單的點(diǎn)播,但不是本章要介紹的內(nèi)容。
實(shí)時(shí)流式傳輸
實(shí)時(shí)流式傳輸則是一種邊下載邊播放的方式,與順序流式傳輸方式不同的是,它可根據(jù)用戶連接的帶寬和速度進(jìn)行動(dòng)態(tài)調(diào)整,以保證媒體信號(hào)帶寬與網(wǎng)絡(luò)連接帶寬相匹配,使用戶能做到真正的實(shí)時(shí)播放。這種方式需要特殊的傳輸協(xié)議支持,服務(wù)器端需要使用專用的流媒體服務(wù)器。當(dāng)用戶使用流媒體播放器通過(guò)實(shí)時(shí)傳輸協(xié)議向流媒體服務(wù)器請(qǐng)求流媒體服務(wù)時(shí),流媒體服務(wù)器通過(guò)實(shí)時(shí)傳輸協(xié)議將流媒體文件發(fā)送到用戶端,流媒體播放器進(jìn)行播放,與此同時(shí),文件的剩余部分將從服務(wù)器端繼續(xù)流向用戶計(jì)算機(jī)。在具體的實(shí)現(xiàn)方案中,一般結(jié)合Web服務(wù)器來(lái)提供流媒體服務(wù),使用HTTP/TCP協(xié)議來(lái)傳輸控制媒體播放的信息,利用實(shí)時(shí)傳輸協(xié)議來(lái)傳輸要播放的多媒體信息。這種方式的優(yōu)點(diǎn)有:①支持真正的實(shí)時(shí)傳輸;②支持現(xiàn)場(chǎng)直播;③支持隨機(jī)訪問(wèn)。其不足之處有:①有損下載,使用慢速連接時(shí)的播放質(zhì)量較差;②穿過(guò)防火墻時(shí)有時(shí)會(huì)出現(xiàn)問(wèn)題;③需要專門(mén)的服務(wù)器和協(xié)議支持。因此,實(shí)時(shí)流式傳輸特別適合實(shí)時(shí)播放的需要,如現(xiàn)場(chǎng)直播,也用于大型多媒體文件的播放,最典型的就是視頻點(diǎn)播、視頻廣播。實(shí)時(shí)流式傳輸也正是本章主要介紹的流媒體服務(wù)。
3.流媒體播放方式
從不同的角度來(lái)看,流媒體播放方式的含義不同。
點(diǎn)播和廣播(直播)
從用戶參與的角度來(lái)看,可分為點(diǎn)播和廣播兩種方式。點(diǎn)播指用戶主動(dòng)與服務(wù)器進(jìn)行連接,發(fā)出選擇節(jié)目?jī)?nèi)容的請(qǐng)求,服務(wù)器應(yīng)用戶請(qǐng)求將節(jié)目?jī)?nèi)容傳輸給用戶。在播放過(guò)程中,用戶可以對(duì)播放的流進(jìn)行開(kāi)始、停止、后恕⒖旖 蛟萃2僮鰲5悴ヌ峁┝碩粵韉淖畬罌刂疲 庵址絞接捎諉扛隹突Ф爍髯粵 臃 衿鰨 虼嘶嵯 拇罅康耐 绱 懟?
廣播指的是媒體服務(wù)器主動(dòng)發(fā)送流數(shù)據(jù),用戶被動(dòng)接收流數(shù)據(jù)的方式。在廣播過(guò)程中,客戶端只能接收流,但不能控制流,例如,用戶不能進(jìn)行暫停、快進(jìn)或后退操作。這種方式類似于電臺(tái)廣播或電視直播,用戶可選擇頻道接收所需的廣播節(jié)目,但是在收聽(tīng)收看節(jié)目時(shí),不能隨意控制節(jié)目的播放流程,在有些流媒體產(chǎn)品中將此稱為直播。
單播和多播(組播)
從服務(wù)器端傳輸數(shù)據(jù)的方式來(lái)看,可以分為單播、多播和廣播3種發(fā)布方式。IP協(xié)議支持單播、廣播和多播(組播)3種地址類型。由于流媒體服務(wù)是在IP網(wǎng)絡(luò)中實(shí)現(xiàn)的,因此流媒體在網(wǎng)上傳輸也有相應(yīng)的3種方式。
單播指在客戶端與媒體服務(wù)器之間需要建立一個(gè)單獨(dú)的數(shù)據(jù)通道,即從一臺(tái)服務(wù)器發(fā)送的每個(gè)數(shù)據(jù)包只能傳送給一個(gè)客戶機(jī)。單播是一種典型的點(diǎn)對(duì)點(diǎn)傳輸方式。每個(gè)用戶必須分別對(duì)媒體服務(wù)器發(fā)送單獨(dú)的請(qǐng)求,而媒體服務(wù)器必須向每個(gè)用戶發(fā)送所請(qǐng)求的數(shù)據(jù)包拷貝,每份數(shù)據(jù)拷貝都要經(jīng)過(guò)網(wǎng)絡(luò)傳輸,占用帶寬和資源,如果請(qǐng)求的用戶多起來(lái),網(wǎng)絡(luò)和服務(wù)器將不堪重負(fù)。
多播又稱組播,是一對(duì)多連接,多個(gè)客戶端可以從服務(wù)器接收相同的流數(shù)據(jù),即所有發(fā)出請(qǐng)求的客戶端共共享同一流數(shù)據(jù),從而節(jié)省帶寬資源。多播將一個(gè)數(shù)據(jù)流發(fā)送給多個(gè)客戶端,而不是分別發(fā)送給每個(gè)客戶端,客戶端直接連接到多播流,而不是服務(wù)器。采用這種方式,一臺(tái)服務(wù)器甚至能夠?qū)?shù)萬(wàn)臺(tái)客戶機(jī)同時(shí)發(fā)送連續(xù)的數(shù)據(jù)流,而無(wú)延時(shí)的現(xiàn)象發(fā)生。
還有一種傳輸方式稱為廣播,將數(shù)據(jù)包的單獨(dú)一個(gè)拷貝發(fā)送給網(wǎng)絡(luò)上的所有用戶。不管用戶是否需要,都進(jìn)行廣播傳輸,浪費(fèi)了網(wǎng)絡(luò)資源。為阻止廣播風(fēng)暴,一般將廣播限制在一個(gè)子網(wǎng)中,流媒體傳輸中并不采用這種方式。這里的廣播是指?jìng)鬏敺绞剑懊嬷v述的廣播(直播)則指用戶被動(dòng)接收的播放方式。
在實(shí)際應(yīng)用中,播放方式一般將上述方式結(jié)合起來(lái),如點(diǎn)播單播、廣播單播和廣播多播。
分流(轉(zhuǎn)發(fā))
有些情況下,對(duì)同一流內(nèi)容可使用分流(也稱分發(fā)、轉(zhuǎn)發(fā)或轉(zhuǎn)播)方法,在流媒體服務(wù)器之間,而不是在流服務(wù)器與客戶端之間傳輸流數(shù)據(jù)。提供流內(nèi)容的服務(wù)器稱為發(fā)送服務(wù)器(或稱源服務(wù)器),它將流發(fā)送給其他接收服務(wù)器(或稱分發(fā)服務(wù)器、分流服務(wù)器)接收,再由接收服務(wù)器將流轉(zhuǎn)發(fā)到客戶端。分流方法可解決流媒體服務(wù)器超負(fù)荷的問(wèn)題,使得客戶端可以就近訪問(wèn)流媒體服務(wù)器,獲得更好的訪問(wèn)質(zhì)量,并且能節(jié)省帶寬,支持更多的用戶連接。分流技術(shù)可以采用UDP單播、UDP組播和TCP等3種方式進(jìn)行通信。
4.流媒體類型
根據(jù)媒體形式,流媒體可分為音頻和視頻,相應(yīng)的服務(wù)稱為音頻服務(wù)和視頻服務(wù)。
流媒體指在網(wǎng)絡(luò)上進(jìn)行流式傳輸?shù)倪B續(xù)時(shí)基媒體。根據(jù)信息來(lái)源,時(shí)基媒體信息可分為實(shí)況流媒體和流媒體文件。實(shí)況流媒體指通過(guò)視頻或音頻錄制設(shè)備獲取的實(shí)時(shí)多媒體信息,可用于現(xiàn)場(chǎng)直播。流媒體文件是經(jīng)過(guò)特殊編碼,使其適合在網(wǎng)絡(luò)上邊下載邊播放的特殊多媒體文件,常見(jiàn)的文件格式有ASF、WMV、WMA、RM、RA、SWF等。可以對(duì)音頻文件、視頻文件、圖像文件以及其他多媒體文件進(jìn)行編碼,將其轉(zhuǎn)換成流媒體格式。強(qiáng)調(diào)一下,像其他多媒體文件一樣,流媒體文件也可完全下載到硬盤(pán)之后,再進(jìn)行播放。
三.
21世紀(jì),互聯(lián)網(wǎng)正以驚人的速度向人們?nèi)粘I畹母鱾€(gè)方面延伸,現(xiàn)在,坐在電腦前,你就可以收看
網(wǎng)絡(luò)上的影視節(jié)目了。
也許你會(huì)說(shuō):“你真笨,那么大一個(gè)電視不看,你偏要看17寸的電腦。”其實(shí),網(wǎng)絡(luò)影視有其得天獨(dú)厚的優(yōu)勢(shì)。首先,它不受時(shí)間、地點(diǎn)的限制,你可以在任何時(shí)間或地點(diǎn)觀看自己喜歡的影視節(jié)目;其次,你可訂制個(gè)性化的服務(wù),點(diǎn)播自己喜歡的節(jié)目,查閱節(jié)目的相關(guān)信息。當(dāng)然,在網(wǎng)上收看影視節(jié)目要具備一定的條件,除了高速的網(wǎng)絡(luò)帶寬外,你還要掌握流媒體的播放技術(shù)。目前,寬帶正在向家庭普及,你所要具備的,就是了解流媒體的相關(guān)技術(shù),我們這篇文章將引導(dǎo)你掌握流媒體的基本知識(shí),在這里沒(méi)有高深的技術(shù),我們將以通俗的語(yǔ)言,向你講述流媒體的傳輸原理,使你通過(guò)這篇文章對(duì)流媒體的格式及相應(yīng)的播放器能有一個(gè)大致的認(rèn)識(shí)。
什么叫流媒體呢?流媒體(Streaming Media)是指采用流式傳輸技術(shù)在網(wǎng)絡(luò)上播放的媒體文件。從這個(gè)定義可以看出,流媒體和普通媒體的區(qū)別就是:第一,從服務(wù)器到客戶端,采用的是流式傳輸技術(shù),使用這種技術(shù),客戶端計(jì)算機(jī)不用將整個(gè)的影音文件下載到本地,便可以即時(shí)收看或收聽(tīng)。第二,就是他的媒體文件格式,為了達(dá)到網(wǎng)絡(luò)上流式傳播文件的目的,流媒體大都具有很高的壓縮比,這種壓縮可能會(huì)使影音文件的品質(zhì)有所下降,但基本還能夠被人們所接受。
一、流式傳輸及傳輸協(xié)議
在網(wǎng)絡(luò)上,我們查看影音文件有兩種方法,第一種方法就是我們經(jīng)常使用的下載方法,這種方法就是把整個(gè)影音文件下載到本地硬盤(pán)然后進(jìn)行播放,由于這類文件一般都比較大,所以下載的時(shí)間比較長(zhǎng)。另外一種方法就是使用流式傳輸,這種方法不需要把整個(gè)影音文件下載到本地硬盤(pán),在觀看節(jié)目時(shí),我們只需要下載一部分緩沖,余下的部分可以一邊觀看一邊下載,顯然,這種方法對(duì)網(wǎng)絡(luò)的帶寬有一定的要求,網(wǎng)速越高,播放就越流暢。
流式傳輸是流媒體播放的關(guān)鍵技術(shù),它不需要我們下載龐大的媒體文件就可觀看視頻節(jié)目,雖然在播放前要進(jìn)行緩沖,但這種緩沖也只有幾秒或十幾秒。實(shí)現(xiàn)流式傳輸有兩種方法:實(shí)時(shí)流式傳輸和順序流式傳輸。一般來(lái)說(shuō),如果視頻為實(shí)時(shí)廣播,或使用流式傳輸媒體服務(wù)器,使用如RTSP的實(shí)時(shí)協(xié)議,這種傳輸方式即為實(shí)時(shí)流式傳輸。如果使用Web服務(wù)器,使用HTTP協(xié)議,那么文件即通過(guò)順序流發(fā)送。
1.順序流式傳輸(Progressive streaming)
順序流式傳輸是順序下載,在下載文件的同時(shí)用戶可觀看在線媒體。由于標(biāo)準(zhǔn)的HTTP服務(wù)器在不需要其他特殊協(xié)議的情況下即可發(fā)送這種形式的文件,所以它又被稱作HTTP流式傳輸。順序流式傳輸在高帶寬(帶寬大于流文件的比特率)的情況下,可以實(shí)現(xiàn)邊下載邊播放,網(wǎng)絡(luò)丟包會(huì)重新傳輸直至用戶收到,所以能夠保證視頻播放的最終質(zhì)量,因此,它一般被來(lái)用傳輸高質(zhì)量的短片段,如片頭、片尾和廣告。順序流式傳輸不能廣播實(shí)況流,不能跳過(guò)頭部,必須先下完前面的才可以看后面的,必須經(jīng)歷延遲,這種情況,在低帶寬的網(wǎng)絡(luò)連接下尤其如此。
順序流式文件是放在標(biāo)準(zhǔn)HTTP 或 FTP服務(wù)器上,易于管理,基本上與防火墻無(wú)關(guān)。順序流式傳輸不適合長(zhǎng)片段和有隨機(jī)訪問(wèn)要求的視頻,如講座、演說(shuō)或演示。
2.實(shí)時(shí)流式傳輸(Realtime streaming)
實(shí)時(shí)流與HTTP流式傳輸不同,實(shí)時(shí)流式傳輸總是實(shí)時(shí)傳送,可以實(shí)現(xiàn)實(shí)況轉(zhuǎn)播,支持隨機(jī)訪問(wèn),用戶可快進(jìn)或后退以觀看前面或后面的內(nèi)容。
實(shí)時(shí)流式傳輸必須配匹連接帶寬,也就是說(shuō),如果文件比特率超過(guò)連接速度,觀看將會(huì)斷續(xù),而且,由于出錯(cuò)丟失的信息會(huì)被服務(wù)器忽略,當(dāng)網(wǎng)絡(luò)擁擠或出現(xiàn)問(wèn)題時(shí),視頻質(zhì)量會(huì)下降,所以,要想保證視頻質(zhì)量,選擇順序流式傳輸也許會(huì)更好。實(shí)時(shí)流式傳輸需要特定的服務(wù)器,如QuickTime Streaming Server、RealSystem IQ與Windows Media Server。這些服務(wù)器允許你對(duì)媒體發(fā)送進(jìn)行更多級(jí)別的控制,因而系統(tǒng)設(shè)置、管理比標(biāo)準(zhǔn)HTTP服務(wù)器更復(fù)雜。實(shí)時(shí)流式傳輸使用與之適應(yīng)的網(wǎng)絡(luò)傳輸協(xié)議,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server),這些協(xié)議在有防火墻時(shí)有時(shí)會(huì)出現(xiàn)問(wèn)題,導(dǎo)致用戶不能看到一些地點(diǎn)的實(shí)時(shí)內(nèi)容。
二、流媒體格式與播放器
目前,在流媒體技術(shù)方面,Real Networks、Microsoft(微軟)、Apple(蘋(píng)果)三分天下,它們都有自己的流媒體格式和相應(yīng)的播放器,已形成鼎足之勢(shì),因此,你要觀看豐富多彩的網(wǎng)絡(luò)影視節(jié)目,全面安裝他們的播放器是最好的辦法(有些第三方的播放器,比如超級(jí)解霸、金山影霸、東方影都以及Media Player Classic的系列軟件等,都帶有Real和QuickTime的核心解碼文件,這此播放器雖然能夠播放本地的Real Media文件,但Opera等非IE核心的瀏覽器在調(diào)用非官方的Real和QuickTime插件播放內(nèi)嵌流媒體時(shí)常不能正確調(diào)用正確的解碼器而導(dǎo)致播放不正常,所以使用非IE核心瀏覽器為主的朋友不要安裝這些軟件或它們自帶的Real和QuickTime的解碼器)。
1.Real Networks的流媒體格式及播放器
Real Networks的流媒格式主要有RM(Real Media)、RMVB(Real Media VBR)等,此類格式一般都有很高的壓縮比和比較好的網(wǎng)絡(luò)傳輸能力,雖然畫(huà)質(zhì)差點(diǎn),但文件體積小,特別適合在低速網(wǎng)絡(luò)上在線播放音視頻節(jié)目。Real Networks的流媒體文件可以用RealOne和RealPlaye r進(jìn)行播放,最新推出的RealPlayer 10比RealOne資源占用少,啟動(dòng)速度也比RealOne有了較大幅度的提高,支持更多的媒體格式,建議朋友們到Real Networks的主頁(yè)(http://www.real.com/)上去下載安裝它的簡(jiǎn)體中文版(如圖1)。
posted on 2009-07-20 16:55
小果子 閱讀(577)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
學(xué)習(xí)筆記