1.3 Windows Media Services使用的協(xié)議
2010-08-19 15:44
數(shù)據(jù)傳輸協(xié)議是指在兩臺(tái)設(shè)備之間傳輸數(shù)據(jù)的標(biāo)準(zhǔn)化格式。協(xié)議類型可以確定諸如錯(cuò)誤檢查方法、數(shù)據(jù)壓縮方法,以及文件結(jié)束確認(rèn)之類的變量。如果所有的網(wǎng)絡(luò)都是以同一方式構(gòu)建的,并且所有網(wǎng)絡(luò)軟件和設(shè)備的行為都類似,那么只需要一種協(xié)議即可處理所有的數(shù)據(jù)傳輸需求。而在現(xiàn)實(shí)中,Internet是由數(shù)百萬(wàn)運(yùn)行各種軟硬件組合的不同網(wǎng)絡(luò)組成的。因此,為了以可靠方式向客戶端傳輸數(shù)字媒體內(nèi)容,就需要有一組設(shè)計(jì)良好的協(xié)議。為了實(shí)現(xiàn)流式播放,Windows Media Services通過使用控制協(xié)議插件支持Microsoft Media服務(wù)器(MMS)協(xié)議、實(shí)時(shí)流式傳輸協(xié)議(RTSP),以及超文本傳輸協(xié)議(HTTP)。 1.3.1 Windows Media Servers所需要的協(xié)議類型Windows Media Services通過使用控制協(xié)議插件來管理這些協(xié)議的使用。Windows Media Services包括WMS MMS控制協(xié)議插件、WMS RTSP控制協(xié)議插件和WMS HTTP控制協(xié)議插件。除WMS HTTP控制協(xié)議插件外,其他插件在默認(rèn)情況下都是啟用的。 控制協(xié)議插件接收傳入客戶端請(qǐng)求,確定該請(qǐng)求表示什么操作(例如,啟動(dòng)或停止流式播放),將請(qǐng)求轉(zhuǎn)換為命令形式,然后將該命令傳遞給服務(wù)器。在出現(xiàn)錯(cuò)誤或狀態(tài)變化時(shí),控制協(xié)議插件還可以向客戶端返回通知信息。 前面所列出的協(xié)議插件處理高級(jí)別的數(shù)據(jù)交換,而諸如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)和傳輸控制協(xié)議(TCP)等基本網(wǎng)絡(luò)協(xié)議則用于管理諸如網(wǎng)絡(luò)連接和數(shù)據(jù)包糾錯(cuò)之類的基本任務(wù)。MMS、RTSP協(xié)議與UDP或TCP協(xié)議一起組合使用。 圖4-3描述了Windows Media Services如何使用不同的協(xié)議在Windows Media服務(wù)器、編碼器、內(nèi)容源以及客戶端之間協(xié)商連接。 1.3.2 使用MMS協(xié)議Microsoft Media服務(wù)器(MMS)協(xié)議是Microsoft為Windows Media Services的早期版本開發(fā)的專有流式媒體協(xié)議。在以單播流方式傳遞內(nèi)容時(shí),可以使用MMS協(xié)議。此協(xié)議支持快進(jìn)、倒回、暫停、啟動(dòng)和停止索引數(shù)字媒體文件等播放機(jī)控制操作。如果要支持使用Windows Media Player早期版本的客戶端,則需要使用MMS或HTTP協(xié)議滿足其流請(qǐng)求,如圖4-4所示。 如果由播放機(jī)指定的連接URL使用了MMS(例如,s://server_name/publishing_point_name/file_name),那么播放機(jī)就可以使用協(xié)議翻轉(zhuǎn)(在Windows Media Server無法通過特定協(xié)議建立連接時(shí)從一種協(xié)議切換到另一種協(xié)議的過程)協(xié)商使用最佳協(xié)議。MMSU和MMST是MMS協(xié)議的專門化版本。MMSU基于用戶數(shù)據(jù)報(bào)協(xié)議(UDP),是流式播放的首選協(xié)議。MMST基于傳輸控制協(xié)議(TCP),用在不支持UDP的網(wǎng)絡(luò)上。
如果需要強(qiáng)制服務(wù)器使用特定的協(xié)議,可以在公告文件中標(biāo)明要使用的協(xié)議。用戶還可以在內(nèi)容地址中指定協(xié)議(如mmsu://server_name/publishing_point_name/file_name)。為了利用協(xié)議翻轉(zhuǎn),建議在URL中使用通用的MMS協(xié)議。這樣,播放機(jī)便可以使用MMSU或MMST協(xié)議連接到流。如果播放機(jī)無法通過兩種協(xié)議中的任一種成功連接到流,則會(huì)嘗試使用超文本傳輸協(xié)議(HTTP)進(jìn)行連接。 Windows Media Serives通過WMS MMS服務(wù)器控制協(xié)議插件實(shí)現(xiàn)MMS協(xié)議。在Windows Media Serives的默認(rèn)安裝中,此插件是啟用的,并且綁定到TCP端口1755和UDP端口1755。 1.3.3 使用RTSP協(xié)議WMS也可以使用實(shí)時(shí)流式傳輸協(xié)議(RTSP)以單播流方式傳遞內(nèi)容,如圖4-5。這是一個(gè)應(yīng)用程序級(jí)別的協(xié)議,是為控制實(shí)時(shí)數(shù)據(jù)(如音頻和視頻內(nèi)容)的傳遞而專門創(chuàng)建的。此協(xié)議是在面向糾錯(cuò)的傳輸協(xié)議基礎(chǔ)上實(shí)現(xiàn)的。該協(xié)議支持停止、暫停、倒回及快進(jìn)索引Windows Media 文件等播放機(jī)控制操作??梢允褂?span> RTSP 將內(nèi)容傳輸?shù)竭\(yùn)行Windows Media Player 9系列(或更高版本)或Windows Media Services 9系列的計(jì)算機(jī)。RTSP是一個(gè)控制協(xié)議,該協(xié)議與數(shù)據(jù)傳遞實(shí)時(shí)協(xié)議(RTP)依次發(fā)揮作用,實(shí)現(xiàn)向客戶端提供內(nèi)容。 如果連接URL中使用了RTSP(如rtsp:// server_name/publishing_point_name/file_name),那么RTSP會(huì)自動(dòng)協(xié)商內(nèi)容的最佳傳遞機(jī)制。然后該協(xié)議指示RTP協(xié)議使用用戶數(shù)據(jù)報(bào)協(xié)議(UDP)傳遞流式內(nèi)容,或者在不支持UDP的網(wǎng)絡(luò)上使用一種以傳輸控制協(xié)議(TCP)為基礎(chǔ)的協(xié)議進(jìn)行傳遞。 如果需要強(qiáng)制服務(wù)器使用特定的協(xié)議,可以在公告文件中標(biāo)明要使用的協(xié)議。用戶還可以在內(nèi)容地址中指定協(xié)議(如rtspu://server_name/publishing_point_name/file_name)。為了利用協(xié)議翻轉(zhuǎn),建議在URL中使用通用的RTSP協(xié)議。這樣,播放機(jī)便可以使用RTSPU或RTSPT協(xié)議連接到流。如果播放機(jī)無法通過任意一種RTSP協(xié)議成功連接到流,則會(huì)嘗試使用某種MMS協(xié)議進(jìn)行連接。 Windows Media Services通過WMS RTSP服務(wù)器控制協(xié)議插件實(shí)現(xiàn)RTSP。在Windows Media Services的默認(rèn)安裝中,此插件是啟用的,并且綁定到TCP端口554。 1.3.4 使用HTTP協(xié)議通過使用超文本傳輸協(xié)議(HTTP),您可以將內(nèi)容從編碼器傳輸?shù)?span>Windows Media服務(wù)器,在運(yùn)行Windows Media Services的不同版本的計(jì)算機(jī)間或被防火墻隔開的計(jì)算機(jī)間分發(fā)流,以及從Web服務(wù)器上下載動(dòng)態(tài)生成的播放列表。HTTP對(duì)于通過防火墻接收流式內(nèi)容的客戶端特別有用,因?yàn)?span>HTTP 通常設(shè)置為使用端口80,而大多數(shù)防火墻不會(huì)阻斷該端口,如圖4-6所示。
Windows Media Services使用WMS HTTP服務(wù)器控制協(xié)議插件控制基于HTTP的客戶端連接。必須啟用此插件才能允許Windows Media Services通過HTTP向客戶端傳輸內(nèi)容或從Windows Media 編碼器接收流。 在啟用WMS HTTP服務(wù)器控制協(xié)議插件時(shí),該插件會(huì)嘗試綁定到端口80。如果另一個(gè)服務(wù),如Internet信息服務(wù)(IIS),正在使用同一IP地址上的80端口,那么就不能啟用該插件。 當(dāng)運(yùn)行Windows Media Services的服務(wù)器播放由ASP頁(yè)或Web腳本生成的動(dòng)態(tài)播放列表時(shí),也會(huì)用到HTTP協(xié)議。 如果在同一臺(tái)服務(wù)器上使用Windows Media Services和諸如Microsoft Internet信息服務(wù)(IIS)之類的Web服務(wù),則使用的兩種服務(wù)都將嘗試綁定到端口80。通過將兩種服務(wù)分別指定到不同的端口可以避免此類沖突。如果將服務(wù)指定到不是80的端口,則網(wǎng)絡(luò)管理員必須打開網(wǎng)絡(luò)防火墻上的相應(yīng)端口。作為一種替代方法,可以給服務(wù)器分配更多的IP地址,使每一個(gè)服務(wù)器都有自己的IP地址并繼續(xù)使用端口80。實(shí)現(xiàn)此操作的最簡(jiǎn)便方法是在一個(gè)網(wǎng)絡(luò)接口卡上創(chuàng)建多個(gè)IP地址并為其分配單獨(dú)的端口80地址,然后必須配置Windows Media Services和Web服務(wù),以便綁定到獨(dú)立的IP地址/端口80組合上。Windows Media Services中包括了一個(gè)用來給服務(wù)分配更多IP地址的工具。 |
|