開源代碼Window下搭建rtmp流媒體服務器

合肥程序員羣:49313181。 合肥實名程序員羣:128131462 (不肯透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com

綜合:有這樣需求,將攝像頭視屏發佈出去,而且須要在web網頁上經過Flash播放器播放。首先Flash被我所知道的全部瀏覽器所支持。若是是Activex控件。還須要被用戶額外安裝,並且一不當心還會出問題。可是Flash player默認是被安裝的。並且是比較穩定的。雖然開源的VLC播放器所提供的OCX至關不錯。但是我的仍是以爲沒有Flash直接播放方便。flash支持的視頻格式有限,像mp4等格式都不會被flash player直接支持。因此就有了選擇RTMP協議的視頻流。支持點播和時間查詢播放。那麼下面咱們就在Windows下搭建一個RTMP視頻流發佈程序。我選擇的都是開源代碼編譯出的程序去搭建。免費,可定製。:)ffmpeg+ CRtmpserverhtml

一.準備:下載ffmpeg. 這個支持不少不少的格式視頻http://ffmpeg.org/download.html。進入下載,能夠下載源碼和Windows 平臺下的Release版。而後下載crtmpserver.http://www.rtmpd.com/  這是官網。,可是官網不提供Windows下的編譯好的程序。http://www.rtmpd.com/resources/裏面能看到源碼下載地址,java

rtmp1

須要咱們本身下載源代碼編譯。能夠看到是SVN進行管理的。進入Wiki。能夠看到詳細的說明文檔。它是在linux下編寫完成(不少好的開源代碼都是在linux下編寫完成,因此咱們仍是很是有必要學習學習linux)。咱們只能搭建交叉編譯環境,編譯出Windows下可執行程序。我喜歡Ubuntu下編譯。交叉編譯環境如何搭建。直接百度。不少資料能夠參考。這樣兩個重要的開源工具下載準備完成。固然咱們須要一個好的flash播放器。固然流媒體發佈服務器開源工具還有比較好的。好比Red5.這是java寫的,感興趣的能夠進去看看。linux

二.開始發佈視頻程序員

首先咱們能夠直接將視頻文件發佈到media目錄中web

 

rtmp2

能夠看到media目錄中我放入了幾個視頻文件:瀏覽器

rtmp3

這樣咱們就能夠以rtmp流的形式訪問視頻了;首先得啓動服務。直接用批處理啓動。run.bat.服務器

rtmp4

這樣就實現了rtmp靜態視頻發佈rtmp流給flash player播放。注意咱們這裏視頻放在media文件夾中這個是由crtmpserver的配置文件中配置的。它的配置文件是lua腳本寫的。工具

rtmp5

個人就是配置在media中的。學習

如今我經過ffmpeg將流發佈給crtmpserver對外發布。編碼

我寫了一個批處理直接運行。批處理內容是:

rtmp6

我將2.mp4視頻發佈成編碼成H264以rtmp格式發佈出去。

rtmp8rtmp7

這樣這個2.mp4就被髮布出去了。

 

後記:

雖然都是以視頻文件發佈rtmp流發佈的。可是這只是簡單的搭建實例。咱們能夠將他用到不少地方。我後面打算經過它直接將攝像頭的視頻流編碼成H264發佈出去rtmp流供flash player播放。而後遠程查看。同時我打算利用Drectshow操做電腦攝像頭實現視頻即時一對一或者一對多聊天。而且存儲服務器視頻文件供歷史聊天視頻查詢。這也是我選擇開源代碼搭建的緣由之一

相關文章
相關標籤/搜索