如何在自己網站加上視頻直播功能(搭建視頻直播網站)

前一段時間由於工作需要在我們的網站上搭建一個視頻直播環境,所以我嘗試了不同種類的視頻直播搭建方式,經過這一段時間的試驗我掌握了多種服務器軟件的視頻直播搭建方式。它們各有優缺點,針對每一種服務器軟件我都寫了文章,在本篇文章中我介紹到的是八百里flash p2p流媒體系統軟件。

在本文中我們首先介紹如何安裝八百里flash p2p流媒體系統(P2PS系統到我們的服務器上,然後接着演示如果使用這個系統來在我們的網站上生成一個直播頁面並且進行視頻直播(在文章中我們以XXX.com來代替我們的網站域名),還演示瞭如果使用軟件加攝像頭/採集卡的方式進行視頻直播,最後演示了與P2PS配合的硬件級視頻直播解決方案。

 

一、下載程序

訪問http://www.800li.net ,並且在首頁上找到下載鏈接,把軟件下載到桌面上。

二、安裝

1、雙擊下載的p2ps_setup_trial.exe進入安裝界面。

2、連續點擊“下一步”之後到達註冊頁面。

3、點擊“獲取試用註冊碼”,跳轉到蘇州八百里網絡科技公司的註冊碼申請頁面,填寫一些基本裝料後提交。其中,有兩個信息非常重要,一個是電子郵箱,這是收取註冊碼的用的,這個如果填寫不正確,就收取不到註冊碼了。另一個是序列號,這個如果填寫不正確,那麼收到的註冊碼也會不正確,直接複製安裝程序裏序列號那一欄的那段文字填入即可。

4、在提交申請註冊碼之後,等待一段時間後會收到包含註冊碼的郵件。

5、將拿到的註冊碼拷貝至安裝界面中的註冊碼一欄,然後繼續下一步。

6、設置域名,默認P2PS使用的是機器的名稱,如果想對公網開放還是得設置成一個域名,在這裏我們設置成XXX.com,然後繼續下一步。

7、跳過一系列的下一步之後,來到了配置頁面。在這裏可以設置服務器端口、視頻目錄等信息,P2PS在啓動配置時會自動分配一些未被使用的端口做爲服務器使用的端口,一般情況下不需要修改。在這裏我們把視頻存放目錄(直播時會生成一些視頻文件)的位置更改成D盤下面的P2PS文件夾,其它參數不做修改。

8、如果服務器上開啓了防火牆,那麼需要把P2PS所需要的一些端口給加入到防火牆的允許通過端口列表中。

在配置管理器中切換到“對外端口列表”頁籤,可以看到P2PS使用了兩個TCP端口和3個UDP端口:

從控制面板中打開windows防火牆設置,在“例外”頁籤中的“對外端口”中分別加入P2PS的對外端口列表中的TCP和UPD端口。

設置好防火牆之後,點擊配置管理器的“保存配置”,然後點擊“關閉窗口”完成配置,回到安裝程序點擊“完成”來結束P2PS的安裝。

三、發佈直播

1、在開始菜單中可以打開P2PS的示例頁面。由於遠程主機上面沒有攝像頭,所以得到這個頁面的地址之後,我們把這個地址拷貝到本地的瀏覽器中使用。

2、在示例頁面中,有3個鏈接,一個是流管理,一個是發佈,還有一個是播放。其中流管理是用來管理視頻的個數。我們新建一個名稱爲“我要直播”的流,在流名稱一欄輸入“我要直播”,然後點擊添加即可添加一個視頻流。

3、添加視頻流之後,點擊發布跳轉到發佈管理頁面,勾選中剛纔添加的流,然後點擊“發佈選中流”按鈕,點擊之後,會出現發佈直播的界面,在此時計算機上必須有能夠使用的攝像頭(如果沒有攝像頭,也可以安裝一個新浪9158虛擬視頻來代替),當發佈界面左上角顯示“Connection success”時表示已經連接上服務器,接下來只需要點擊彈出的“Adobe flash player設置”窗口上的“允許”按鈕即可進行發佈。

4、然後新打開一個瀏覽器頁籤,輸入地址http://XXX.com:28100/sample重新進入此頁面,在頁面上選擇播放,然後選中剛纔新建的流,然後點擊“播放選中流”按鈕。

在彈出的“Adobe Flash Player設置”窗口上,勾選住“記住”(防止每次播放時再次詢問),然後點擊允許進行觀看。

由於P2PS採用了flash+p2p的直播方式並且爲了能充分發揮p2p網絡的效果、減少服務器端負載,所以P2PS控制了播放器的延時,直播畫面要比現場畫面延後一分鐘左右,發佈之後大約一分鐘纔可以播放,但是這並不影響直播效果。

四、將直播播放器嵌入到其它頁面

現在我們要把這個示例頁面中的播放器移動到正式的網站XXX.com中。

首先,我們在XXX.com的站點目錄中新建一個“liveshow.html”的頁面(當然也可以使用已存在的頁面),然後在示例頁面中的播放頁面的播放器下方,點擊“複製代碼”或者直接複製“播放器代碼”欄中的代碼,把它粘貼到新建的“liveshow.html”中。

然後在瀏覽器中直接訪問http://XXX.com/liveshow.html,就可以看到正在直播的內容了,還可以根據自己需要把這段播放器代碼放到博客、論壇等支持HTML源碼的地方。

五、停止直播

在用戶想要停止直播時,有三種選擇:

一種是直接關閉發佈頁面,這樣下次可以還繼續使用這個視頻流發佈直播視頻,在停止發佈直播後,觀看者通過像後拖動播放條進行回看;

一種是選擇以“轉換成點播”方式結束髮布,這種方式結束的視頻可以點播視頻進行播放,並且此視頻流不能夠再用來發布直播,觀看者在觀看頁面可以任意拖動視頻進行觀看;

還有一種是選擇以“轉換成僞直播”方式結束髮布,這種方式結束的視頻在觀看頁面上還是被僞裝成爲一個直播視頻,只能像後拖動,但是不能像前拖動。

六、其它方式進行發佈

對於P2PS系統來說,不僅僅像示例頁面中的那樣用網頁+攝像頭來發布直播,還可以使用其它方式進行直播。

一、 使用Adobe Flash Media Live Encoder   +  PC攝像頭/支持DirectShow的採集卡.

二、 使用硬件直播一體機。

三、 使用支持RTMP協議的採集卡+採集卡自帶軟件進行發佈。

但是無論使用哪種方式,都需要使用示例發佈頁面中的FMS連接URL和FMS發佈流名進行發佈,可以先將發佈頁面中的FMS連接URL和FMS發佈流名稱複製到詞事本或者其它地方供後續使用。(注意:在發佈頁面打開的時候,是不能再使用這個url進行發佈,所以在進行其它方式方式時先關閉發佈頁面)。

七、使用Adobe Flash Media Live Encoder進行發佈

1、在adobe網方網站https://www.adobe.com/cfusion/entitlement/index.cfm?e=fmle3上面下載最新版本的Flash Media Live Encoder ,我們現在使用的是3.2版本。

2、安裝完成之後啓動程序,首先我們要做的是選擇機器上的視頻設備和音頻設備,在下圖中可以看到,我們在video一欄中選取了我機器上的攝像頭“FV TouchCam VQ1”,把視頻編碼調整成H264,設置好合適的視頻碼率、視頻寬度和視頻高度,然後音頻設備使用默認的麥克風。

3、最重要地是在輸出參數設置面板那裏,把從發佈頁面複製的“FMS連接URL”的值複製到FMS URL一欄,“FMS發佈流名”值複製到Stream一欄,然後直接點擊最下面的Start,這樣發佈就開始了。

4、不僅僅可以使用攝像頭,還可以使用採集卡+DV的方式進行直播,這裏我們採用一張USB採集卡(當然也可以使用其它種類採集卡),這張採集卡的輸入端是模擬信號,採用接口是普通的蓮花頭,這也意味着一切與這種接口兼容設備都可以配合這張採集卡來直播,如廣播級攝像機、家用DVD、電視機頂盒。

capturecard.JPG

5、另外我們常用的還有以HDMI方式輸入視頻信號的採集卡,這種採集卡能夠配合數字攝像機、藍光DVD、擁有HDMI的筆記本、平板電腦和手機等等數碼產品。

hdmicard.jpg

6、我們使用一個帶AV模擬信號輸出的DV來進行直播,把採集卡連接在電腦上並且安裝好驅動程序,再把DV的AV信號線接上,另一端接在採集卡的顏色相同的插口上。

dv.jpg

7、重啓Adobe flash media live encoder,這時在Adobe flash media live encoder的視頻設備和音頻設備列表處就會各多出一個新的設備,分別選取這兩個設備,然後參數還是像上面一樣設置好FMS連接字符串和FMS流名稱,點擊最下方的Start按鈕,DV的畫面就成功地直播出去了。

fmle.capture.jpg

http://XXX.com/docimg/fmle.publish2.jpg

8、發佈成功了,打開播放頁面進行效果觀看吧。

http://XXX.com/docimg/fmle.play.png

八、使用一體機/視頻編碼服務器進行發佈

由於普通PC機+採集卡的方式不便於在特殊場合下面進行視頻直播的商業實施,所以在這種情況下使用專業的直播一體機或是採集編碼服務器來進行視頻直播會取得更好的的效果。

行業中並未對這種具有采集和發佈直播的機器有一個標準的名稱,根據附加功能的不同廠家使用過這些名稱:直播一體機、導播直播一體機、網絡直播一體機、採集編碼服務器、視頻編碼服務器、錄播直播一體機等、嵌入式flash編碼器等等。

而不管這些硬件的名稱是什麼,只要它擁有以下幾點功能即可無縫接合P2PS系統:

1、視頻信號採集。

2、視頻信號壓縮。

3、支持RTMP流媒體協議輸出。

只要擁有上述三個最基本的功能,那麼這個硬件就可以實現直播的需求,至於是否還擁有多路切播、混音、字幕添加等等其它功能,視用戶需求來選擇最合適的設備,在這裏我們使用某品牌的視頻編碼服務器來舉例。

某品牌的視頻編碼服務器的功能特性中指出:

l H.264/AVC MainProfile廣播級視頻編碼器嵌入式平臺

l 支持H.264 Transport和Program流的編碼Entropy coding (支持CAVLC/CABAC )

l 通過以太網端口進行基於Web的遠程管理和本地管理

l 支持多種IP網絡協議及直播模式: UDP,TCP,RTSP,HTTP,RTMP等。

l 視頻輸入:S端子,複合,SDI(可選)

由以上基本特性可以知道,由於此視頻編碼服務器支持複合信號(AV)的輸入、支持H264的壓縮、支持RTMP網絡協議的直播,那麼這臺視頻編碼服務器就可以用來直接發佈視頻直播到P2PS系統上,下面是我們的操作步驟。

1、把此視頻編碼服務器通過網線接入局域網,在輸入端接入DV、攝像機等信號源設備。通過其它計算機登陸視頻編碼服務器的管理平臺,首先設置它的互聯網參數,使其能夠連入互聯網。

http://XXX.com/docimg/ytj.setting.jpg

2.設置視頻和音頻的格式,注意請將視頻編碼設置爲H264、VP6、H263等RTMP支持的格式,而音頻編碼一般可選擇Mp3、AAC、Nellymoser、speex等。然後根據需要設置幀率,視頻寬高、視頻比特率等參數。

http://XXX.com/docimg/ytj.video.jpg

http://XXX.com/docimg/ytj.audio.jpghttp://XXX.com/docimg/ytj.audio_biterate.jpg

3、接下來就是要設置視頻編碼服務器的RTMP協議輸出地址。需要注意的是,我們現在使用的這個視頻編碼服務器的RTMP地址沒有分成連接字符串和流名稱兩段,所以我們把“FMS連接字符串”和“FMS流名稱”中間使用“/”連接在一起填入"RTMP ADDRESS"一欄。其它品牌的設備的RTMP參數設置可見該設備的使用說明書。

http://XXX.com/docimg/ytj.rtmp.jpg

到此,編碼器的編碼已經設置好。我們點擊“開始編碼”系統開始運行。然後打開對應的直播頁面即可觀看到直播效果。

 

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