如何架設流媒體服務器

一、前言

  隨着越來越多的朋友開始選擇ADSL、Cable Modem或FTTB+ LAN作爲首要的上網方式,寬頻時代即將到來,這使我們“寬頻 KTV、影音聊天室、線上電影院、遠程教育”的夢想即將成爲現實,而與其密切相關的“流媒體(Streaming Media)”也成了許多人談論的熱門話題,因爲“流媒體”正是實現這些寬頻應用的技術動力。

  寬頻時代的到來還使得網民們不再滿足於僅僅作爲一項服務的受衆,他們需要更大規模的交流,從中體現個體的價值,因此,許多朋友開始用自己的計算機,搭建網絡廣播和點播站點。他們充滿着滿腔的熱情,但不可否認的是,中國網民先天技術上的不足,讓他們在建設這樣的站點時遇到重重險阻,以至於放棄。如何將這種熱情在技術的引導下成爲動力,這正是我們家用電腦所要做的,所以,在今天,在這裏,我就將給大家介紹如何打造屬於自己的流媒體服務器。

  不過,在開始正式的流媒體服務器架設之前,請讓我們先了解一下流媒體服務器的基礎知識。

二、流媒體基礎知識

  什麼是流媒體?

  目前,在網絡上傳輸音/視頻等多媒體信息有兩種解決方案,即http或ftp下載以及流式傳輸。

  http或ftp下載使用標準的http和ftp協議,但由於多媒體信息個頭巨大,下載一個多媒體文件一般需要幾分鐘或幾小時的時間,這就造成爲了看一個並不知道內容的視頻,首先需要耗費可能比整個視頻都要長的時間來完成下載。這些被下載的文件還必須在下載前製作完成,放在網絡服務器上,這樣造成的直接後果就是:網絡帶寬不斷提高,人們下載的等待時間越來越少,但最終還是不能觀看網上現場直播。

  流式傳輸時,聲音、影像或動畫等多媒體信息由流媒體服務器向用戶計算機連續、實時傳送,它首先在使用者端的電腦上創建一個緩衝區,於播放前預先下載一段資料作爲緩衝,用戶不必等到整個文件全部下載完畢,而只需經過幾秒或十數秒的啓動延時即可進行觀看。當多媒體信息在客戶機上播放時,文件的剩餘部分將在後臺從服務器內繼續下載。如果網絡連接速度小於播放的多媒體信息需要的速度時,播放程序就會取用先前建立的一小段緩衝區內的資料,避免播放的中斷,使得播放品質得以維持。

  流式傳輸除了能夠發送已經制作完成的文件外,還可以通過採集服務器實時採集現場音視頻,推送到流媒體服務器端,實時提供給用戶。因此,流媒體除了能夠更好的承擔如下載一樣的多媒體點播服務外,更能夠應用在現場直播、電視轉播、突發事件報道等多種對實時性傳輸要求較高的領域。

  有關流媒體的廠商

  流媒體的市場巨大,世界上許多優秀的廠商都加入此行列,現階段更是系統集成商競爭的風水寶地。而在通用市場上,競爭的公司主要有三個:Microsoft、RealNetworks、Apple,而相應的產品就是:Windows Media、Real Media、QuickTime。而近來,以開發Winamp著名的Nullsoft公司也在自己的MP3服務器中加入了視頻支持,欲在流媒體市場分一杯羹。

  由於Apple的服務器和編輯軟件一般都以Mac爲操作平臺,Nullsoft的流媒體服務器屬於新生不成熟事務,所以今天在這裏我主要給大家介紹一下Microsoft和RealNetworks的產品。

  流媒體的傳輸協議

  大家在觀看網上電影或者電視時,一般都會注意到這些文件的連接都不是用http或者ftp開頭,而是一些rtsp或者mms開頭的東西,爲什麼是這樣呢?實際上,這些和http和ftp一樣,都是數據在網絡上傳輸的協議,只是它們是專門用來傳輸流式媒體的協議而已。下面,讓我們來看一下現在使用的主要的流媒體協議:

  1. RTSP(Real Time Streaming Protocol),實時流媒體協議,它是由RealNetworks和Netscape共同提出的,現在用於RealNetworks的Real Media產品中;

  2. PNM(Progressive Networks Audio),這也是Real專用的實時傳輸協議,它一般採用UDP協議,並佔用7070端口,但當你的服務器在防火牆內且7070端口被擋,且你的服務器把SmartingNetwork設爲真時,則採用http協議,並佔用默認的80端口;

  3. MMS(Microsoft Media Server protocol),這是微軟的流媒體服務器協議,MMS 是連接 Windows Media 單播服務的默認方法。

  介紹了主要的三個,可能您還會問,Apple的QuickTime使用哪種協議呢?在多數情況下,QuickTime使用http協議,但實際上它也由標準的流媒體傳輸協議,這就是標準RTSP協議,而Real公司使用的RTSP是自己經過開發的。

  在流媒體傳輸中,標準的協議就是RTP(Real time Transport Protocol,實時傳輸協議)、RTCP(Real-time Transport Control Protocol,實時傳輸控制協議)、RTSP(Real Time Streaming Protocol,實時流媒體協議)和RSVP(Resource Reserve Protocol, 資源預訂協議),廠商們的產品都是在這些協議的基礎上進行研究與開發,限於篇幅,在這裏我們就不再深入討論了。

  流媒體文件和發佈格式

  有了實時的傳輸協議,我們應該還能夠想到,只有較小的文件才適合網絡實時傳輸,那麼,流媒體文件採用了什麼樣的壓縮算法呢?

  而使用Windows操作系統的朋友可以看到,我們觀看網上流節目時,它們的後綴名一般是rm、asf、wmv等,這些就是流媒體的格式。流媒體文件格式經過特殊編碼,不僅採用較高的壓縮比,還加入了許多控制信息,使其適合在網絡上邊下載邊播放,而不是等到下載完整個文件才能播放。

  常見的流媒體格式大致有以下幾種:

  流媒體文件格式擴展(Video/Audio) 媒體類型與名稱
  asf               Advanced Streaming format. (Microsoft).
  rm               Real Video/Audio 文件 (Progressive Networks).
  ra               Real Audio 文件 (Progressive Networks).
  rp               Real Pix 文件 (Progressive Networks).
  rt               Real Text 文件 (Progressive Networks).
  swf               Shock Wave Flash (Macromedia).
  mov               QuickTime(Apple公司格式)
  viv               Vivo Movie 文件(Vivo Software).

  另外還有一個wmv格式,是Windows Media Video的簡稱,它與asf文件有稍許區別,wmv一般採用window media video/audio 格式,asf視頻部分一般採用Microsoft MPG4 V(3/2/1?),音頻部分是windows media audio v2/1,不過現在很多製作軟件都沒有把它們分開,所以直接更改後綴名就能夠互相轉換爲對方格式。

  製作完成的流媒體文件需要發佈到網絡上才能夠被別人使用,這就需要以特定方式安排壓縮好的流媒體文件,而安排流媒體文件的格式就被成爲流媒體發佈格式。常見的發佈格式主要有以下幾種:

  流媒體發佈格式擴展 媒體類型和名稱
  asf        Advanced Streaming format.
  smil        Synchronised Multimedia Integration Language.
  ram        RAM File.
  rpm        Embedded RAM File.
  asx        ASF Stream Redirector/ASF流轉向器文件
  xml        eXtensible Markup Language

  MPEG-4與流媒體

  說到流媒體就不能不提及MPEG-4。MPEG-4是當前討論的焦點之一,只因爲它能夠在大的壓縮比下實現近似DVD品質的視頻和音頻效果,這也是許多朋友認爲MPEG-4格式肯定比rm清晰的原因。但事實上並不是如此,MPEG-4只是一種視頻編碼技術,它的清晰度也根據壓縮時所選擇的碼率的不同有較大的改變(我們見到的MPEG-4格式文件通常爲500Kbps壓縮生成,質量當然高了),並且,MPEG-4還有多種壓縮標準,如Microsoft的asf視頻部分就是基於MPEG-4的Discrete Cosine Transform (DCT),另外還有DivX的免費MPEG-4版本(開始是破解微軟的格式而來)。至於音頻部分,更是混亂,Microsoft採用windows media audio v2/1,DivX採用MP3或者更高質量的AC3等。相比而言,Real或者Apple的格式使用的是自己開發的編碼,在相同碼率,特別是低碼率下,不見得就比MPEG-4差,採取高碼率的rm格式照樣清晰可人,所以大家以後說rm格式清晰度差的觀念要改變一下:),至少也要加上條件。而且,最新的Helix Producer中的Real Video 9採用VP5壓縮格式進行編碼,這可比DivX優秀多了!

  不過,流媒體服務器開始向MPEG-4格式靠攏是不爭的事實,Real最新的Helix就開始支持mp4格式文件的服務,而RealOne Player更是隻需安裝一個插件便可實現MPEG-4格式的播放。

  點播與廣播

  在架設流媒體服務器之前,我們一定要了解一些點播與廣播的知識。

  點播是客戶端與服務器之間的主動的連接,在點播連接中,用戶通過選擇內容項目來初始化客戶端連接,一個客戶端從服務器接收一個媒體流(這個連接是唯一的,其它用戶不能佔用),並且能夠對媒體進行開始、停止、後退、快進或暫停等操作,客戶端擁有流的控制權,就像在看影碟一樣。這種方式由於每個客戶端各自連接服務器,服務器需要給每個用戶建立連接,對服務器資源和網絡帶寬的需求都比較大。

  廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流,用戶不能暫停、快進或後退該流,廣播使用的數據發送手段有單播與廣播。使用單播發送時,服務器需要將數據包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些用戶,而使用廣播方式發送,數據包的單獨一個拷貝將發送給網絡上的所有用戶,而不管用戶是否需要,上述兩種傳輸方式會非常浪費網絡帶寬和服務器資源,因此產生了組播(多播)技術。

  組播(多播)吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將數據包的單獨一個拷貝發送給需要的那些客戶,組播不會複製數據包的多個拷貝傳輸到網絡上,也不會將數據包發送給不需要它的那些客戶,保證了網絡上多媒體應用佔用網絡的最小帶寬。但組播不僅需要服務器端支持,更需要有多播路由器乃至整個網絡結構的支持。

  單播與組播(多播)

  在上面我們已經瞭解了一些單播和組播的概念,這也是現在流媒體方面討論的焦點之一。以我的認識,點播與廣播是一組概念,它們和客戶端媒體交互的手段;單播和組播又是另外一組概念,它們是流媒體數據在服務器端和網絡上的傳輸方式。

