流媒體(Stream Media)指在Internet/Intranet中使用流式傳輸技術的連續時基媒體,如音頻、視頻或多媒體文件。Linux在網絡應用中是先鋒,作
目前有三種主流的流媒體系統,分別是RealNetworks公司的RealMedia、Microsoft的Windows Media和Apple公司的QuickTime。RealNetworks公司發佈了在Windows、Unix和Linux平臺上都能夠通過Web發送數字媒體的Helix Universal Server軟件的源代碼。Helix產品技術先進,用戶數量多,支持單播、多播和多平臺(包括Linux、Windows 2000/NT、AIX、Solaris和Mac OS)。 Helix Universal Server最新版本是9.0,和8.51版本相比,主要加入了對冗餘服務器的支持及對內容CACHE的支持。這讓用戶能夠儘可能快速地連接到服務器,並且保證在任何可能的情況下都可以自動修復。Helix兼容一切常見的媒體格式,甚至包括其競爭對手的WM格式。本文就以Helix Universal Server 9.0爲例,介紹如何在Linux下構建流媒體服務器。 軟件下載 用戶在http://www.realnetworks.com/網站上註冊,填寫姓名、國家、郵政編碼和電子郵件等信息,其中電子郵件是最重要的。註冊結束後,RealNetworks公司會向註冊用戶的電子郵箱發送一個授權碼(License Key),允許在服務器上使用Helix。授權碼的格式是.Zip包。請把它解壓後保存(文件名:RNKey-Helix_Server-90-1479442709717329.lic),在安裝軟件時要使用。 完成後就可以選擇Helix Server下載了,下載地址是http://get.real.com/RJP1/61.195.68.21/28e23b8ac11fa0ce9001/serverg2/rs901-linux-22libc6-ia32.bin,版本號是9.2.0.794。 系統要求 軟件:要求內核至少在2.4以上、KDE 2.0、Window System XFree86 4.03、桌面分辨率至少爲800×600、桌面顏色至少16位增強色。 硬件:CPUⅡ 450MHz以上、內存128MB、硬盤空間600MB、OSS/Linux兼容聲卡、16MB顯存。 安裝軟件 首先以超級用戶權限登錄X-Window,建立一個Helix目錄,將授權碼拷貝到目錄中,執行過程如下: #mkdir Helix #cp RNKey-Helix_Server-90-1479442709717329.lic /Helix 接着改變下載的文件名稱、組屬性和組,使它成爲可執行文件。命令如下: #mv rs901-linux-22libc6-ia32.bin Helix.bin #chmod +x Helix.bin 下面是安裝命令和詳細步驟。 #./Helix.bin 第一步,系統首先讓用戶列出授權碼的存放目錄。參考的寫法是/root/Helix/ RNKey-Helix_Server-90-1479442709717329.lic。 第二步,會出現很長的一份授權協議,在協議末尾處按回車鍵接受該協議。 第三步,在系統詢問安裝目錄時,用戶填寫root/Helix 後按回車鍵繼續。 第四步,系統要求用戶填寫Helix Universal Server的系統管理員(Adminstrator)的用戶名和密碼(見圖1)。 ientWidth-450) {this.height=(document.body.clientWidth-450)*this.height/this.width;this.width=document.body.clientWidth-450}" border=0> 圖1 填寫Helix Universal Server的用戶名和密碼 第五步,系統詢問用哪個端口來連接PNA (Progressive Networks Audio)。PNA協議是用來傳輸由早期RealSystem工具創建的內容,以便兼容早期的版本。這裏使用缺省端口7070。 第六步,系統詢問用戶用哪個端口來連接RTSP (實時流協議)。RTSP是應用級協議,控制實時數據的發送。它提供了一個可擴展框架,使實時數據(如音頻與視頻)的受控和點播成爲可能。數據源包括現場數據與存儲在剪輯中的數據。該協議目的在於控制多個數據發送連接,爲選擇發送通道(如UDP、組播UDP與TCP)提供途徑,併爲選擇基於RTSP上的發送機制提供方法。這裏使用缺省端口554(見圖2)。 圖2 設置RTSP 端口號碼 第七步,系統詢問用哪個端口來連接HTTP協議。流式傳輸的實現需要合適的傳輸協議。由於TCP需要較多的開銷,故不太適合傳輸實時數據。在流式傳輸的實現方案中,一般採用HTTP/TCP來傳輸控制信息,而用RTP/UDP來傳輸實時聲音數據。關於流媒體工作傳輸原理見圖3。一般HTTP監聽端口設置爲8080。 圖3 流媒體文件傳輸原理 第八步,系統詢問用哪個端口來連接MMS協議。Helix Universal Server從8.0版本後開始支持MMS協議。MMS協議用於訪問Windows Media發佈點上的單播內容,是連接Windows Media單播服務的默認方法。若觀衆想在Windows Media Player中鍵入一個URL來連接內容,而不是通過超級鏈接訪問內容,則他們必須使用MMS協議引用該流。當使用MMS協議連接到發佈點時,使用協議翻轉以獲得最佳連接。“協議翻轉”始於試圖通過MMSU連接的客戶端。MMSU是MMS協議結合UDP數據傳送。如果MMSU連接不成功,則服務器試圖使用MMST。MMST是MMS協議結合TCP數據傳送。MMS端口一般設置爲1755。 第九步,設置Helix服務器的系統管理員控制端口。這個端口可以自己設定,不過一定注意不要和已經定義的端口重複。這裏設定爲17965。 第十步,系統給出所有選擇的彙總列表。請仔細閱讀,確認無誤後按“F”鍵表示接受設定,開始安裝。我的配置見圖4。若有問題,按Esc鍵返回去重新選擇。 |
圖6 Helix Universal Serve管理中心
進入Helix服務器設置選單(見圖7),Helix服務器需要設定的十二個選項是Ports、IPBinging、MIME Type、Connecting Control、Mount Points、URL Aliasing、HTTP Delivery、Cache Directives、Share Lincesing、USER/GROUP Name和Media Sample。下面詳細介紹它們的配置。
圖7 Helix Universal Serve服務器設置中心
1.Port(端口配置):在瀏覽器的圖中,自上而下依次定義了各種不同類型的端口,包括RTSP、PNA、HTTP、MONITOR和ADMIN等。有一個新選項“Enable HTTP Fail Over URL for ASXGen”和ASX文件播放相關,在Helix Server有WM媒體文件內容的時候會用得到,可以設定爲5087,其它部分可以跳過。
2.IP Binding(IP地址綁定):一臺Helix Server服務器上可能有不止一塊網卡,或者在一塊網卡上可能有不只一個IP地址。在某些情況下,就必須對Helix Server的IP地址進行綁定。這個頁面是用來對服務器進行IP地址綁定及對現有綁定進行編輯和刪除的。
3.MIME Type(MIME類型):定義用於告訴服務器如何正確的識別文件,以保證其能完整有效地通過HTTP協議進行傳輸。對應於相應的擴展名,在這裏都能找到相關的定義格式。
4.Connecting Control(連接控制):用來定義與Helix Server有關的連接選項,從中在這裏可以定義服務器的最大連接數、最大允許連接數(這個就是由授權所規定的)及對用戶播放器的限制,比如僅限制Realplayer播放器使用,或者僅限制PLUS版本播放器使用等。當然在這裏還可以對服務的帶寬進行限制,以保證同一臺服務器上面的其它服務有足夠的網絡資源。
5.Redundant Server(冗餘服務器): 冗餘服務器的配置頁面包括服務器列表、目錄映射關係及例外目錄設置。
6.Mount Points(配置加載點):這裏就是設置流媒體文件加載點。
7.URL Aliasing(鏈接簡化):一個別名指向,通過一個簡單的別名,讓用戶更加方便地記憶。以後進入Helix服務器管理中心不用輸入那一長串的地址,只要用rtsp://server:port/alising就能代替了。
8.HTTP Delivery(HTTP分發):Helix Server同樣需要通過HTTP傳輸某些文件。下面的這些目錄就是爲通過HTTP協議傳輸定義的。通過HTTP協議傳輸文件對於處於防火牆後面的用戶是非常必要的,見圖8。
圖8 Helix 服務器的HTTP 分發配置
9.Cache Directives(緩存管理):Helix Server默認狀態下是對所有的點播文件和直播文件進行緩存的處理。這就會在採用Helix Proxy對多個Server進行管理的時候,緩存將會導致一些不必要的麻煩。在這裏,就是設置對某些文件和目錄關閉緩存功能的選項,比如一些實時性的新聞節目及前面所說的從Server到Proxy的交流,都需要關閉緩存功能。
10.Share Licesing(許可證共享):容許訪問Helix服務器的用戶名稱和IP地址的端口號。
11.User/Group Name(用戶管理):添加Helix的用戶名和組。
12.Media Sample(媒體演示):在這個頁面,需要測試當前服務器的服務情況。通過這裏的示例文件,用戶可以點播包括RealVideo、Flash、RP/RT、MPEG-1、MPEG-4、QT、ASF/WMV/WMA和Quick Time等多種文件(見圖9)。Helix Server在文件多樣性的支持上有了很大的進步。
圖9 Helix Server支持的流媒體文件格式
總結
到此爲止,Liunx平臺下流媒體服務器Helix Server安裝和基礎配置就完成了。如何將Helix流媒體在Linux應用還有許多工作,例如需要在Linux下製作流媒體文件等。希望我在安裝配置過程中的體會能起到拋磚引玉的作用,讓更好地流媒體在Linux平臺上自由流轉。
相關鏈接
流媒體
流媒體將成爲未來互聯網應用的主流之一,並將推動互聯網整體架構的革新。
在網絡上傳輸音頻、視頻等多媒體信息,目前主要有下載和流式傳輸兩種方案。A/V文件一般都較大,所以需要的存儲容量也較大;同時由於網絡帶寬的限制,下載常常要花數分鐘甚至數小時,所以這種處理方法延遲也很大。近年來,爲解決文件下載時間過長的問題,適應網絡多媒體化的發展趨勢,一種新興技術應運而生,這就是遵守特定網絡協議的流媒體技術。
流式傳輸時,聲音、影像或動畫等時基媒體由音視頻服務器向用戶計算機的連續、實時傳送。用戶不必等到整個文件全部下載完畢,而只需經過幾秒或十幾秒的啓動延時即可進行觀看。當聲音等實時媒體在客戶機上播放時,文件的剩餘部分將在後臺從服務器內繼續下載。流式不僅使啓動延時成十倍、百倍地縮短,而且不需要太大的緩存容量。流式傳輸避免了用戶必須等待整個文件全部從Internet上下載才能觀看的缺點。以寬帶爲基礎,流媒體不僅可以進行單向的視頻點播,還能夠提供真正互動的視頻節目,如互動遊戲、三維動畫等。
目前,流媒體技術在國內應用最多的行業是教育,其次是廣電、政府和電信,而企業中應用得較少。目前,流媒體技術在企業裏的主要應用包括職工培訓、信息發佈、產品介紹、遠程監控、視頻會議和客戶服務等。美國“9·11”事件後,爲了減少乘機風險,視頻會議的應用越來越多。視頻會議系統適用於那些有分支機構的企業,或者需要經常和合作夥伴交流的企業。視頻會議系統可以明顯地提高工作效率。
奔騰