構造Linux流媒體服務器

  流媒體(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、SolarisMac 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鍵返回去重新選擇。 
  
按此在新窗口瀏覽圖片    
  
  圖4 系統設定的彙總
  
  第十一步,系統安裝結束後自動退出回到根目錄下。 
  
  第十二步,啓動服務器,執行以下操作進入安裝目錄。 
  
  $cd Helix
  $cp RNKey-Helix_Server-90-1479442709717329.lic /Licence;
  $cd ..
  $Bin rmserver /root/Helix rmserver.cfg
  
  Helix 啓動界面見圖5。 
  
按此在新窗口瀏覽圖片   
  
  圖5 Helix Universal Server啓動界面
按此在新窗口瀏覽圖片ientWidth-450) {this.height=(document.body.clientWidth-450)*this.height/this.width;this.width=document.body.clientWidth-450}" border=0>    
  
  圖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”事件後,爲了減少乘機風險,視頻會議的應用越來越多。視頻會議系統適用於那些有分支機構的企業,或者需要經常和合作夥伴交流的企業。視頻會議系統可以明顯地提高工作效率。
 
奔騰    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章