單播發送時,需要在客戶端與媒體服務器之間需要建立一個單獨的數據通道,從一臺服務器送出的每個數據包只能傳送給一個客戶機,每個用戶必須分別對媒體服務器發送單獨的查詢,而服務器必須向每個用戶發送所申請的數據包拷貝。這種巨大冗餘會造成服務器沉重和網絡帶寬的沉重負擔,響應需要很長時間,甚至出現不能服務的情況。單播可以用在點播和廣播上。

  組播發送時,服務器將一組客戶請求的流媒體數據發送到支持組播技術的路由器上,然後由路由器一次將數據包根據路由表複製到多個通道上,再向用戶發送。這時候,媒體服務器只需要發送一個信息包,所有發出請求的客戶端都共享同一信息包,並且信息可以發送到任意地址的客戶機,沒有請求的客戶機不會收到信息包,網絡上傳輸的信息包的總量沒有廣播那麼多,大大提高了服務器和網絡線路的利用率。不過組播也有自己的特點,首先是必須要開始支持組播技術的路由器,另外就是一般只能用作廣播,因爲用作點播會存在用戶控制問題。

  好了,說了這麼多,您可能都嫌我煩了,那麼,就讓我們開始架設流媒體服務器之旅吧。

三、流媒體服務器硬件準備

  流媒體服務器和網站(Web)服務器一樣,要經受許多人的同時訪問,相比Web服務器來說,由於多媒體文件需要更強處理能力,其硬件設備應超越一般用於Web的服務器。所以,流媒體服務器最好滿足以下硬件條件。

一顆強勁的“芯”。如果計算機CPU頻率太低,處理能力過慢,電腦在被多用戶訪問時將我們無法進行其他任何操作(相信大家對那些網上視頻點播的網站經常當機身有體會,我們和他們建立的是一樣的服務器,只是規模小些罷了)。
大容量內存和硬盤。流媒體的製作和發送是系統資源的黑洞,擁有大容量內存是系統穩定運行的前提;而流媒體文件體積較大,大量的媒體文件需要更多的存儲空間。建議內存至少256MB,硬盤80G以上。

佔用系統資源少的聲卡。好的聲卡有助於CPU佔用率的降低,並且對錄音的質量有很大影響(用於網上直播),建議使用Creative的SB Live!或SB Audigy、Audigy 2系列,由於筆者自己的機器不做服務器(只用來做文章,沒錢升級啊),所以只拿普通的集成來演示。
良好的視頻捕捉設備。我們的直播節目源就來源於這塊設備,推薦使用Leadtek(麗臺)的WinFast TV2000 XP豪華版,它接收信號的能力和硬件壓縮的能力都是比較出衆的(因爲筆者沒有條件,所以採集設備用了屏幕捕捉,不過使用採集設備的方法是相同的,所以請大家不要見怪)。

儘量高的帶寬。當然是上網速度越快越好,不過我們可以在流媒體服務器中對連接數做一個限制,以免當機。

  當然,上面是建設一個屬於自己的流媒體服務網站必須的硬件設備,如果只是和筆者一樣,只是想在架設流媒體服務器過程中學習一把,大可在現有機器的基礎上大膽測試。

四、架設流媒體服務器之旅

  準備好了硬件,下面就開始一步步教大家架設自己的流媒體服務器。我將其分爲Microsoft公司的Windows Media和RealNetworks的Real Media兩大部分,都包括直播與點播服務器的建立,並在最後向大家介紹一下Apple的QuickTime和Nullsoft的流媒體服務器。

  由於Microsoft公司的Windows Media點播服務必須建立在Server版的操作系統上,所以筆者選取Windows .Net Enterprise Server 3647作爲此次流媒體服務器建立的系統平臺。爲了比較RealNetworks和Microsoft最新一代流媒體服務器的優劣,筆者採用了它們最新的流媒體系統,以下是筆者使用的具體軟件:

  操作系統:Windows .Net Enterprise Server 3647、Windows XP Service Pack 1
  流媒體軟件:Windows Media Services 9.0(Windows .Net Server自帶)、Windows Media Encoder 9 Series Release Candidate(由於此軟件在.Net Server下運行不正常,故安裝在XP中,並且只有此軟件安裝在XP中)、Windows Media Encoder 7.1、Windows Media Player 9.0 Build z903、Helix Universal Server 9.01 FOR Win2k(9.0.2.794)、Helix Producer Plus 9.0.1、RealOne Player 2.0 Build 6.0.11.853。

  下面,就讓我們開始吧!不要走開哦!!!

