在當今的流媒體服務器市場有兩個“大腕”,一個是RealNetworks公司的Helix Server,另一個就是微軟的Windows Media Services 。RealNetworks的Helix Server優勢在于兼容眾多操作系統平臺,因此在大型的提供電影點播的網站,也許會運行LINUX等操作系統,也就只能用RealNetworks的Helix Server。而微軟的媒體服務器則是WINDOWS 2000或WINDOWS2003服務器版操作系統自帶,基本是免費,當然它是一個服務器組件,它不會默認安裝,得指定安裝才行。
本文只介紹基于WINDOWS的流媒體服務器——Windows Media Services,因這是操作系統自帶,配置相對方便,也更好用和容易管理,功能也很強大。兩個WINDOWS服務器操作系統帶的流媒體服務器版本也不同,后一個是最新的,它稱為Windows Media Services 9系列(見圖1),它最好運行在WINDOWS 2003服務器操作系統下。在本文我們也將在基于WINDOWS 2003操作系統,以WINDOWS MEDIA SERVICES 9系列為對象進行案例的介紹。
Windows Media Services 是微軟提供的一種通過 Internet(互聯網) 或 Intranet(內聯網) 向客戶端傳輸音頻和視頻內容的平臺。客戶端可以是使用播放機(例如 Windows Media Player)播放內容的PC計算機或設備(最終用戶);也可以是用于代理、緩存或重新分發內容的另一臺運行 Windows Media Services媒體服務器。
Windows Media 服務器可從多種不同的“源”接收內容以進行發布。包括三種方式:
1.預先錄制的存儲在本地服務器上的內容,也可以從聯網的文件服務器上提取;
2.可以使用數字錄制設備(攝象機,話筒)記錄實況,經編碼器(編碼軟件)處理后發送到 Windows Media 服務器進行廣播;
3.Windows Media Services 還可以重新廣播從遠程另一個Windows Media 服務器上的發布點傳輸過來的內容。
如果計劃傳輸實況內容,則服務器將連接到支持媒體格式的編碼軟件(如 Windows Media 編碼器)。你可以使用 Windows Media 編碼器 9 系列(下載地:http://www.microsoft.com/downloa ... cn&Hash=C39WQB8),Microsoft Producer for Microsoft Office PowerPoint 2003(下載地:http://www.microsoft.com/downloa ... p;displaylang=zh-cn ),Windows Movie Maker等,這些軟件可以從微軟公司的網站下載。
在介紹Windows media server的架設之前,讓我們先來了解什么是“流媒體”(Stream Media);什么是“單播”和“多播”;什么是“點播發布點”和“廣播發布點”等一些專業技術和微軟的專有術語。
流媒體
流媒體顧名思義,可以認為是流動的媒體,以連續流(數據包)的形式通過網絡傳遞數字媒體。指的是影音等媒體文件被分解編碼成數字信號象流水一樣流向目的地,并在到達目的地時由播放器還原為圖像或聲音。這種方法在接收的同時呈現內容,從而可以連續地播放數據,而不必等待下載整個文件,流式處理的文件播放完后,它不會存儲在計算機中。
發布點
發布點是Windows Media服務器使用來將客戶端對媒體內容的訪問請求轉換為放置該內容的服務器上的物理路徑(呈現給播放器的是一個網址,類似于網站的根目錄)。發布點是網管人員用來標志某種類型的媒體服務的點,通過媒體服務器的控制界面,可以看到這些點的工作狀態并隨時管理。在客戶端成功連接到發布點之后,Windows Media 服務器管理該連接并傳輸該內容,客戶端通過連接到發布點而能訪問來自服務器的內容流。有兩種類型的發布點:“點播發布點”和“廣播發布點”。一個 Windows Media 服務器可以配置為運行多個發布點,可以廣播和點播同時存在。點播和廣播有一些重要的區別。
(1)使用點播發布點
如果你希望由客戶端來控制播放,可以操作播放器的播放、暫停、快進等功能,則使用點播發布點。這種類型的發布點最常用于以文件、播放列表或目錄為源的內容。當客戶端連接到該發布點時,將從頭開始播放內容,最終用戶可以使用播放機上的播放控件來暫停、快進、倒回、跳過播放列表中的項目或停止。只有當客戶端已連接且可以接收流時,點播發布點才可以傳輸內容。從點播發布點傳輸的內容總是以單播流的形式傳遞。這種方式適用于媒體的點播服務,這也是電影服務器要采用的方式,也是本案要采用和重點介紹的方案。
(2)使用廣播發布點
如果你希望在服務器上控制播放和傳輸內容,則使用廣播發布點。這象是電臺或電視臺播放節目的方式,節目由服務器持續播放,你錯過了就只能錯過。這使用戶有看電視節目的類似體驗。它最常用于從編碼器、遠程服務器或其他廣播發布點傳遞實況流。當客戶端連接到廣播發布點時,客戶端就加入到已在傳遞的廣播中。客戶端可以啟動和停止流,但不會停止服務器的廣播,也不能暫停、快進、倒回或跳過。廣播發布點也可以用來傳輸文件和文件播放列表,但是客戶端播放機不能像控制點播那樣控制播放。給用戶的感覺象是在接收實況編碼流廣播,這樣其實還不如采用點播發布點方式。
廣播發布點在服務器端啟動時立即傳輸,并一直繼續,直到它被管理員停止或內容傳輸完。啟動可以是由管理員來人工啟動;也可以在連接第一個客戶端時自動啟動。這種方式適用于較適合于企業的視頻會議和比如校園網中足球賽的實況網絡直播等。
單播和多播是流的傳遞方式
(1)單播流是服務器和客戶端之間建立的“一對一”連接,每個客戶端都向服務器請求接收一個不同的流且只有那些請求流的客戶端才接收流。以單播流方式傳遞內容時既可以用于建點播發布點又可以用于建廣播發布點。單播流式傳輸也是 Windows Media 服務器用來傳遞內容的默認方法,默認處于啟用狀態。 實際上也是最常用的方式。
下圖顯示通過使用點播發布點以單播流方式傳遞內容的示例。(圖2)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
正如上圖所示,在名為 Server1 的 Windows Media 服務器上有一個名為 TV1 的點播發布點。內容可在本地服務器或網絡上的文件服務器上安置。您可以將特定“文件”、“目錄”、“播放列表文件”作為來源。在上例中,發布點將存儲在本地 Server1 上的播放列表文件作為來源。創建一個為用戶提供指向內容的 URL。因為內容是以單播流方式傳遞的,所以每個播放機都有一個到 Server1 的唯一連接。
由于本案的電影服務器屬于點播發布點,所以點播發布點在對Windows Media 服務器的設置中就沒有單播和多播的選擇,只會是系統默認的單播方式,服務器系統不用作另外的設置。
(2)多播流是指 Windows Media 服務器和接收流的客戶端之間的一對多關系。利用多播流,服務器向網絡上的一個D類多播 IP 地址傳輸流,客戶端通過向該 IP 地址訂閱來接收流。所有的客戶端都接收相同的流。無論有多少個客戶端接收流,服務器只向多播地址傳輸一個流。
使用多播流會節省網絡帶寬,對于帶寬較低的廣域網絡可能非常有用,這種方式需要路由器的參與,非常適合于跨互聯網的大型視頻會議。以多播流方式傳遞內容時只能用建廣播發布點。另外路由器必須已啟用多播功能。
在網吧應用中,除了做電影、音樂的點播服務,也許我們也會有廣播服務的需求,比如:需要在網絡內實況轉播電視足球賽。在建廣播發布點時,會遇到服務器系統給出的以“單播”或者“多播”傳遞流的選擇。對于局域網環境來說,帶寬足夠高,同時也沒有專業路由器進行“多播”,所以應選擇用“單播”來傳遞流。
在進行Windows Media Services服務器的設置之前,由于它不是默認安裝,我們需要進行組件的安裝。進入“控制面板”,點擊“添加或刪除程序”,點擊“添加/刪除Windows組件”,在“Windows組件向導”中選中“Windows Media Services”,插入WINDOWS2003安裝盤,然后點擊“下一步”進行安裝。(圖3)
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
在安裝完Windows Media Services服務器以后,我們就可以開始設置媒體服務器了。進入Windows2003的“開始”—“程序”—“管理工具”—點擊“Windows Media Services”就可以以打開媒體服務器的管理界面。
設置 Windows Media 服務器的基本步驟包括:添加和配置“發布點”。Windows Media 服務器可以配置兩種類型的發布點:廣播發布點和點播發布點。如果要傳輸編碼器的實況內容,則選擇廣播發布點。如果打算傳輸媒體文件(擴展名為:.asf、.wma、.wmv、.mp3 和 .wsx)且希望允許用戶控制內容的播放(例如,暫停、倒回或快進對播放器控制),則最好選擇點播發布點,本案也就選擇它。
本文接下來的小節將只集中介紹要實現網友所要求的建立電影服務器的所要進行的配置。
對于Windows Media 服務器的各種術語不是很熟悉的初級用戶,Windows Media 服務器給我們提供了方便添加發布點的向導。小酷得承認即使是這樣,對于初次使用微軟的媒體服務器的人來說,仍然會對它的每一步的術語感到茫然。但是按照本文上面介紹的重要術語和對這個方案的實例介紹,我相信讀者們應能弄出一個電影服務器來。
打開Windows Media 服務器以后,現在我們要使用“添加發布點向導”創建一個名字為“movie”的“點播發布點”。 操作步驟如下:
1. 在Windows Media 服務器主界面的左邊欄的點擊服務器圖標,點擊“發布點”,點擊鼠標右鍵,出現的對話欄時,點擊“添加發布點(向導)”,點擊“下一步”。(圖4、5)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
2.添加發布點的名稱,填入我們要的電影服務的名稱“movie”。點擊“下一步”。(圖6)
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
3.出現了“內容類型”選擇對話框,要我們選擇將要發布的內容的類型。由于我們要發布的是存在本地服務器硬盤上的電影文件(當然是上文所提到的文件格式,若還不是,就需要各種媒體轉換程序來進行轉換了,比如:Windows media encoder 9),所以選擇最后一個選項“目錄中的文件”。點擊“下一步”。(圖7)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
4.出現了“發布點類型”選擇對話框。要選擇“點播發布點”方案,選中它。點擊“下一步”。(圖8)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
5.出現了“目錄位置”對話框,在這里要求我們給服務器指定媒體文件所在的目錄。點擊“瀏覽”,出現的對話框中在“數據源”處點擊目錄所在的硬盤符,在“位置”處點擊所在的目錄。然后,點擊右邊的“選擇目錄”就回到原來的對話框。這時我們還可以進一步點中“允許使用通配符”的復選鈕。點擊“下一步”。(圖9)
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
6.出現了“內容播放”對話框,這兩個復選鈕可隨意選擇。點擊“下一步”。(圖10)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
7.出現了“單播日志記錄”對話框,這個復選鈕也是隨意選擇。點擊“下一步”。(圖11)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
8.出現一個列出上述操作摘要的對話框。點擊“下一步”。
9.到此基本完成添加發布點的工作。但是向導還提示我們可以進行進一步的創建發布點的“公告文件”,該文件為播放機提供在連接到 Windows Media 服務器接收內容時需要的信息。但是對于我們要建的電影服務器,要實現的是點播的功能,對目錄中的文件進行一個個的精確訪問,而公告文件是對整個目錄的公告,顯然不符合我們的要求。所以在這步,我們要點消“完成向導后”這個復選鈕,迫使向導就此結束,不再進行后續操作。(圖12)screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
至此,我們創建的“movie”這個電影服務器的發布點已經完成。Movie發布點也出現在主界面的左邊欄。接下來的配置發布點,相對于我們這個應用來說,其實很簡單,只需點擊Movie右邊欄中的 “屬性”選項卡,點擊“類別”中的“常規”,再啟用常規中的三個屬性即可。(圖13screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0 resized="true">
接下來我們應測試一下這個發布點(電影服務器)是否已能正常工作。有兩種測試方式:一是點擊“源”這個選項卡,然后點擊底下的那個播放器的圖標,就可以測試流了。(圖14、15)但是,在這里要提的是,你得先確保服務器已接入網絡,要不然會彈出一個奇怪的出錯,提示說:“windows media player無法播放該文件,請連接到Internet”,這個出錯提示,對于初學者會來說會感到一臉茫然,感覺每一步都沒有配錯呀,怎么還會出錯,很受打擊。(圖16)老實說,我對微軟的這個出錯提示很是有意見,不知者會不停地建發布點,沒完沒了,最后還是測試不通過,小酷曾深陷其中,因此有感而發。第二測試流的方式,當然是在網絡上的一臺客戶機上訪問這個發布點的URL地址了,如:mms://LANSHAN/movie/。注意,LANSHAN是筆者這臺服務器的名稱,movie就是發布點名稱了。
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
screen.width*0.5) {this.resized=true; this.width=screen.width*0.5;}" border=0>
在設置 Windows Media 服務器和要傳輸的內容之后,需要讓用戶知道該電影內容如何訪問,若是單單給用戶如mms://LANSHAN/movie/這個鏈接,播放器將會隨機打開播放目錄中了任意一個電影,這樣的結果并不符合我們點播電影的要求。所以,我們還是建議用精確的URL地址 來訪問電影內容,也就是上面的地址最后面要加電影文件的文件名,如:mms://LANSHAN/movie/大海嘯DV拍攝合集1.wmv ,把這樣的鏈接做成電影網頁(也許可以從互聯網找到第三方的電影網站源碼,這樣建網站更方便),讓觀眾能看到電影片名的列表,點擊打開這個精確的URL地址所對應的電影進行播放,真正做到點播操作。
小結:電影服務器在大型網吧中的應用顯得很重要,現在網吧都提供給網友觀看電影的服務,但若在文件服務器開個電影文件的共享文件夾,讓用戶直接點擊打開,這樣會很耗費這個文件服務器的系統資源,嚴重的情況會使服務器當機。因此考慮用隨手可得的微軟的Windows Media 服務器來承擔媒體的發布工作,就可以避免這種情況的發生。Windows Media 服務器當然也可以用來發布MP3音樂,這也是網吧中網友所喜愛的。