[AWS][甘苦談] 自行架設RTMP Server影音串流伺服器

2013.10.30註記:在看完這篇,不妨看看另一種RTMP架設方法?

最近公司有個案子客戶開出需要整合Live的技術,在指定空間內希望我司產品能夠同步輸出LIVE視訊。而BOSS找了原廠一同解決,對我們公司來說規模太小只懂的代理產品來賣,只要碰到專案就要找原廠,真不知道公司還剩下什麼商業優勢存在....(汗)

前前後後我都沒參予討論,突然告知我得跟某廠商開會,每次在搞不清楚狀況下抓走我。只能邊開會邊整理思緒。該客戶是國內數一數二的影音服務商,主要業務為影像擷取與線上直播的系統服務。原廠希望透過Adobe Flash的RTMP與HLS訊號串流方式來滿足Live效果,這是一種很常見的基本服務。同時選擇方案除了Flash還有其他選擇,我們產品因為規格限制只能從SWF來滿足Video In,結果光報價部分竟然要80~90萬跑不掉。同時不斷直誇一些巨星演唱會、政府機關、佛教機構都是採它們的直播系統....同時原廠跟BOSS根本不懂直播系統被唬來唬去的

我當下認為找個Pro級的來開會幹嘛,浪費時間又無可行性。當然我方原廠提出一些其他方案,包含提到Free與Cost Down的選擇性。對方業務講得很死似乎不願透露什麼,只講一些Adobe Stream、Server、Encoder、1 by 1等關鍵字,最後還是要硬搭配他們家貴死人的系統。我這個人什麼都不懂就只擅長推論,根據我的了解Adobe Stream Service與SWF既然同為一間公司,造理來說從In到Out應該可以直接搞定。最後決定自己架一個免費的來試試

--------上面都是屁話--------上面都是屁話--------上面都是屁話--------上面都是屁話--------

串流就像是一種頻道系統,將資源放在網頁裡供人觀看,應用上可以選台、現場直播、甚至搞個Web監視器也都屬於這些,詳細技術五花八門。典型例子有youtube、justintv、土豆那些的都是!串流的模式有P2P、VOD、LIVE跟一堆鬼的...當然不可能為了想吃肉就蓋農場,網路上有很多Server套件可以下載來使用。

現成的串流技術套用有很多,根據環境不同有多種選擇。譬如您可以使用Windows Media Server來滿足最快的需求。公司如果有錢買M$,該IT會非常輕鬆好整合開發。可惜我的工作命不是那種有錢老闆....這不是我要的,繼續探討下一個。

串流技術在Adobe的官方網站上有發表一個叫做Adobe Flash Media Server的玩意簡稱FMS,他是免費的,能允許你給10個人做Live觀看。透過Google Search不難發現很多心得討論早存在。所以網路資源很足,架一台FMS應該不難:

以基本玩Live來說,你得準備以下事項:

1. 一台PC做為FMS的線上影音伺服器,同時安裝FMS 4.5套件
2. 一台PC做為實況機,同時裝上必備Video錄影器材,用視訊頭、攝影機、擷取卡都行 (我都試過),只要PC可偵測出硬體(Driver)裝置使用
3. 這台實況機還要安裝一套Flash Media Live Encoder,將Video in轉為RTMP給FMS

換句話說整個流程是,Video的硬體裝置需要給FMLE偵測到,而FMLE負責將訊號轉換成封包Push給FMS,最後由FMS成立RTMP的頻道給多人觀看(free ony 10)。當然FMLE跟FMS也可以安裝到一台PC共用。我分開安裝是考量FMLE與FMS可以PC多對一來應用

後期註記:
從2012/10開始Flash Media Server(FMS)已更改為Adobe Media Player(AMS),同時所有版本命名有小幅度調整(顛倒重命名),唯獨免費版本的Development已更名為Stater版本,目前版本最新為Adobe Media Player 5



流程步驟


下載FMS前需要註冊Adobe,版本很多請直接下載開發者所用的Flash Media Developer Server 下載 免費版。版本差異性可以參考這裡,以下是官方所提醒的功能限制