WinMedia網上廣播服務

  單純的使用Windows Media Encoder這個軟件即可實現網上廣播服務,不過,藉助於Windows Media Services,利用Windows Media Encoder製作的流媒體文件,我們的網絡廣播站功能將更爲強大。下面,我們將利用Windows Media Encoder單獨建立廣播站,並將其納入Windows Media Services,實現更強大的功能。

  1. 安裝Windows Media Services。

  首先安裝Windows 2000 Server或者Windows .Net Server,然後打開“開始-控制面板-管理工具-管理您的服務器”或“開始-控制面板-添加或刪除程序-添加/刪除Windows組件”(建議使用第二種),在其中勾取“Web應用程序服務器”,也就是2000 Server中的IIS服務器,單擊“下一步”進行添加;

添加IIS完畢後,再次啓動添加/刪除Windows組件程序,並勾取Windows Media Service項,單擊詳細信息,在其中選擇“用於Web的Windows Media Services Administrator”以啓動Windows Media Services的Web管理功能(2000中可能沒有這些選項,只需要安裝Windows Media Services即可);

  2. 安裝Windows Media Encoder。

  從微軟網站下載Windows Media Encoder 7.1(由於Windows Media Encoder 9.0無法在.Net Server下工作)進行安裝,至此,Windows Media服務的服務器和編碼器都已經具備;

  3. 從“開始-程序-Windows Media”  啓動Windows Media Encoder,在出現的嚮導界面中根據自己的需要選擇合適的選項,建議新手“使用新建會話嚮導廣播、捕獲或轉換文件”,選擇後單擊確定;

4. 由於進行的是廣播,所以在下一個彈出的畫面中請選擇“在附屬設備或計算機屏幕廣播實況事件”,這樣的選擇能夠讓Windows Media Encoder直接進行廣播或者將其加入Windows Media Service服務;

5. 在下一個畫面中選擇您進行視頻或音頻捕獲的設備,筆者沒有視頻卡,所以只能選擇“屏幕捕獲”,有視頻卡的朋友請選擇您的視頻卡;

  6. 廣播信號必須通過一個有效的端口進行傳輸,因此必須對它進行設置。Windows Media Encoder默認的端口爲8080,但由於這個端口經常被其它軟件佔用,所以建議朋友們單擊“查找可用端口”以換成其它隨機端口或者直接輸入沒有被佔用的端口。我選擇了“3170”端口;

  7. 然後就開始選擇我們進行廣播的流媒體質量,有一個公式您可以參考:流媒體配置文件帶寬×最大連接用戶數=您的上行帶寬(不是下載,是上傳)。您如果有2Mbps的上行帶寬,選擇了100Kbps的配置文件,則允許同時20個觀衆看到您的廣播,由此可見,流媒體服務對帶寬的需求是巨大的;

  8. 在這個窗口您可以選擇將進行廣播的流媒體存檔,以便於以後觀看或者進行點播,若只是作爲實況廣播服務,並且硬盤空間不大,您可以不選取;

  9. “下一步”後,您可以選擇是不是添加微軟內置的歡迎、休息和再見文件,我就沒要這些東西,誰給微軟免費作廣告,呵呵;

  10. 然後,我們可以給我們的廣播節目添加上版權信息,這些信息在播放時,會出現在Windows Media Player中;

  11. 彈出最後一個確認窗口後,我們最終的廣播界面就出現了,若是有視頻捕捉設備,只要單擊“開始”,我們的廣播站就運行起來,只要在客戶機IE中輸入“mms://服務器的:端口值”就會彈出media player播放電視。如我建立的廣播站地址就是“mms://192.168.0.1:3170,這些信息您也可以直接在此界面的連接標籤中查看;

  12. 若是您和我一樣沒有視頻捕捉設置,或者想向用戶播放一段錄製好的視頻,請點擊“會話-屬性”(此面板能夠對所有設置過的數據進行調整),單擊“更改”按鈕,在彈出窗口中選擇視頻右邊的下拉框,單擊“查找文件”,找到您預先錄製好的視頻文件(支持asf、wmv、avi、mpg等格式);

13. 再回到廣播界面,點擊開始,您的文件就可以被網絡上的兄弟姐妹看到了,

  若是想添加更多的文件或設備,請在以上窗口單擊“更改”旁的“新建”進行添加即可;

  14. 您可能覺得到這裏我們就大功告成了,實際上遠遠沒有,這只是最基本的直播廣播,我們還需要將其加入Windows Media Services的廣播服務中,以實現更強大的功能。請將你的鼠標指向“開始-控制面板-管理工具-Windows Media Services”,打開Windows Media管理器(2000 Server應該是一個Web界面)。選擇左邊的服務器後,單擊操作菜單中的“添加發布點(嚮導)”,經歷歡迎頁面後,會出現發佈點命名窗口,在其中輸入您願意使用的名字,我輸入的是“SOFTICP.COM_Broadcast”;

  15. 在下一個窗口中,將讓您選擇所要發佈的內容類型,如果只是單純的進行流媒體直播,就選擇“編碼器(實況流)”,若是想在實況流中加入其它製作好的文件,請選擇“播放列表”,若是想建立視頻點播服務器,請選擇“目錄中的文件”。由於我有現成的製作好的文件,所以選擇了“播放列表”;

  16. 選擇完了發佈內容的類型,就要選擇發佈的方案,我們進行的是網絡廣播的服務,當然要選擇“廣播發布點”。在接下來的窗口中,我們要選擇內容的傳遞方式,看到了吧,這次我們前面介紹的單播和組播的基本概念起了作用,我們的網絡一般不支持組播,所以要選擇“單播”;

  17. 若是您以前有創建好的播放列表文件(wsx或htm文件),直接在下一個窗口中選擇“現有播放列表”,若是沒有,請跟我一樣,“新建播放列表後進行添加”。在添加窗口中,可以添加文件、編碼器的實況流、遠程發佈點的流媒體、ASP、CGI的動態源等多種媒體,並且還可以添加廣告信息以及調整媒體的播放順序;

  18. 完成播放列表的編輯後,點擊“下一步”將播放列表保存成文件,並且在下一個窗口中可以選擇是否“循環播放”或“無序播放”這些流媒體。再經歷幾個確認框,您就完成了Windows Media流媒體廣播服務器的建立,爲了快捷,我們就將“完成此嚮導後啓動其它嚮導”前面的對勾去掉吧!

  19. 服務器啓動後,您就可以在Windows Media Player中輸入“mms://服務器IP/發佈點名稱”觀看網絡廣播了。而在Windows Media Services的管理器中,我們可以隨時監視流媒體的播放情況、添加/刪除與調整播放列表、插入廣告、發佈公告(可以直接生成htm頁面)、調整該廣播站的屬性等操作,並可以隨時通過下面的按鈕啓動與停止廣播站以及測試當前流媒體是否正常;


  此圖是使用公告嚮導建立的發佈點公告網頁,是不是非常方便?

  20. 我們還可以通過在瀏覽器中輸入管理器的網址或者直接啓動管理工具中的“Windows Media Services(Web)”來對整個流媒體服務器進行Web管理以及遠程管理,其管理界面與本地管理除了少幾個功能外,幾乎沒有差別。

  遠程管理還可以對一個服務器組多臺服務器進行管理。

  至此,我們的Windows Media網絡廣播服務器已經完全建設完畢,您已經擁有了一個具有強大功能的網絡廣播站,是不是覺得不過癮?因爲還有許多優秀的影片想和朋友們共享,並且想讓他們能夠自由的觀賞自己喜歡的節目,不受你廣播時間表的限制?那麼,跟我來,我們在此基礎上再搭建一個Windows Media視頻點播服務器。

  單純的使用Windows Media Encoder這個軟件即可實現網上廣播服務,不過,藉助於Windows Media Services,利用Windows Media Encoder製作的流媒體文件,我們的網絡廣播站功能將更爲強大。下面,我們將利用Windows Media Encoder單獨建立廣播站,並將其納入Windows Media Services,實現更強大的功能。

  1. 安裝Windows Media Services。

  首先安裝Windows 2000 Server或者Windows .Net Server,然後打開“開始-控制面板-管理工具-管理您的服務器”或“開始-控制面板-添加或刪除程序-添加/刪除Windows組件”(建議使用第二種),在其中勾取“Web應用程序服務器”,也就是2000 Server中的IIS服務器,單擊“下一步”進行添加;

