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