感謝您對 Adobe® Flash® Media Server 的興趣。此免費 Development Server 僅供您試用與部署小型解決方案。Adobe Flash Media Development Server 軟體具備 Adobe Flash Media Enterprise Server 4.5 軟體的各項功能,但是只允許同時最多有 10 個 RTMP 連線和 50 個 RTMFP 連線,而且 IP 多點傳播與即時 HTTP 動態串流有時間限制。此版本也支援最多 5 個 SIP 音訊連線。如果您要擴充此 Development Server,請升級至 Flash Media Streaming Server 4.5、Flash Media Interactive Server 4.5 或 Flash Media Enterprise Server 4.5。


安裝FMS還需要在電腦中架設Web Server(Apache),這樣Server才能透過80port的網頁方式進行頻道觀賞。不過4.5版安裝時,已經包含Apache可以一併一鍵到底安裝完成。安裝過程中請牢記Administrator的帳號跟密碼,管理時會用到。

▲安裝時須擁有Apache的Web環境

當安裝完成後,PC裡會有Administrator與Server兩個服務選項可控制開關。直接透過遊覽器輸入該PC的IP網頁即可看到呈現結果與官方示範。

▲打開網址輸入http://localhost/即可看到運作中

登入管理介面時,可以看到整個伺服器的運作狀態與帳戶管理,以及連線服務等等功能,這裡不多做介紹。

再來是安裝FMLE到實況用電腦,到這裡下載Flash Media Live Encoder 3.2。安裝過程也很簡單,基本上下一步到死就對了。準備好VideoIn的器材連接PC,最後打開Flash Media Live Encoder 3.2軟體,密密麻麻的參數值可以參考下圖:

▲參數看個人,得配合VideoIn設備、系統效能、頻寬來考慮最佳

當你準備好Push給FMS時,按下Start就開始實況轉播了,覺得不滿意可以Stop再重試參數。最後當你調整好之後,接下來得去試試看別的地方Live秀能否正常,你可以利用FMS內建的VideoPlayer來測試,將FMS安裝位置的sample/video資料夾完整複製到FMS安裝位置的webroot上去,這樣在網址上直接輸入http://ip/viedoplayer/videoplayer.html即可看到內建的Video播放介面

▲透過FMS的Video播放來顯示網頁,需輸入FMLE所建立的Stream來源

你需將FMLE所指定的Stream位置輸入到這裡,這個RTMP就是串流來源。參考下圖:

▲看到Live畫面就成功了,rtmp也可以用在其他裝置來串流


最後貼一些可以參考的前輩文章 (不過沒啥重點)
http://www.dotblogs.com.tw/benjamin/archive/2009/08/05/9878.aspx
http://www.flashas.net/fms/20090109/3884.html
http://blog.5d.cn/user6/xbzg/200710/443692.html
http://blog.csdn.net/loverszhaokai/article/details/5789031
http://blog.ben.idv.tw/2011/11/fms-stream-live-media-over-http.html

如果真的需要文件參考,官方的資料還比較齊全些 (英文唷~)
http://help.adobe.com/en_US/flashmediaserver/devguide/WSd391de4d9c7bd609-52e437a812a3725dfa0-8000.html
http://help.adobe.com/en_US/flashmediaserver/devguide/WSeb6b7485f9649bf23d103e5512e08f3a338-8000.html


留言

  1. 網誌管理員已經移除這則留言。

    回覆刪除
  2. 請問:
    1.AMS server有一個vod的application 可以直接把content push 到這位置嗎?
    2.AMS 的client數目限制是上傳加收看嗎?

    謝謝回覆

    回覆刪除
    回覆
    1. 抱歉最近忙公事,太晚回

      1. 原測試環境以移除了,沒辦法push給你DEMO看
      2. 上傳無限制,主要是讀取的位置有限free 10。透過後台可以看到讀取來原IP與類型

      刪除
  3. 站長你好!
    我之前也接觸過這樣的東西
    但是我是屬於硬體施工方面的
    不知道站長可否提供你的聯絡方式
    有技術上面的需求合作

    回覆刪除
  4. AMS被我打入冷宮了,它的費用太高

    請看我的個人資料來信給我

    回覆刪除

張貼留言

留言請注意禮節與尊重他人,良好的交流環境需要你我共同維護。

VtigerCRM 相關留言討論,請改至FaceBook社團申請加入使用
https://www.facebook.com/groups/vTigerCRMtoTaiwan/