添加IIS完畢後,再次啓動添加/刪除Windows組件程序,並勾取Windows Media Service項,單擊詳細信息,在其中選擇“用於Web的Windows Media Services Administrator”以啓動Windows Media Services的Web管理功能(2000中可能沒有這些選項,只需要安裝Windows Media Services即可);

  2. 安裝Windows Media Encoder。

  從微軟網站下載Windows Media Encoder 7.1(由於Windows Media Encoder 9.0無法在.Net Server下工作)進行安裝,至此,Windows Media服務的服務器和編碼器都已經具備;

  3. 從“開始-程序-Windows Media”  啓動Windows Media Encoder,在出現的嚮導界面中根據自己的需要選擇合適的選項,建議新手“使用新建會話嚮導廣播、捕獲或轉換文件”,選擇後單擊確定;

4. 由於進行的是廣播,所以在下一個彈出的畫面中請選擇“在附屬設備或計算機屏幕廣播實況事件”,這樣的選擇能夠讓Windows Media Encoder直接進行廣播或者將其加入Windows Media Service服務;

5. 在下一個畫面中選擇您進行視頻或音頻捕獲的設備,筆者沒有視頻卡,所以只能選擇“屏幕捕獲”,有視頻卡的朋友請選擇您的視頻卡;

  6. 廣播信號必須通過一個有效的端口進行傳輸,因此必須對它進行設置。Windows Media Encoder默認的端口爲8080,但由於這個端口經常被其它軟件佔用,所以建議朋友們單擊“查找可用端口”以換成其它隨機端口或者直接輸入沒有被佔用的端口。我選擇了“3170”端口;

  7. 然後就開始選擇我們進行廣播的流媒體質量,有一個公式您可以參考:流媒體配置文件帶寬×最大連接用戶數=您的上行帶寬(不是下載,是上傳)。您如果有2Mbps的上行帶寬,選擇了100Kbps的配置文件,則允許同時20個觀衆看到您的廣播,由此可見,流媒體服務對帶寬的需求是巨大的;

  8. 在這個窗口您可以選擇將進行廣播的流媒體存檔,以便於以後觀看或者進行點播,若只是作爲實況廣播服務,並且硬盤空間不大,您可以不選取;

  9. “下一步”後,您可以選擇是不是添加微軟內置的歡迎、休息和再見文件,我就沒要這些東西,誰給微軟免費作廣告,呵呵;

  10. 然後,我們可以給我們的廣播節目添加上版權信息,這些信息在播放時,會出現在Windows Media Player中;

  11. 彈出最後一個確認窗口後,我們最終的廣播界面就出現了,若是有視頻捕捉設備,只要單擊“開始”,我們的廣播站就運行起來,只要在客戶機IE中輸入“mms://服務器的:端口值”就會彈出media player播放電視。如我建立的廣播站地址就是“mms://192.168.0.1:3170,這些信息您也可以直接在此界面的連接標籤中查看;

  12. 若是您和我一樣沒有視頻捕捉設置,或者想向用戶播放一段錄製好的視頻,請點擊“會話-屬性”(此面板能夠對所有設置過的數據進行調整),單擊“更改”按鈕,在彈出窗口中選擇視頻右邊的下拉框,單擊“查找文件”,找到您預先錄製好的視頻文件(支持asf、wmv、avi、mpg等格式);

13. 再回到廣播界面,點擊開始,您的文件就可以被網絡上的兄弟姐妹看到了,

  若是想添加更多的文件或設備,請在以上窗口單擊“更改”旁的“新建”進行添加即可;

  14. 您可能覺得到這裏我們就大功告成了,實際上遠遠沒有,這只是最基本的直播廣播,我們還需要將其加入Windows Media Services的廣播服務中,以實現更強大的功能。請將你的鼠標指向“開始-控制面板-管理工具-Windows Media Services”,打開Windows Media管理器(2000 Server應該是一個Web界面)。選擇左邊的服務器後,單擊操作菜單中的“添加發布點(嚮導)”,經歷歡迎頁面後,會出現發佈點命名窗口,在其中輸入您願意使用的名字,我輸入的是“SOFTICP.COM_Broadcast”;

  15. 在下一個窗口中,將讓您選擇所要發佈的內容類型,如果只是單純的進行流媒體直播,就選擇“編碼器(實況流)”,若是想在實況流中加入其它製作好的文件,請選擇“播放列表”,若是想建立視頻點播服務器,請選擇“目錄中的文件”。由於我有現成的製作好的文件,所以選擇了“播放列表”;

  16. 選擇完了發佈內容的類型,就要選擇發佈的方案,我們進行的是網絡廣播的服務,當然要選擇“廣播發布點”。在接下來的窗口中,我們要選擇內容的傳遞方式,看到了吧,這次我們前面介紹的單播和組播的基本概念起了作用,我們的網絡一般不支持組播,所以要選擇“單播”;

  17. 若是您以前有創建好的播放列表文件(wsx或htm文件),直接在下一個窗口中選擇“現有播放列表”,若是沒有,請跟我一樣,“新建播放列表後進行添加”。在添加窗口中,可以添加文件、編碼器的實況流、遠程發佈點的流媒體、ASP、CGI的動態源等多種媒體,並且還可以添加廣告信息以及調整媒體的播放順序;

  18. 完成播放列表的編輯後,點擊“下一步”將播放列表保存成文件,並且在下一個窗口中可以選擇是否“循環播放”或“無序播放”這些流媒體。再經歷幾個確認框,您就完成了Windows Media流媒體廣播服務器的建立,爲了快捷,我們就將“完成此嚮導後啓動其它嚮導”前面的對勾去掉吧!

  19. 服務器啓動後,您就可以在Windows Media Player中輸入“mms://服務器IP/發佈點名稱”觀看網絡廣播了。而在Windows Media Services的管理器中,我們可以隨時監視流媒體的播放情況、添加/刪除與調整播放列表、插入廣告、發佈公告(可以直接生成htm頁面)、調整該廣播站的屬性等操作,並可以隨時通過下面的按鈕啓動與停止廣播站以及測試當前流媒體是否正常;


  此圖是使用公告嚮導建立的發佈點公告網頁,是不是非常方便?

  20. 我們還可以通過在瀏覽器中輸入管理器的網址或者直接啓動管理工具中的“Windows Media Services(Web)”來對整個流媒體服務器進行Web管理以及遠程管理,其管理界面與本地管理除了少幾個功能外,幾乎沒有差別。

  遠程管理還可以對一個服務器組多臺服務器進行管理。

  至此,我們的Windows Media網絡廣播服務器已經完全建設完畢,您已經擁有了一個具有強大功能的網絡廣播站,是不是覺得不過癮?因爲還有許多優秀的影片想和朋友們共享,並且想讓他們能夠自由的觀賞自己喜歡的節目,不受你廣播時間表的限制?那麼,跟我來,我們在此基礎上再搭建一個Windows Media視頻點播服務器。

  隨着越來越多的朋友開始選擇ADSL、Cable Modem或FTTB+ LAN作爲首要的上網方式,寬頻時代即將到來,這使我們“寬頻 KTV、影音聊天室、線上電影院、遠程教育”的夢想即將成爲現實,而與其密切相關的“流媒體(Streaming Media)”也成了許多人談論的熱門話題,因爲“流媒體”正是實現這些寬頻應用的技術動力。

  寬頻時代的到來還使得網民們不再滿足於僅僅作爲一項服務的受衆,他們需要更大規模的交流,從中體現個體的價值,因此,許多朋友開始用自己的計算機,搭建網絡廣播和點播站點。他們充滿着滿腔的熱情,但不可否認的是,中國網民先天技術上的不足,讓他們在建設這樣的站點時遇到重重險阻,以至於放棄。如何將這種熱情在技術的引導下成爲動力,這正是我們家用電腦所要做的,所以,在今天,在這裏,我就將給大家介紹如何打造屬於自己的流媒體服務器。

  不過,在開始正式的流媒體服務器架設之前,請讓我們先了解一下流媒體服務器的基礎知識。

