- 相關(guān)推薦
“流式播放”多媒體服務(wù)系統(tǒng)
“流式播放”多媒體服務(wù)系統(tǒng)
2004年度河南省廣播電視優(yōu)秀科技論文一等獎(jiǎng)前 言
流式媒體服務(wù)具有廣闊的應(yīng)用領(lǐng)域,可以廣泛應(yīng)用于局域網(wǎng)、廣域網(wǎng)、寬帶綜合接入網(wǎng)(利用光纖基帶網(wǎng)、 ADSL 雙絞線通信和改造后的雙向有線電視網(wǎng)等)。它能在眾多領(lǐng)域中使用:如電視臺(tái)、廣播電臺(tái)節(jié)目查詢、節(jié)目制作,出版社多媒體網(wǎng)上出版,音像公司產(chǎn)品制作,展覽館、博物館的信息查詢、信息發(fā)布,以及娛樂、交互式教學(xué)、網(wǎng)絡(luò)會(huì)議和其他商業(yè)運(yùn)作。
較于傳統(tǒng)的電視,網(wǎng)絡(luò)媒體文件信息形式和來源豐富,有良好的互動(dòng)性,具有索引結(jié)構(gòu)的媒體文件能隨意快進(jìn)或快退到希望的位置。不受地域限制,沒有節(jié)目時(shí)間限制,提供在線增加頻道和更新播放列表等諸多優(yōu)點(diǎn)。觀眾可以在電視和網(wǎng)絡(luò)之間比較靈活地切換,例如可以在觀看球賽的同時(shí),從有關(guān)球隊(duì)的萬維網(wǎng)網(wǎng)址上閱覽比賽和球員的背景資料,以及其它媒體相關(guān)信息。提供信息的同時(shí),它能夠?qū)π畔⒈旧淼陌踩约右钥刂,對不同用戶建立不同的安全級別和權(quán)限。
目前,流式媒體點(diǎn)播較為常見,稱為 VOD ( Video on Demand )技術(shù)。節(jié)目點(diǎn)播系統(tǒng) VOD ( Video on Demand )是伴隨著視頻、音頻處理及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展而迅速興起的一門綜合性技術(shù)。網(wǎng)絡(luò)結(jié)構(gòu)中的多媒體數(shù)據(jù)以實(shí)時(shí)數(shù)據(jù)流的形式傳輸,與傳統(tǒng)的文件數(shù)據(jù)不同,多媒體數(shù)據(jù)流一旦開始傳輸,就必須以穩(wěn)定的速率傳送到桌面電腦上,以保證其平滑地回放,視頻、音頻數(shù)據(jù)流都不能有停滯和間斷;網(wǎng)絡(luò)擁堵、 CPU 爭用或 I/O 瓶頸都可能導(dǎo)致傳送的延遲,引起數(shù)據(jù)流傳輸阻塞。 VOD 服務(wù)是綜合技術(shù),它包括多媒體數(shù)據(jù)壓縮技術(shù)、多媒體網(wǎng)絡(luò)技術(shù)、多媒體數(shù)據(jù)庫技術(shù)等專業(yè)技術(shù)。
第一部分 基本概念
整個(gè)系統(tǒng)所圍繞的核心是如何安全快速高效地傳輸數(shù)據(jù),并流暢的播放數(shù)據(jù)流。為此,提出了一種流式傳送數(shù)據(jù)的方式。
第一節(jié)文件傳遞方式
流式媒體能夠通過“下載”和“流式播放”兩種方式將數(shù)字媒體文件傳遞到客戶端,供用戶使用。這兩種方式各有優(yōu)缺點(diǎn),但是這里推崇使用“流式播放”的方式對遠(yuǎn)程用戶提供服務(wù)。下面對這兩種方式作簡單介紹。
下載:為了通過使用下載方法將內(nèi)容傳遞給用戶,通常需要將內(nèi)容保存到 Web 服務(wù)器并通過在網(wǎng)頁上添加指向該內(nèi)容的鏈接來向用戶提供指向內(nèi)容的鏈接。于是用戶可單擊鏈接,將文件下載到其本地硬盤上,然后使用播放機(jī)播放內(nèi)容。
但是下載需要用戶首先將既耗費(fèi)時(shí)間又耗費(fèi)磁盤空間的整個(gè)文件復(fù)制到其計(jì)算機(jī)中,然后才能播放。另外,因?yàn)檎麄(gè)文件必須在下載之后才能播放,因此,下載不能用于實(shí)況流。下載不能高效地使用可用帶寬。當(dāng)客戶端開始下載數(shù)字媒體文件時(shí),所有可用網(wǎng)絡(luò)帶寬用于盡可能快地傳輸數(shù)據(jù)。因此,其他網(wǎng)絡(luò)功能可能會(huì)減慢或被中斷。
流式播放:要通過使用流式播放方法將內(nèi)容傳遞給用戶,您可以將內(nèi)容保存到 Windows Media 服務(wù)器,然后將該內(nèi)容分配給發(fā)布點(diǎn)。然后,您可以通過創(chuàng)建公告文件或通過向用戶提供發(fā)布點(diǎn)的 URL ( Uniform Resource Locator ) 來向用戶提供對該內(nèi)容的訪問。您可以將公告文件或 URL 嵌入到網(wǎng)頁中或?qū)⑵湟噪娮余]件形式發(fā)送。當(dāng)用戶單擊鏈接或公告文件時(shí),播放機(jī)就打開并連接到相應(yīng)的流。
因?yàn)榱魇讲シ胖灰钥蛻舳苏_呈現(xiàn)它所必需的速度通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù),實(shí)現(xiàn)邊下載、邊解碼、邊播放,所以它比下載更高效地使用帶寬。這有助于防止網(wǎng)絡(luò)變得過載并有助于維持系統(tǒng)的可靠性。因?yàn)椴シ艡C(jī)必須首先緩沖數(shù)據(jù)以防在流中存在延遲或間歇,所以在播放機(jī)接收流的時(shí)間和它開始播放流的時(shí)間之間通常有一個(gè)延遲。因?yàn)閷?shù)據(jù)進(jìn)行流式播放和呈現(xiàn)是同時(shí)發(fā)生的,所以流式播放還允許您傳遞實(shí)況內(nèi)容。
可看出兩種傳輸方式都有一定的缺點(diǎn),但是就多媒體服務(wù)來說,它對數(shù)據(jù)的實(shí)時(shí)性要求較高,強(qiáng)調(diào)查詢和瀏覽,不要求對數(shù)據(jù)存儲(chǔ),不要求數(shù)據(jù)傳輸中百分之百的完整性,所以使用流式播放能夠在滿足用戶需求的基礎(chǔ)上,更有效的減少帶寬的占用,提高網(wǎng)絡(luò)效率。
另外,值得一提的是“快速流式播放”,“快速流式播放”結(jié)合了流式播放和下載的優(yōu)點(diǎn)的功能。服務(wù)器可使用快速啟動(dòng)功能來確保客戶端可以在傳輸開始之后盡可能快地開始播放內(nèi)容。該功能允許播放機(jī)在開始播放內(nèi)容之前,以網(wǎng)絡(luò)所允許的最快速度從服務(wù)器下載和緩存一小部分內(nèi)容。當(dāng)在播放機(jī)上建立了緩沖區(qū)之后,服務(wù)器減慢流的傳輸,直到與播放機(jī)的呈現(xiàn)速度一致。
當(dāng)服務(wù)器使用快速緩存功能時(shí),服務(wù)器以盡可能高的比特率將所有內(nèi)容傳輸?shù)讲シ艡C(jī),以使網(wǎng)絡(luò)阻塞或中斷所帶來的影響降到最小。與普通的流式播放一樣,當(dāng)緩存了所需數(shù)量的數(shù)據(jù)之后,播放機(jī)立即開始呈現(xiàn)內(nèi)容。數(shù)據(jù)的其余部分存儲(chǔ)在客戶端上的臨時(shí)緩沖區(qū)中。
第二節(jié)系統(tǒng)結(jié)構(gòu)組成
我們以基于 Windows Media 技術(shù)的流式播放媒體系統(tǒng)為例,詳細(xì)介紹流式播放媒體系統(tǒng)組成結(jié)構(gòu)。
基于 Windows Media 技術(shù)的流式播放媒體系統(tǒng)通常由運(yùn)行編碼器(如 Microsoft Windows Media 編碼器)的計(jì)算機(jī)、運(yùn)行 Windows Media Services 的服務(wù)器和播放機(jī)組成。
編碼器允許您將實(shí)況內(nèi)容和預(yù)先錄制的音頻、視頻和計(jì)算機(jī)屏幕圖像轉(zhuǎn)換為 Windows Media 格式。運(yùn)行 Windows Media Services 的服務(wù)器名為 Windows Media 服務(wù)器,它允許您通過網(wǎng)絡(luò)分發(fā)內(nèi)容。用戶通過使用播放機(jī)(如 Windows Media Player )接收您分發(fā)的內(nèi)容。
系統(tǒng)主干包括如下幾個(gè)部分: Web 服務(wù)器、流媒體服務(wù)器、客戶端。(如圖一)
用戶首先從 Web 服務(wù)器那里獲得流媒體文件的相關(guān)信息,從中搜索自己需要的鏈接;用戶點(diǎn)擊鏈接之后, Web 服務(wù)器響應(yīng)消息,將請求定位到流媒體服務(wù)器( Media Services );用戶端播放器連接流媒體服務(wù)器,流媒體服務(wù)器提供相應(yīng)服務(wù),以流方式傳送數(shù)據(jù)到用戶計(jì)算機(jī),用戶計(jì)算機(jī)播放器流文件。以上是最簡單的流媒體服務(wù)系統(tǒng)。
除此之外,該系統(tǒng)中還可以加入視頻采集系統(tǒng)、文件服務(wù)器和分發(fā)服務(wù)器,其中視頻采集系統(tǒng)又包括攝像機(jī)和編碼器。如圖二:
編碼器是指一臺(tái)計(jì)算機(jī),它使用軟件(例如 Windows Media 編碼器)將壓縮 / 解壓縮 (codec) 算法和流格式應(yīng)用到采用模擬或數(shù)字音頻和視頻格式的內(nèi)容上,然后將內(nèi)容重新生成為數(shù)字文件或流。該過程稱為編碼。對內(nèi)容進(jìn)行編碼后,即可通過 Windows Media Services 進(jìn)行分發(fā)。大多數(shù)情況下,用于內(nèi)容編碼的軟件安裝在不同于 Windows Media Services 的一臺(tái)單獨(dú)的計(jì)算機(jī)上,以 確保流式媒體系統(tǒng)穩(wěn)定、冗余并且能夠承受預(yù)期負(fù)載 。
第三節(jié)建立發(fā)布點(diǎn)
當(dāng)您已經(jīng)獲取了內(nèi)容之后,下一步就是設(shè)置運(yùn)行 Windows Media Services 的服務(wù)器以便分發(fā)該內(nèi)容。設(shè)置 Windows Media 服務(wù)器的基本步驟包括:添加和配置發(fā)布點(diǎn)以標(biāo)識(shí)打算傳輸?shù)膬?nèi)容;通知用戶該內(nèi)容可用。
媒體服務(wù)器上必須首先設(shè)置發(fā)布點(diǎn),發(fā)布點(diǎn)是向用戶分發(fā)內(nèi)容的途徑。內(nèi)容可通過創(chuàng)建將客戶端重定向到發(fā)布點(diǎn)的公告文件來發(fā)布,也可通過分發(fā)指向發(fā)布點(diǎn)的 URL 來發(fā)布。 Windows Media 服務(wù)器使用發(fā)布點(diǎn)將客戶端對內(nèi)容的請求轉(zhuǎn)換為安置該內(nèi)容的服務(wù)器的物理路徑。
簡單形容,發(fā)布點(diǎn)就是在媒體服務(wù)器中預(yù)先存放的,一個(gè)填寫了所要提供給客戶的媒體文件的一個(gè)列表,列表的某一項(xiàng)指明了該媒體文件的具體位置,相關(guān)屬性(如文件名、位置、文件大小、播放時(shí)間等)。
發(fā)布點(diǎn)類型與內(nèi)容
發(fā)布點(diǎn)有不同的類型,一個(gè)服務(wù)器上可設(shè)置若干個(gè)發(fā)布點(diǎn),服務(wù)器根據(jù)發(fā)布點(diǎn)的類型,向用戶提供不同的服務(wù)。您可以向 Windows Media 服務(wù)器添加兩種類型的發(fā)布點(diǎn):點(diǎn)播發(fā)布點(diǎn)和廣播發(fā)布點(diǎn)。
點(diǎn)播是傳遞內(nèi)容的一種方法,該方法只有在客戶端向服務(wù)器發(fā)出請求時(shí),才通過單播傳輸來播放相應(yīng)內(nèi)容。每個(gè)請求流的客戶端通常都可完全控制流,可以快進(jìn)、倒回、暫停和重新啟動(dòng)內(nèi)容。這是因?yàn)辄c(diǎn)播發(fā)布點(diǎn)為請求內(nèi)容的每個(gè)客戶端提供了一個(gè)唯一的數(shù)據(jù)路徑。
廣播是一種同時(shí)向大量觀眾傳輸數(shù)據(jù)的方法。在 Windows Media Services 中,廣播是通過使用廣播發(fā)布點(diǎn)來實(shí)現(xiàn)的。接收廣播的客戶端不能控制內(nèi)容的開始和播放,也不能讓流快進(jìn)或倒回。該流由服務(wù)器控制。在客戶端可從廣播發(fā)布點(diǎn)接收內(nèi)容之前,必須啟動(dòng)發(fā)布點(diǎn)。
所以,如果要傳輸編碼器的實(shí)況內(nèi)容,則最好選擇廣播發(fā)布點(diǎn)。如果打算傳輸文件且希望允許用戶控制內(nèi)容的播放(例如,暫停、倒回或快進(jìn)),則最好選擇點(diǎn)播發(fā)布點(diǎn)。
就發(fā)布點(diǎn)的內(nèi)容來說,發(fā)布點(diǎn)可以用多種不同的內(nèi)容來源,播放列表、文件和編碼器都可以作為內(nèi)容的來源。
• 播放列表提供一種將不同片段的數(shù)字媒體內(nèi)容組織成單個(gè)用戶體驗(yàn)的方法
• 可通過配置廣播或點(diǎn)播發(fā)布點(diǎn)傳輸目錄中的單個(gè)文件
• 可通過配置廣播或點(diǎn)播發(fā)布點(diǎn)傳輸目錄中的文件
• 當(dāng)編碼器為廣播提供流時(shí),它可以將流 “ 推送 ” 到服務(wù)器,而服務(wù)器也可以從編碼器 “ 提拉 ” 所需的流
• 可將另一臺(tái) Windows Media 服務(wù)器上的發(fā)布點(diǎn)用作點(diǎn)播發(fā)布點(diǎn)或廣播發(fā)布點(diǎn)的源
• 可將遠(yuǎn)程多播廣播用作廣播發(fā)布點(diǎn)的內(nèi)容源,也可以創(chuàng)建存檔文件以備以后點(diǎn)播或廣播播放
• 將加密目錄作為來源
• 使用動(dòng)態(tài)源
流傳遞方式
在選擇要使用的發(fā)布點(diǎn)類型時(shí),您應(yīng)當(dāng)考慮如何傳遞內(nèi)容;例如,是以單播流方式還是以多播流方式傳遞內(nèi)容。利用單播流,客戶端連接到 Windows Media 服務(wù)器以訪問內(nèi)容。利用多播流,服務(wù)器向網(wǎng)絡(luò)上的單個(gè)多播 IP 地址傳輸內(nèi)容,所有客戶端都訪問該 IP 地址(而不是連接到服務(wù)器)以接收流。因?yàn)閱蝹(gè)流能夠滿足多個(gè)客戶端請求,所以這將降低網(wǎng)絡(luò)上所需的帶寬量。
以單播流方式傳遞內(nèi)容時(shí)既可以采用點(diǎn)播發(fā)布點(diǎn)又可以采用廣播發(fā)布點(diǎn)。以多播流方式傳遞內(nèi)容時(shí)只能采用廣播發(fā)布點(diǎn)。
單播是一種通過網(wǎng)絡(luò)傳輸數(shù)據(jù)包的方法,該方法要求在客戶端和傳輸數(shù)據(jù)的服務(wù)間進(jìn)行點(diǎn)對點(diǎn)通信。單播也稱為定向通信,這是因?yàn)閿?shù)據(jù)被定向到網(wǎng)絡(luò)上的特定客戶端。
單播是向單個(gè)客戶端傳輸單個(gè)數(shù)據(jù)流的一種方法。單播傳遞從服務(wù)器為每一個(gè)客戶端提供單個(gè)流。通過單播傳遞接收內(nèi)容的客戶端可以使用任何可支持的連接協(xié)議連接到服務(wù)器。
一旦客戶端連接到服務(wù)器,內(nèi)容便可以通過用戶數(shù)據(jù)報(bào)協(xié)議 (UDP) 或傳輸控制協(xié)議 (TCP) 進(jìn)行傳遞。這兩個(gè)協(xié)議之間的區(qū)別在于客戶端確認(rèn)收到數(shù)據(jù)包的方式不同。
多播是一種在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的方法,這種方法允許許多個(gè)客戶端接收相同的數(shù)據(jù)流。該方法可將向一組網(wǎng)絡(luò)客戶端傳輸數(shù)據(jù)所需的帶寬降至最低。多播傳輸要求網(wǎng)絡(luò)上的路由器和交換機(jī)必須啟用多播,這意味著它們必須能夠傳輸 D 類 Internet 協(xié)議 (IP) 地址并可解釋多播信息數(shù)據(jù)包。
D 類 IP 地址第一個(gè)字節(jié)以“ lll0 ”開始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播( Multicast )中。多點(diǎn)廣播地址用來一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。 D 類地址用于多點(diǎn)廣播( Multicast )。
多播 IP 地址是位于下列兩個(gè)范圍內(nèi)的 D 類地址: 224.0.0.0 至 239.255.255.255 以及 FF00:0000:0000:0000:0000:0000:0000:0000 至 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 。第一個(gè)范圍中的地址是 Internet 協(xié)議版本 4 (IPv4) 地址,該版本是 Internet 協(xié)議的當(dāng)前版本。第二個(gè)范圍中的地址是 IPv6 地址,該版本是此協(xié)議的新版本。
用在 Intranet 上時(shí),建議您使用范圍 239.*.*.* 中的 IPv4 地址。端口號可以介于 1 至 65535 之間。用來傳輸內(nèi)容的網(wǎng)絡(luò)上的路由器必須啟用多播,也就是說路由器必須能夠解釋 D 類地址,否則將無法向客戶端(如果一個(gè)程序 / 計(jì)算機(jī)連接到另一個(gè)程序 / 計(jì)算機(jī),或者請求另一個(gè)程序 / 計(jì)算機(jī)的服務(wù),那么發(fā)起連接或發(fā)出請求的程序 / 計(jì)算機(jī)就稱為客戶端。另外,客戶端還可以指賦予該程序 / 計(jì)算機(jī)連接能力的軟件。)轉(zhuǎn)發(fā)多播信息。
如圖四,多播需要在網(wǎng)絡(luò)中安裝多播路由器,增加了系統(tǒng)成本,但可以有效減少服務(wù)器的負(fù)荷。
多播是一種向多個(gè)客戶端傳輸單個(gè)數(shù)據(jù)流的方法。多播是無連接的,客戶端通過監(jiān)視從服務(wù)器接收內(nèi)容流的特定多播 IP 地址和端口來接收多播內(nèi)容。
要在服務(wù)器上成功地使用多播傳遞,您的網(wǎng)絡(luò)必須使用多播路由器。多播路由器能夠解釋 D 類 IP 地址,并使用 Internet 組管理協(xié)議 (IGMP) 將客戶端路由到多播 IP 地址。
所有多播內(nèi)容都必須具有指定的生存時(shí)間值,該值限制了多播內(nèi)容在到期之前能夠穿過的路由器數(shù)量。
多播流通過網(wǎng)絡(luò)上指定數(shù)量的路由器進(jìn)行分發(fā),該數(shù)量是由生存時(shí)間值 (TTL) 決定的。生存時(shí)間值在內(nèi)容每次通過一個(gè)路由器時(shí)都減 1 。當(dāng)該值為零時(shí),多播流就不能繼續(xù)前進(jìn)。基于分發(fā)類型, WMS 多播數(shù)據(jù)寫入器插件的預(yù)設(shè)生存時(shí)間值如下:
1 :本地網(wǎng)絡(luò)
32 : Intranet
64 : Internet ,洲內(nèi)
128 : Internet ,洲際
255 :允許的最大值
第四節(jié)向用戶發(fā)送內(nèi)容公告
在已經(jīng)添加了發(fā)布點(diǎn)和標(biāo)識(shí)了要從中傳輸?shù)膬?nèi)容之后,您需要通知用戶該內(nèi)容可用?赏ㄟ^為該內(nèi)容創(chuàng)建公告來方便地完成通知操作。
在設(shè)置 Windows Media 服務(wù)器和要傳輸?shù)膬?nèi)容之后,需要讓用戶知道該內(nèi)容可用以及如何訪問。用戶可以通過在其播放機(jī)中鍵入指向內(nèi)容的 URL 來訪問該內(nèi)容。但是,用戶并不總是知道該 URL ,或者甚至不知道內(nèi)容已存在。為了便于用戶訪問內(nèi)容,您可以創(chuàng)建一個(gè)公告。公告是擴(kuò)展名為 .asx 的 Windows Media 元文件,它向播放機(jī)提供連接到 Windows Media 服務(wù)器所需的信息。
第五節(jié)傳輸協(xié)議
為實(shí)現(xiàn)流式播放, Windows Media Services 通過使用控制協(xié)議插件支持 Microsoft Media 服務(wù)器 (MMS) 協(xié)議、實(shí)時(shí)流式傳輸協(xié)議 (RTSP) ,以及超文本傳輸協(xié)議 (HTTP) 。
數(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ù)百萬運(yùn)行各種軟硬件組合的不同網(wǎng)絡(luò)組成的。因此,為了以可靠方式向客戶端傳輸數(shù)字媒體內(nèi)容,需要有一組設(shè)計(jì)良好的協(xié)議。
圖五描述了 Windows Media Services 如何使用不同的協(xié)議在 Windows Media 服務(wù)器、編碼器、內(nèi)容源,以及 客戶端 之間協(xié)商連接。
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é)議滿足其流請求。
MMSU 和 MMST 是 MMS 協(xié)議的專門化版本。 MMSU 基于用戶數(shù)據(jù)報(bào)協(xié)議 (UDP) ,是流式播放的首選協(xié)議。 MMST 基于傳輸控制協(xié)議 (TCP) ,用在不支持 UDP 的網(wǎng)絡(luò)上。
RTSP 協(xié)議
可以使用實(shí)時(shí)流式傳輸協(xié)議 (RTSP) 以單播流方式傳遞內(nèi)容。這是一個(gè)應(yīng)用程序級別的協(xié)議,是為控制實(shí)時(shí)數(shù)據(jù)(如音頻和視頻內(nèi)容)的傳遞而專門創(chuàng)建的。此協(xié)議是在面向糾錯(cuò)的傳輸協(xié)議基礎(chǔ)上實(shí)現(xiàn)的,支持停止、暫停、倒回及快進(jìn)索引 Windows Media 文件等播放機(jī)控制操作?梢允褂 RTSP 將內(nèi)容傳輸?shù)竭\(yùn)行 Real Player 系列 或 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)容。
RTSPU 基于用戶數(shù)據(jù)報(bào)協(xié)議 (UDP) ,是流式播放的首選協(xié)議。 RTSP 基于傳輸控制協(xié)議 (TCP) ,用在不支持 UDP 的網(wǎng)絡(luò)上。
HTTP 協(xié)議
通過使用超文本傳輸協(xié)議 (HTTP) ,您可以將內(nèi)容從編碼器傳輸?shù)?Windows Media 服務(wù)器,在運(yùn)行 Windows Media Services 的不同版本的計(jì)算機(jī)間或被防火墻隔開的計(jì)算機(jī)間分發(fā)流,以及從 Web 服務(wù)器上下載動(dòng)態(tài)生成的播放列表。 HTTP 對于通過防火墻接收流式內(nèi)容的客戶端特別有用,因?yàn)?HTTP 通常設(shè)置為使用端口 80 ,而大多數(shù)防火墻不會(huì)阻斷該端口。
協(xié)議翻轉(zhuǎn)
Windows Media Services 依據(jù)客戶端的具體環(huán)境為其選擇適當(dāng)協(xié)議的能力稱為協(xié)議翻轉(zhuǎn)。如果要支持多種客戶端版本,支持通過防火墻連接的客戶端或通過不同類型的網(wǎng)絡(luò)連接的客戶端,那么協(xié)議翻轉(zhuǎn)將很有用。如果服務(wù)器上所有可用的服務(wù)器控制協(xié)議插件(包括 WMS HTTP 服務(wù)器控制插件)都已啟用,那么協(xié)議翻轉(zhuǎn)的效果會(huì)達(dá)到最佳。
Windows Media 服務(wù)器使用協(xié)議翻轉(zhuǎn)的目的是為了與客戶端建立最佳的連接?蛻舳嗽趪L試連接服務(wù)器時(shí),會(huì)發(fā)送有關(guān)自身類型以及能支持哪些協(xié)議的信息。 Windows Media 服務(wù)器將該信息與已啟用的協(xié)議進(jìn)行比較,然后使用適用于當(dāng)時(shí)情況的最佳協(xié)議。通常,服務(wù)器和客戶端之間的第一次連接嘗試是成功的,不需要采取進(jìn)一步行動(dòng)。如果該連接請求不成功,那么客戶端將嘗試使用其他可支持的協(xié)議連接到服務(wù)器。在每一次協(xié)議翻轉(zhuǎn)嘗試期間,客戶端會(huì)經(jīng)歷一段非常短暫、通常不易察覺的延遲時(shí)間。
建議您使用協(xié)議翻轉(zhuǎn),以確?蛻舳讼硎艿阶罴训牧魇讲シ朋w驗(yàn)。如果客戶端使用帶有 mms:// 前綴的 URL 連接到流,那么協(xié)議翻轉(zhuǎn)將在必要時(shí)進(jìn)行。請注意,用戶可以在播放機(jī)的屬性設(shè)置中禁用協(xié)議。如果播放機(jī)只支持一個(gè)協(xié)議,那么翻轉(zhuǎn)就無法進(jìn)行。協(xié)議翻轉(zhuǎn)中使用的具體邏輯取決于連接服務(wù)器的客戶端類型。
如圖九,在使用 RTSP 協(xié)議時(shí),啟用快速緩存時(shí),系統(tǒng)首先使用基于傳輸控制協(xié)議的 RTSPT 協(xié)議,如果連接請求不成功,則使用基于用戶數(shù)據(jù)報(bào)協(xié)議的 RTSPU 協(xié)議,當(dāng)請求再次失敗時(shí),使用 HTTP 協(xié)議。
禁用快速緩存的系統(tǒng)中,系統(tǒng)會(huì)首先使用 RTSPU 協(xié)議,失敗時(shí)才會(huì)嘗試使用 RTSPT 協(xié)議。
對于 Windows Media Player 的早期版本,如 Windows XP 中的 Windows Media Player ,不支持 RTSP 協(xié)議。然而, MMS 協(xié)議為這些播放機(jī)提供了協(xié)議翻轉(zhuǎn)支持。因此,當(dāng)早期版本的播放機(jī)嘗試使用帶有 mms:// 前綴的 URL 連接到服務(wù)器時(shí),服務(wù)器將自動(dòng)為播放機(jī)協(xié)商最佳的協(xié)議。服務(wù)器將首先嘗試使用 MMSU (即采用基于 UDP 的傳輸方式的 MMS )連接到客戶端。如果不支持該協(xié)議,那么服務(wù)器將嘗試使用 MMST (即采用基于 TCP 的傳輸方式的 MMS )進(jìn)行連接。如果該連接也不成功,則在啟用了 WMS HTTP 服務(wù)器控制協(xié)議插件的情況下,服務(wù)器將嘗試使用 HTTP 協(xié)議進(jìn)行連接。如圖十:
第六章使用分發(fā)服務(wù)器
分發(fā)服務(wù)器發(fā)布從另一個(gè)流式源(如另一個(gè) Windows Media 服務(wù)器)接收到的內(nèi)容。運(yùn)行 Windows Media Services 的任何計(jì)算機(jī)都可以作為分發(fā)服務(wù)器運(yùn)行。源服務(wù)器是分發(fā)服務(wù)器播放內(nèi)容的來源?蛻舳丝梢韵襁B接源服務(wù)器一樣連接到分發(fā)服務(wù)器。分發(fā)服務(wù)器位于內(nèi)容流中的源服務(wù)器和客戶端之間,因此能夠執(zhí)行多種功能:
負(fù)載平衡。 分發(fā)服務(wù)器是一種降低 Windows Media 服務(wù)器的客戶端負(fù)載的簡單方式,因?yàn)槟梢詫⒖蛻舳说膬?nèi)容請求分布到網(wǎng)絡(luò)上的多個(gè)服務(wù)器上。
網(wǎng)絡(luò)安全策略。 分發(fā)服務(wù)器可以放在網(wǎng)絡(luò)防火墻內(nèi),將位于防火墻之外的源服務(wù)器作為來源,向防火墻內(nèi)的客戶端提供內(nèi)容,因而無需打開額外的端口;蛘,分發(fā)服務(wù)器可以放在網(wǎng)絡(luò)防火墻之外,將防火墻內(nèi)的源服務(wù)器作為來源,向防火墻外的客戶端提供內(nèi)容。
服務(wù)器翻轉(zhuǎn)。 在向位于多播網(wǎng)絡(luò)上的客戶端多播內(nèi)容時(shí)可以使用分發(fā)服務(wù)器。不在多播網(wǎng)絡(luò)上的客戶端可以重定向到另一個(gè)分發(fā)服務(wù)器,以便進(jìn)行標(biāo)準(zhǔn)的內(nèi)容單播傳遞。
第二部分 服務(wù)器管理
使用 Windows Media Services ,可以將 Windows Media 服務(wù)器配置為通過 Intranet 或 Internet 傳輸內(nèi)容。在開始傳輸內(nèi)容之前,必須為運(yùn)行 Windows Media Services 的服務(wù)器配置設(shè)置,添加并配置發(fā)布點(diǎn),然后設(shè)置內(nèi)容。
第一節(jié)服務(wù)器配置設(shè)置
通過使用 Windows Media Services 管理單元或用于 Web 的 Windows Media Services 管理器,可以對 Windows Media 服務(wù)器進(jìn)行管理。如果您使用的是 Windows Media Services 管理單元,那么可以將運(yùn)行 Windows Media Services 的任何服務(wù)器添加到控制臺(tái),但前提是您具有該服務(wù)器的管理權(quán)限。即使從管理單元中刪除了某個(gè)服務(wù)器,您仍可以通過用于 Web 的 Windows Media Services 管理器來管理該服務(wù)器。此外 , 使用通過 Windows Media Services 9 系列軟件開發(fā)工具包 (SDK) 創(chuàng)建的命令行腳本和自定義程序也可以管理服務(wù)器。
您可能還希望實(shí)施通過 Windows Media Services 使用的一些更高級的功能。例如,您可以修改設(shè)置以限制客戶端連接數(shù)、設(shè)置安全措施以保護(hù)內(nèi)容、記錄有關(guān)客戶端活動(dòng)的數(shù)據(jù)以及設(shè)置分發(fā)服務(wù)器。
服務(wù)器配置設(shè)置包括如下幾項(xiàng):
1. 允許或拒絕單播客戶端連接
2. 設(shè)置服務(wù)器限制
限制播放機(jī)連接數(shù)
限制傳出分發(fā)連接數(shù)
限制播放機(jī)總帶寬
限制傳出分發(fā)總帶寬
限制單一播放機(jī)單個(gè)流的帶寬
限制單個(gè)傳出分發(fā)流的帶寬
限制每秒連接數(shù)
限制播放機(jī)不活動(dòng)超時(shí)時(shí)間
限制連接確認(rèn)時(shí)間
第二節(jié)發(fā)布點(diǎn)類型和公告形式的選擇
發(fā)布點(diǎn)是向用戶分發(fā)內(nèi)容的途徑。內(nèi)容可通過創(chuàng)建將客戶端重定向到發(fā)布點(diǎn)的公告文件來發(fā)布,也可通過指向發(fā)布點(diǎn)的 URL 來發(fā)布。
創(chuàng)建什么類型的發(fā)布點(diǎn),要根據(jù)您的具體需求來選擇。
如果您希望用戶能夠控制正傳輸?shù)膬?nèi)容的播放,則最適于從點(diǎn)播發(fā)布點(diǎn)傳輸內(nèi)容。這種類型的發(fā)布點(diǎn)最常用于安置以文件、播放列表或目錄為來源的內(nèi)容。當(dāng)客戶端連接到該發(fā)布點(diǎn)時(shí),將從頭開始播放內(nèi)容,最終用戶可以使用播放機(jī)上的播放控件來暫停、快進(jìn)、倒回、跳過播放列表中的項(xiàng)目或停止。
如果您希望創(chuàng)造與觀看電視節(jié)目類似的體驗(yàn),則最適于從廣播發(fā)布點(diǎn)傳輸內(nèi)容 — 在源或服務(wù)器上控制和傳輸內(nèi)容。這種類型的發(fā)布點(diǎn)最常用于從編碼器、遠(yuǎn)程服務(wù)器或其他廣播發(fā)布點(diǎn)傳遞實(shí)況流。當(dāng)客戶端連接到廣播發(fā)布點(diǎn)時(shí),客戶端就加入了已在傳遞的廣播中。例如,如果公司范圍內(nèi)的會(huì)議在上午 10:00 進(jìn)行廣播,在上午 10:18 連接的客戶端將錯(cuò)過會(huì)議的前 18 分鐘?蛻舳丝梢詥(dòng)和停止流,但是不能暫停、快進(jìn)、倒回或跳過。
為了使用戶知道哪些發(fā)布點(diǎn)可以使用,最簡單的方式是通過指向發(fā)布點(diǎn)的 URL 來發(fā)布。那么究竟什么是 URL 呢?
URL ( Uniform Resource Locator :統(tǒng)一資源定位器)實(shí)際上是 Web 頁的地址,它從左到右由下述部分組成:
Internet 資源類型( scheme ):指出 Web 客戶程序用來操作的工具。如“ http : // ”表示 Web 服務(wù)器,“ ftp : // ”表示 FTP 服務(wù)器,“ gopher : // ”表示 Gopher 服務(wù)器,而“ new :”表示 Newsgroup 新聞組。
服務(wù)器地址( host ):指出 Web 頁所在的服務(wù)器域名。
端口( port ):有時(shí)(并非總是這樣),對某些資源的訪問來說,需給出相應(yīng)的服務(wù)器提供端口號。
路徑( path ):指明服務(wù)器上某資源的位置(其格式與 DOS 系統(tǒng)中的格式一樣,通常有目錄 / 子目錄 / 文件名這樣結(jié)構(gòu)組成)。與端口一樣,路徑并非總是需要的。
URL 地址格式排列為: scheme : //host : port/path
例如 http : //www.51itworld.com/domain/HXWZ 就是一個(gè)典型的 URL 地址。
另一種方法,也是使用最廣的方法是通過公告文件發(fā)布發(fā)布點(diǎn)。
公告是帶有 .asx 擴(kuò)展名的 Windows Media 元文件,該文件為播放機(jī)提供在連接到 Windows Media 服務(wù)器接收內(nèi)容時(shí)需要的信息。您可以在網(wǎng)頁上插入指向公告的鏈接,將公告放在共享文件中,或用電子郵件發(fā)送出去。用戶可以通過單擊網(wǎng)頁上的公告鏈接或直接打開公告來訪問您的內(nèi)容。位于 Windows Media Services 管理單元“公告”選項(xiàng)卡上的公告向?qū)Э蓭椭鷦?chuàng)建公告文件( .asx 文件)和多播信息文件( .nsc 文件),播放機(jī)可以使用這些文件連接到內(nèi)容。向?qū)н可以幫助您創(chuàng)建帶有嵌入式 Windows Media Player 控件的網(wǎng)頁,或者提供在個(gè)人的網(wǎng)頁中嵌入播放機(jī)的語法。
因?yàn)楹芏酁g覽器不能直接訪問流式媒體內(nèi)容,所以使用公告文件作為鏈接,使得大部分用戶都可接收數(shù)據(jù)。
舉個(gè)例子,如果用戶使用微軟的 IE 瀏覽器訪問發(fā)布點(diǎn)時(shí),是使用“ URL ”還是“公告文件”效果是相同的,瀏覽器會(huì)自動(dòng)啟動(dòng) Windows Media Player 控件來播放發(fā)布點(diǎn)的內(nèi)容。用戶甚至可以選擇是在 IE 瀏覽器內(nèi)播放或是啟動(dòng) Windows Media Player 來播放;然而對于其他瀏覽器的使用者,如果該瀏覽器不支持直接訪問流式媒體內(nèi)容,那么該用戶就不能連接 URL 指定的發(fā)布點(diǎn)。只有當(dāng)他點(diǎn)擊公告文件時(shí),用戶的系統(tǒng)才能自動(dòng)啟動(dòng) Windows Media Player 。
其實(shí)公告文件與 URL 的本質(zhì)是一樣的,都是對發(fā)布點(diǎn)位置的描述,是一個(gè) Web 地址。比較一下二者的具體內(nèi)容就會(huì)非常明顯的看出其中的相同之處。
公告文件示例
<asx version = "3.0"> <entry> <ref href = "mms://servername/publishingpointname/filename.wmv"/>
</entry>
</asx>
URL 示例
mms://my_server/mypub_pt/my_file.wmv
第三節(jié)配置安全選項(xiàng)
如果您希望對發(fā)布點(diǎn)內(nèi)容的安全性作進(jìn)一步設(shè)置, Windows Media Services 提供的安全選項(xiàng)完全可以滿足您的要求。它包括如下幾項(xiàng):
身份驗(yàn)證 是保證運(yùn)行 Windows Media Services 的服務(wù)器的安全性的最基本方面。它將對試圖訪問 Windows Media 服務(wù)器資源的任何用戶進(jìn)行身份確認(rèn)。
身份驗(yàn)證是對嘗試連接到服務(wù)器的客戶端的憑據(jù)進(jìn)行驗(yàn)證的過程。此過程包括從客戶端向服務(wù)器發(fā)送憑據(jù),以及使用身份驗(yàn)證方案識(shí)別用戶。
授權(quán) 是驗(yàn)證是否允許客戶端連接到服務(wù)器的過程。授權(quán)在身份驗(yàn)證成功之后進(jìn)行。在授權(quán)過程中,服務(wù)器對照為用戶試圖連接的資源設(shè)置的訪問權(quán)限對用戶進(jìn)行檢查。
向用戶授予權(quán)限的目的在于定義一個(gè)特定用戶可以在系統(tǒng)上執(zhí)行什么操作,以及向不同的用戶授予不同的權(quán)限級別。可以為系統(tǒng)上的單個(gè)用戶、計(jì)算機(jī)和服務(wù)器定義權(quán)限。
配置防火墻。 如果您計(jì)劃從網(wǎng)絡(luò)上的 Windows Media 服務(wù)器向 Internet 上的播放機(jī)傳輸內(nèi)容,那么可能需要在防火墻上打開更多端口以防止播放機(jī)在接收內(nèi)容時(shí)遇到問題。
可以為單播流配置防火墻、為多播流配置防火墻,允許防火墻之外的編碼器進(jìn)行訪問。
日志管理。 Windows Media 服務(wù)器包括內(nèi)置的監(jiān)視和日志記錄功能,您可以利用它們收集有關(guān)流式媒體會(huì)話及其觀眾的有價(jià)值的信息。
總結(jié)
隨著技術(shù)發(fā)展、新協(xié)議制定,其內(nèi)核將被不斷被重新設(shè)計(jì),流式媒體服務(wù)系統(tǒng)日漸完善。智能流式播放逐漸發(fā)展成熟, Media 服務(wù)器與 Media Player 一起檢測網(wǎng)絡(luò)狀況并自動(dòng)調(diào)整流的屬性以最大限度地改善播放質(zhì)量的方法。通過智能流式播放,用戶可以收到根據(jù)特定的連接速度定制的連續(xù)內(nèi)容流。
為使服務(wù)器充分發(fā)揮智能流式播放的所有長處,應(yīng)使用多個(gè)比特率對內(nèi)容進(jìn)行編碼。多比特率 (MBR) 內(nèi)容包含多個(gè)以不同的比特率編碼的流,每個(gè)流通常都對應(yīng)于一個(gè)常見的連接速率。使用分發(fā)服務(wù)器傳遞多比特率內(nèi)容時(shí),所有流都由源服務(wù)器發(fā)送到分發(fā)服務(wù)器。當(dāng)多比特率內(nèi)容從源服務(wù)器或分發(fā)服務(wù)器發(fā)送到播放機(jī)時(shí),只有最適于當(dāng)前帶寬狀況的比特率內(nèi)容得以播放。
流式播放多媒體系統(tǒng)將會(huì)深入到更多的應(yīng)用領(lǐng)域中去,流式播放多媒體技術(shù)將有待于我們進(jìn)一步學(xué)習(xí)和推廣。
【“流式播放”多媒體服務(wù)系統(tǒng)】相關(guān)文章:
多媒體創(chuàng)作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)08-06
多媒體會(huì)議系統(tǒng)方案06-12
基于Internet的多媒體教學(xué)系統(tǒng)結(jié)構(gòu)08-06
基于Internet的多媒體教學(xué)系統(tǒng)結(jié)構(gòu)-08-06
基于Internet的多媒體教學(xué)系統(tǒng)結(jié)構(gòu)08-17
讓多媒體為體育教學(xué)服務(wù)08-07
12 。úシ叛┚埃08-15