二、流媒體基礎知識

  什麼是流媒體?

  目前,在網絡上傳輸音/視頻等多媒體信息有兩種解決方案,即http或ftp下載以及流式傳輸。

  http或ftp下載使用標準的http和ftp協議,但由於多媒體信息個頭巨大,下載一個多媒體文件一般需要幾分鐘或幾小時的時間,這就造成爲了看一個並不知道內容的視頻,首先需要耗費可能比整個視頻都要長的時間來完成下載。這些被下載的文件還必須在下載前製作完成,放在網絡服務器上,這樣造成的直接後果就是:網絡帶寬不斷提高,人們下載的等待時間越來越少,但最終還是不能觀看網上現場直播。

  流式傳輸時,聲音、影像或動畫等多媒體信息由流媒體服務器向用戶計算機連續、實時傳送,它首先在使用者端的電腦上創建一個緩衝區,於播放前預先下載一段資料作爲緩衝,用戶不必等到整個文件全部下載完畢,而只需經過幾秒或十數秒的啓動延時即可進行觀看。當多媒體信息在客戶機上播放時,文件的剩餘部分將在後臺從服務器內繼續下載。如果網絡連接速度小於播放的多媒體信息需要的速度時,播放程序就會取用先前建立的一小段緩衝區內的資料,避免播放的中斷,使得播放品質得以維持。

  流式傳輸除了能夠發送已經制作完成的文件外,還可以通過採集服務器實時採集現場音視頻,推送到流媒體服務器端,實時提供給用戶。因此,流媒體除了能夠更好的承擔如下載一樣的多媒體點播服務外,更能夠應用在現場直播、電視轉播、突發事件報道等多種對實時性傳輸要求較高的領域。

  有關流媒體的廠商

  流媒體的市場巨大,世界上許多優秀的廠商都加入此行列,現階段更是系統集成商競爭的風水寶地。而在通用市場上,競爭的公司主要有三個:Microsoft、RealNetworks、Apple,而相應的產品就是:Windows Media、Real Media、QuickTime。而近來,以開發Winamp著名的Nullsoft公司也在自己的MP3服務器中加入了視頻支持,欲在流媒體市場分一杯羹。

  由於Apple的服務器和編輯軟件一般都以Mac爲操作平臺,Nullsoft的流媒體服務器屬於新生不成熟事務,所以今天在這裏我主要給大家介紹一下Microsoft和RealNetworks的產品。

  流媒體的傳輸協議

  大家在觀看網上電影或者電視時,一般都會注意到這些文件的連接都不是用http或者ftp開頭,而是一些rtsp或者mms開頭的東西,爲什麼是這樣呢?實際上,這些和http和ftp一樣,都是數據在網絡上傳輸的協議,只是它們是專門用來傳輸流式媒體的協議而已。下面,讓我們來看一下現在使用的主要的流媒體協議:

  1. RTSP(Real Time Streaming Protocol),實時流媒體協議,它是由RealNetworks和Netscape共同提出的,現在用於RealNetworks的Real Media產品中;

  2. PNM(Progressive Networks Audio),這也是Real專用的實時傳輸協議,它一般採用UDP協議,並佔用7070端口,但當你的服務器在防火牆內且7070端口被擋,且你的服務器把SmartingNetwork設爲真時,則採用http協議,並佔用默認的80端口;

  3. MMS(Microsoft Media Server protocol),這是微軟的流媒體服務器協議,MMS 是連接 Windows Media 單播服務的默認方法。

  介紹了主要的三個,可能您還會問,Apple的QuickTime使用哪種協議呢?在多數情況下,QuickTime使用http協議,但實際上它也由標準的流媒體傳輸協議,這就是標準RTSP協議,而Real公司使用的RTSP是自己經過開發的。

  在流媒體傳輸中,標準的協議就是RTP(Real time Transport Protocol,實時傳輸協議)、RTCP(Real-time Transport Control Protocol,實時傳輸控制協議)、RTSP(Real Time Streaming Protocol,實時流媒體協議)和RSVP(Resource Reserve Protocol, 資源預訂協議),廠商們的產品都是在這些協議的基礎上進行研究與開發,限於篇幅,在這裏我們就不再深入討論了。

  流媒體文件和發佈格式

  有了實時的傳輸協議,我們應該還能夠想到,只有較小的文件才適合網絡實時傳輸,那麼,流媒體文件採用了什麼樣的壓縮算法呢?

  而使用Windows操作系統的朋友可以看到,我們觀看網上流節目時,它們的後綴名一般是rm、asf、wmv等,這些就是流媒體的格式。流媒體文件格式經過特殊編碼,不僅採用較高的壓縮比,還加入了許多控制信息,使其適合在網絡上邊下載邊播放,而不是等到下載完整個文件才能播放。

  常見的流媒體格式大致有以下幾種:

  流媒體文件格式擴展(Video/Audio) 媒體類型與名稱
  asf               Advanced Streaming format. (Microsoft).
  rm               Real Video/Audio 文件 (Progressive Networks).
  ra               Real Audio 文件 (Progressive Networks).
  rp               Real Pix 文件 (Progressive Networks).
  rt               Real Text 文件 (Progressive Networks).
  swf               Shock Wave Flash (Macromedia).
  mov               QuickTime(Apple公司格式)
  viv               Vivo Movie 文件(Vivo Software).

  另外還有一個wmv格式,是Windows Media Video的簡稱,它與asf文件有稍許區別,wmv一般採用window media video/audio 格式,asf視頻部分一般採用Microsoft MPG4 V(3/2/1?),音頻部分是windows media audio v2/1,不過現在很多製作軟件都沒有把它們分開,所以直接更改後綴名就能夠互相轉換爲對方格式。

  製作完成的流媒體文件需要發佈到網絡上才能夠被別人使用,這就需要以特定方式安排壓縮好的流媒體文件,而安排流媒體文件的格式就被成爲流媒體發佈格式。常見的發佈格式主要有以下幾種:

  流媒體發佈格式擴展 媒體類型和名稱
  asf        Advanced Streaming format.
  smil        Synchronised Multimedia Integration Language.
  ram        RAM File.
  rpm        Embedded RAM File.
  asx        ASF Stream Redirector/ASF流轉向器文件
  xml        eXtensible Markup Language

  MPEG-4與流媒體

  說到流媒體就不能不提及MPEG-4。MPEG-4是當前討論的焦點之一,只因爲它能夠在大的壓縮比下實現近似DVD品質的視頻和音頻效果,這也是許多朋友認爲MPEG-4格式肯定比rm清晰的原因。但事實上並不是如此,MPEG-4只是一種視頻編碼技術,它的清晰度也根據壓縮時所選擇的碼率的不同有較大的改變(我們見到的MPEG-4格式文件通常爲500Kbps壓縮生成,質量當然高了),並且,MPEG-4還有多種壓縮標準,如Microsoft的asf視頻部分就是基於MPEG-4的Discrete Cosine Transform (DCT),另外還有DivX的免費MPEG-4版本(開始是破解微軟的格式而來)。至於音頻部分,更是混亂,Microsoft採用windows media audio v2/1,DivX採用MP3或者更高質量的AC3等。相比而言,Real或者Apple的格式使用的是自己開發的編碼,在相同碼率,特別是低碼率下,不見得就比MPEG-4差,採取高碼率的rm格式照樣清晰可人,所以大家以後說rm格式清晰度差的觀念要改變一下:),至少也要加上條件。而且,最新的Helix Producer中的Real Video 9採用VP5壓縮格式進行編碼,這可比DivX優秀多了!

  不過,流媒體服務器開始向MPEG-4格式靠攏是不爭的事實,Real最新的Helix就開始支持mp4格式文件的服務,而RealOne Player更是隻需安裝一個插件便可實現MPEG-4格式的播放。

  點播與廣播

  在架設流媒體服務器之前,我們一定要了解一些點播與廣播的知識。

  點播是客戶端與服務器之間的主動的連接,在點播連接中,用戶通過選擇內容項目來初始化客戶端連接,一個客戶端從服務器接收一個媒體流(這個連接是唯一的,其它用戶不能佔用),並且能夠對媒體進行開始、停止、後退、快進或暫停等操作,客戶端擁有流的控制權,就像在看影碟一樣。這種方式由於每個客戶端各自連接服務器,服務器需要給每個用戶建立連接,對服務器資源和網絡帶寬的需求都比較大。

  廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流,用戶不能暫停、快進或後退該流,廣播使用的數據發送手段有單播與廣播。使用單播發送時,服務器需要將數據包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些用戶,而使用廣播方式發送,數據包的單獨一個拷貝將發送給網絡上的所有用戶,而不管用戶是否需要,上述兩種傳輸方式會非常浪費網絡帶寬和服務器資源,因此產生了組播(多播)技術。

  組播(多播)吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將數據包的單獨一個拷貝發送給需要的那些客戶,組播不會複製數據包的多個拷貝傳輸到網絡上,也不會將數據包發送給不需要它的那些客戶,保證了網絡上多媒體應用佔用網絡的最小帶寬。但組播不僅需要服務器端支持,更需要有多播路由器乃至整個網絡結構的支持。

  單播與組播(多播)

  在上面我們已經瞭解了一些單播和組播的概念,這也是現在流媒體方面討論的焦點之一。以我的認識,點播與廣播是一組概念,它們和客戶端媒體交互的手段;單播和組播又是另外一組概念,它們是流媒體數據在服務器端和網絡上的傳輸方式。

單播發送時,需要在客戶端與媒體服務器之間需要建立一個單獨的數據通道,從一臺服務器送出的每個數據包只能傳送給一個客戶機,每個用戶必須分別對媒體服務器發送單獨的查詢,而服務器必須向每個用戶發送所申請的數據包拷貝。這種巨大冗餘會造成服務器沉重和網絡帶寬的沉重負擔,響應需要很長時間,甚至出現不能服務的情況。單播可以用在點播和廣播上。

  組播發送時,服務器將一組客戶請求的流媒體數據發送到支持組播技術的路由器上,然後由路由器一次將數據包根據路由表複製到多個通道上,再向用戶發送。這時候,媒體服務器只需要發送一個信息包,所有發出請求的客戶端都共享同一信息包,並且信息可以發送到任意地址的客戶機,沒有請求的客戶機不會收到信息包,網絡上傳輸的信息包的總量沒有廣播那麼多,大大提高了服務器和網絡線路的利用率。不過組播也有自己的特點,首先是必須要開始支持組播技術的路由器,另外就是一般只能用作廣播,因爲用作點播會存在用戶控制問題。

  好了,說了這麼多,您可能都嫌我煩了,那麼,就讓我們開始架設流媒體服務器之旅吧。

三、流媒體服務器硬件準備

  流媒體服務器和網站(Web)服務器一樣,要經受許多人的同時訪問,相比Web服務器來說,由於多媒體文件需要更強處理能力,其硬件設備應超越一般用於Web的服務器。所以,流媒體服務器最好滿足以下硬件條件。

一顆強勁的“芯”。如果計算機CPU頻率太低,處理能力過慢,電腦在被多用戶訪問時將我們無法進行其他任何操作(相信大家對那些網上視頻點播的網站經常當機身有體會,我們和他們建立的是一樣的服務器,只是規模小些罷了)。
大容量內存和硬盤。流媒體的製作和發送是系統資源的黑洞,擁有大容量內存是系統穩定運行的前提;而流媒體文件體積較大,大量的媒體文件需要更多的存儲空間。建議內存至少256MB,硬盤80G以上。

佔用系統資源少的聲卡。好的聲卡有助於CPU佔用率的降低,並且對錄音的質量有很大影響(用於網上直播),建議使用Creative的SB Live!或SB Audigy、Audigy 2系列,由於筆者自己的機器不做服務器(只用來做文章,沒錢升級啊),所以只拿普通的集成來演示。
良好的視頻捕捉設備。我們的直播節目源就來源於這塊設備,推薦使用Leadtek(麗臺)的WinFast TV2000 XP豪華版,它接收信號的能力和硬件壓縮的能力都是比較出衆的(因爲筆者沒有條件,所以採集設備用了屏幕捕捉,不過使用採集設備的方法是相同的,所以請大家不要見怪)。

儘量高的帶寬。當然是上網速度越快越好,不過我們可以在流媒體服務器中對連接數做一個限制,以免當機。

  當然,上面是建設一個屬於自己的流媒體服務網站必須的硬件設備,如果只是和筆者一樣,只是想在架設流媒體服務器過程中學習一把,大可在現有機器的基礎上大膽測試。

四、架設流媒體服務器之旅

  準備好了硬件,下面就開始一步步教大家架設自己的流媒體服務器。我將其分爲Microsoft公司的Windows Media和RealNetworks的Real Media兩大部分,都包括直播與點播服務器的建立,並在最後向大家介紹一下Apple的QuickTime和Nullsoft的流媒體服務器。

  由於Microsoft公司的Windows Media點播服務必須建立在Server版的操作系統上,所以筆者選取Windows .Net Enterprise Server 3647作爲此次流媒體服務器建立的系統平臺。爲了比較RealNetworks和Microsoft最新一代流媒體服務器的優劣,筆者採用了它們最新的流媒體系統,以下是筆者使用的具體軟件:

  操作系統:Windows .Net Enterprise Server 3647、Windows XP Service Pack 1
  流媒體軟件:Windows Media Services 9.0(Windows .Net Server自帶)、Windows Media Encoder 9 Series Release Candidate(由於此軟件在.Net Server下運行不正常,故安裝在XP中,並且只有此軟件安裝在XP中)、Windows Media Encoder 7.1、Windows Media Player 9.0 Build z903、Helix Universal Server 9.01 FOR Win2k(9.0.2.794)、Helix Producer Plus 9.0.1、RealOne Player 2.0 Build 6.0.11.853。

  下面,就讓我們開始吧!不要走開哦!!!

WinMedia網上廣播服務

  單純的使用Windows Media Encoder這個軟件即可實現網上廣播服務,不過,藉助於Windows Media Services,利用Windows Media Encoder製作的流媒體文件,我們的網絡廣播站功能將更爲強大。下面,我們將利用Windows Media Encoder單獨建立廣播站,並將其納入Windows Media Services,實現更強大的功能。

  1. 安裝Windows Media Services。

  首先安裝Windows 2000 Server或者Windows .Net Server,然後打開“開始-控制面板-管理工具-管理您的服務器”或“開始-控制面板-添加或刪除程序-添加/刪除Windows組件”(建議使用第二種),在其中勾取“Web應用程序服務器”,也就是2000 Server中的IIS服務器,單擊“下一步”進行添加;

添加IIS完畢後,再次啓動添加/刪除Windows組件程序,並勾取Windows Media Service項,單擊詳細信息,在其中選擇“用於Web的Windows Media Services Administrator”以啓動Windows Media Services的Web管理功能(2000中可能沒有這些選項,只需要安裝Windows Media Services即可);

  2. 安裝Windows Media Encoder。

  從微軟網站下載Windows Media Encoder 7.1(由於Windows Media Encoder 9.0無法在.Net Server下工作)進行安裝,至此,Windows Media服務的服務器和編碼器都已經具備;

  3. 從“開始-程序-Windows Media”  啓動Windows Media Encoder,在出現的嚮導界面中根據自己的需要選擇合適的選項,建議新手“使用新建會話嚮導廣播、捕獲或轉換文件”,選擇後單擊確定;

4. 由於進行的是廣播,所以在下一個彈出的畫面中請選擇“在附屬設備或計算機屏幕廣播實況事件”,這樣的選擇能夠讓Windows Media Encoder直接進行廣播或者將其加入Windows Media Service服務;

5. 在下一個畫面中選擇您進行視頻或音頻捕獲的設備,筆者沒有視頻卡,所以只能選擇“屏幕捕獲”,有視頻卡的朋友請選擇您的視頻卡;

  6. 廣播信號必須通過一個有效的端口進行傳輸,因此必須對它進行設置。Windows Media Encoder默認的端口爲8080,但由於這個端口經常被其它軟件佔用,所以建議朋友們單擊“查找可用端口”以換成其它隨機端口或者直接輸入沒有被佔用的端口。我選擇了“3170”端口;

  7. 然後就開始選擇我們進行廣播的流媒體質量,有一個公式您可以參考:流媒體配置文件帶寬×最大連接用戶數=您的上行帶寬(不是下載,是上傳)。您如果有2Mbps的上行帶寬,選擇了100Kbps的配置文件,則允許同時20個觀衆看到您的廣播,由此可見,流媒體服務對帶寬的需求是巨大的;

  8. 在這個窗口您可以選擇將進行廣播的流媒體存檔,以便於以後觀看或者進行點播,若只是作爲實況廣播服務,並且硬盤空間不大,您可以不選取;

  9. “下一步”後,您可以選擇是不是添加微軟內置的歡迎、休息和再見文件,我就沒要這些東西,誰給微軟免費作廣告,呵呵;

  10. 然後,我們可以給我們的廣播節目添加上版權信息,這些信息在播放時,會出現在Windows Media Player中;

  11. 彈出最後一個確認窗口後,我們最終的廣播界面就出現了,若是有視頻捕捉設備,只要單擊“開始”,我們的廣播站就運行起來,只要在客戶機IE中輸入“mms://服務器的:端口值”就會彈出media player播放電視。如我建立的廣播站地址就是“mms://192.168.0.1:3170,這些信息您也可以直接在此界面的連接標籤中查看;

  12. 若是您和我一樣沒有視頻捕捉設置,或者想向用戶播放一段錄製好的視頻,請點擊“會話-屬性”(此面板能夠對所有設置過的數據進行調整),單擊“更改”按鈕,在彈出窗口中選擇視頻右邊的下拉框,單擊“查找文件”,找到您預先錄製好的視頻文件(支持asf、wmv、avi、mpg等格式);

13. 再回到廣播界面,點擊開始,您的文件就可以被網絡上的兄弟姐妹看到了,

  若是想添加更多的文件或設備,請在以上窗口單擊“更改”旁的“新建”進行添加即可;

  14. 您可能覺得到這裏我們就大功告成了,實際上遠遠沒有,這只是最基本的直播廣播,我們還需要將其加入Windows Media Services的廣播服務中,以實現更強大的功能。請將你的鼠標指向“開始-控制面板-管理工具-Windows Media Services”,打開Windows Media管理器(2000 Server應該是一個Web界面)。選擇左邊的服務器後,單擊操作菜單中的“添加發布點(嚮導)”,經歷歡迎頁面後,會出現發佈點命名窗口,在其中輸入您願意使用的名字,我輸入的是“SOFTICP.COM_Broadcast”;

  15. 在下一個窗口中,將讓您選擇所要發佈的內容類型,如果只是單純的進行流媒體直播,就選擇“編碼器(實況流)”,若是想在實況流中加入其它製作好的文件,請選擇“播放列表”,若是想建立視頻點播服務器,請選擇“目錄中的文件”。由於我有現成的製作好的文件,所以選擇了“播放列表”;

  16. 選擇完了發佈內容的類型,就要選擇發佈的方案,我們進行的是網絡廣播的服務,當然要選擇“廣播發布點”。在接下來的窗口中,我們要選擇內容的傳遞方式,看到了吧,這次我們前面介紹的單播和組播的基本概念起了作用,我們的網絡一般不支持組播,所以要選擇“單播”;

  17. 若是您以前有創建好的播放列表文件(wsx或htm文件),直接在下一個窗口中選擇“現有播放列表”,若是沒有,請跟我一樣,“新建播放列表後進行添加”。在添加窗口中,可以添加文件、編碼器的實況流、遠程發佈點的流媒體、ASP、CGI的動態源等多種媒體,並且還可以添加廣告信息以及調整媒體的播放順序;

  18. 完成播放列表的編輯後,點擊“下一步”將播放列表保存成文件,並且在下一個窗口中可以選擇是否“循環播放”或“無序播放”這些流媒體。再經歷幾個確認框,您就完成了Windows Media流媒體廣播服務器的建立,爲了快捷,我們就將“完成此嚮導後啓動其它嚮導”前面的對勾去掉吧!

  19. 服務器啓動後,您就可以在Windows Media Player中輸入“mms://服務器IP/發佈點名稱”觀看網絡廣播了。而在Windows Media Services的管理器中,我們可以隨時監視流媒體的播放情況、添加/刪除與調整播放列表、插入廣告、發佈公告(可以直接生成htm頁面)、調整該廣播站的屬性等操作,並可以隨時通過下面的按鈕啓動與停止廣播站以及測試當前流媒體是否正常;


  此圖是使用公告嚮導建立的發佈點公告網頁,是不是非常方便?

  20. 我們還可以通過在瀏覽器中輸入管理器的網址或者直接啓動管理工具中的“Windows Media Services(Web)”來對整個流媒體服務器進行Web管理以及遠程管理,其管理界面與本地管理除了少幾個功能外,幾乎沒有差別。

  遠程管理還可以對一個服務器組多臺服務器進行管理。

  至此,我們的Windows Media網絡廣播服務器已經完全建設完畢,您已經擁有了一個具有強大功能的網絡廣播站,是不是覺得不過癮?因爲還有許多優秀的影片想和朋友們共享,並且想讓他們能夠自由的觀賞自己喜歡的節目,不受你廣播時間表的限制?那麼,跟我來,我們在此基礎上再搭建一個Windows Media視頻點播服務器。

  單純的使用Windows Media Encoder這個軟件即可實現網上廣播服務,不過,藉助於Windows Media Services,利用Windows Media Encoder製作的流媒體文件,我們的網絡廣播站功能將更爲強大。下面,我們將利用Windows Media Encoder單獨建立廣播站,並將其納入Windows Media Services,實現更強大的功能。

  1. 安裝Windows Media Services。

  首先安裝Windows 2000 Server或者Windows .Net Server,然後打開“開始-控制面板-管理工具-管理您的服務器”或“開始-控制面板-添加或刪除程序-添加/刪除Windows組件”(建議使用第二種),在其中勾取“Web應用程序服務器”,也就是2000 Server中的IIS服務器,單擊“下一步”進行添加;

添加IIS完畢後,再次啓動添加/刪除Windows組件程序,並勾取Windows Media Service項,單擊詳細信息,在其中選擇“用於Web的Windows Media Services Administrator”以啓動Windows Media Services的Web管理功能(2000中可能沒有這些選項,只需要安裝Windows Media Services即可);

  2. 安裝Windows Media Encoder。

  從微軟網站下載Windows Media Encoder 7.1(由於Windows Media Encoder 9.0無法在.Net Server下工作)進行安裝,至此,Windows Media服務的服務器和編碼器都已經具備;

  3. 從“開始-程序-Windows Media”  啓動Windows Media Encoder,在出現的嚮導界面中根據自己的需要選擇合適的選項,建議新手“使用新建會話嚮導廣播、捕獲或轉換文件”,選擇後單擊確定;

4. 由於進行的是廣播,所以在下一個彈出的畫面中請選擇“在附屬設備或計算機屏幕廣播實況事件”,這樣的選擇能夠讓Windows Media Encoder直接進行廣播或者將其加入Windows Media Service服務;

5. 在下一個畫面中選擇您進行視頻或音頻捕獲的設備,筆者沒有視頻卡,所以只能選擇“屏幕捕獲”,有視頻卡的朋友請選擇您的視頻卡;

  6. 廣播信號必須通過一個有效的端口進行傳輸,因此必須對它進行設置。Windows Media Encoder默認的端口爲8080,但由於這個端口經常被其它軟件佔用,所以建議朋友們單擊“查找可用端口”以換成其它隨機端口或者直接輸入沒有被佔用的端口。我選擇了“3170”端口;

  7. 然後就開始選擇我們進行廣播的流媒體質量,有一個公式您可以參考:流媒體配置文件帶寬×最大連接用戶數=您的上行帶寬(不是下載,是上傳)。您如果有2Mbps的上行帶寬,選擇了100Kbps的配置文件,則允許同時20個觀衆看到您的廣播,由此可見,流媒體服務對帶寬的需求是巨大的;

  8. 在這個窗口您可以選擇將進行廣播的流媒體存檔,以便於以後觀看或者進行點播,若只是作爲實況廣播服務,並且硬盤空間不大,您可以不選取;

  9. “下一步”後,您可以選擇是不是添加微軟內置的歡迎、休息和再見文件,我就沒要這些東西,誰給微軟免費作廣告,呵呵;

  10. 然後,我們可以給我們的廣播節目添加上版權信息,這些信息在播放時,會出現在Windows Media Player中;

  11. 彈出最後一個確認窗口後,我們最終的廣播界面就出現了,若是有視頻捕捉設備,只要單擊“開始”,我們的廣播站就運行起來,只要在客戶機IE中輸入“mms://服務器的:端口值”就會彈出media player播放電視。如我建立的廣播站地址就是“mms://192.168.0.1:3170,這些信息您也可以直接在此界面的連接標籤中查看;

  12. 若是您和我一樣沒有視頻捕捉設置,或者想向用戶播放一段錄製好的視頻,請點擊“會話-屬性”(此面板能夠對所有設置過的數據進行調整),單擊“更改”按鈕,在彈出窗口中選擇視頻右邊的下拉框,單擊“查找文件”,找到您預先錄製好的視頻文件(支持asf、wmv、avi、mpg等格式);

13. 再回到廣播界面,點擊開始,您的文件就可以被網絡上的兄弟姐妹看到了,

  若是想添加更多的文件或設備,請在以上窗口單擊“更改”旁的“新建”進行添加即可;

  14. 您可能覺得到這裏我們就大功告成了,實際上遠遠沒有,這只是最基本的直播廣播,我們還需要將其加入Windows Media Services的廣播服務中,以實現更強大的功能。請將你的鼠標指向“開始-控制面板-管理工具-Windows Media Services”,打開Windows Media管理器(2000 Server應該是一個Web界面)。選擇左邊的服務器後,單擊操作菜單中的“添加發布點(嚮導)”,經歷歡迎頁面後,會出現發佈點命名窗口,在其中輸入您願意使用的名字,我輸入的是“SOFTICP.COM_Broadcast”;

  15. 在下一個窗口中,將讓您選擇所要發佈的內容類型,如果只是單純的進行流媒體直播,就選擇“編碼器(實況流)”,若是想在實況流中加入其它製作好的文件,請選擇“播放列表”,若是想建立視頻點播服務器,請選擇“目錄中的文件”。由於我有現成的製作好的文件,所以選擇了“播放列表”;

  16. 選擇完了發佈內容的類型,就要選擇發佈的方案,我們進行的是網絡廣播的服務,當然要選擇“廣播發布點”。在接下來的窗口中,我們要選擇內容的傳遞方式,看到了吧,這次我們前面介紹的單播和組播的基本概念起了作用,我們的網絡一般不支持組播,所以要選擇“單播”;

  17. 若是您以前有創建好的播放列表文件(wsx或htm文件),直接在下一個窗口中選擇“現有播放列表”,若是沒有,請跟我一樣,“新建播放列表後進行添加”。在添加窗口中,可以添加文件、編碼器的實況流、遠程發佈點的流媒體、ASP、CGI的動態源等多種媒體,並且還可以添加廣告信息以及調整媒體的播放順序;

  18. 完成播放列表的編輯後,點擊“下一步”將播放列表保存成文件,並且在下一個窗口中可以選擇是否“循環播放”或“無序播放”這些流媒體。再經歷幾個確認框,您就完成了Windows Media流媒體廣播服務器的建立,爲了快捷,我們就將“完成此嚮導後啓動其它嚮導”前面的對勾去掉吧!

  19. 服務器啓動後,您就可以在Windows Media Player中輸入“mms://服務器IP/發佈點名稱”觀看網絡廣播了。而在Windows Media Services的管理器中,我們可以隨時監視流媒體的播放情況、添加/刪除與調整播放列表、插入廣告、發佈公告(可以直接生成htm頁面)、調整該廣播站的屬性等操作,並可以隨時通過下面的按鈕啓動與停止廣播站以及測試當前流媒體是否正常;


  此圖是使用公告嚮導建立的發佈點公告網頁,是不是非常方便?

  20. 我們還可以通過在瀏覽器中輸入管理器的網址或者直接啓動管理工具中的“Windows Media Services(Web)”來對整個流媒體服務器進行Web管理以及遠程管理,其管理界面與本地管理除了少幾個功能外,幾乎沒有差別。

  遠程管理還可以對一個服務器組多臺服務器進行管理。

  至此,我們的Windows Media網絡廣播服務器已經完全建設完畢,您已經擁有了一個具有強大功能的網絡廣播站,是不是覺得不過癮?因爲還有許多優秀的影片想和朋友們共享,並且想讓他們能夠自由的觀賞自己喜歡的節目,不受你廣播時間表的限制?那麼,跟我來,我們在此基礎上再搭建一個Windows Media視頻點播服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章