RTMFP是什麼鬼?

做直播的朋友相信對RTMP都非常瞭解,那說起RTMP直播那什麼推流、拉流、RTMP服務器搭建嗖嗖從腦海中飄過,但是今天的主題是要說說這個RTMFP,他到底是什麼鬼請容我一一道來。

    爲啥提到RTMFP,主要是公司在做直播連麥(連線)的功能初期,尋找解決方案的時候不經意之間搜到他,研究的一段時間後選擇放棄,中間走過曲折的路就當是歷史的記憶,現在需要將他保存下來,防止後人再走之前的老路。

    RTMFP是Adobe公司開發的一套新的通信協議,全稱Real Time Media Flow Protocol, 該協議可以讓使用Adobe Flash Player的終端用戶之間進行直接通信。用Adobe AIR框架開發的程序也可以用此協議來發布直播、實時信息,RTMFP是基於UDP協議的解決方案。

    通過使用RTMFP, 那些依賴直播、實時通信的應用,比如社區、音視頻聊天和多人遊戲就有能力來發布高質量的通信解決方案。RTMFP讓終端用戶可以直接連接並通信,可以使用麥克風和攝象頭直接聊天。RTMFP將不支持文件和文檔共享。此方案提升了目前Flash Player在網絡交互方面的體驗。

    RTMFP將減少直播、實時聊天方案的帶寬消耗,例如音視頻聊天和多人遊戲。因爲RTMFP的數據在終端用戶之間流動,而不是和服務器,所以此方案很適合於大範圍的部署。RTMFP因爲採用了UDP也提升了傳送的速度。UDP是Internet上一種更有效傳送音頻視頻的方法,雖然會有一些丟包,錯包。RTMFP有兩個特性可以幫助解決一些連接錯誤。

    快速連接恢復:連接在意外情況下將快速恢復。例如,一個無線連接掉線了,一旦重連,他將迅速擁有所有的傳送能力。

    IP動態化:一個活動的網絡會話將以PEER來標識,即使他變了一個IP,也可以保持原來的會話。例如,一個筆記本在一個無線網絡獲得了一個新IP地址,他將立刻繼續剛纔的會話。

    RTMP和RTMFP之間的不同

    最基本的確實是他們在網絡上採用的協議。RTMFP是基於UDP的,RTMP是基於TCP的。UDP在傳送直播數據方面比TCP還是有較多優勢的,比如減少延時,對丟包的容忍,雖然在可靠性上有所損失。不象RTMP, RTMFP支持Flash Player直接發送數據給另一個,而不經過Server。服務端連接將被用來初始化並交互一些客戶端之間的信息,也可用來進行服務端調用或者作爲進入其他系統的網關。FMS也將用來爲用戶提供地址認證服務和NAT地址轉換服務,避免用戶陷入混亂。

    Adobe提供的Cirrus(Stratus)超級節點服務,以幫助獨立的Flash Player節點登錄獲得P2P迭代網(overlay)的ID,協助穿透防火牆等。用戶可以另外構建單獨的Tracker服務幫助篩選節點,或者直接使用RTMFP的group服務,採用組播方式進行數據分享。

    以上主要來源於BaiDu,從這些信息中我們可以瞭解到RTMFP的初衷是要解決RTMP延時高的問題,採用RTMFP可以提高直播的實時性,在視頻互動直播中應該有他的一席之地,但是就目前市場上來看採用RTMFP協議的方案非常至少,甚至可以說除了Adobe自己其他公司很少玩這一套解決方案,分析其主要原因歸類如下:

    一,Adobe不咋玩開源,而且RTMFP的協議也比較複雜,自己想搞一套RTMFP的協議棧那得廢老勁了 :(

    二,實時通訊的可替代方案很多很多,基於UDP的實時通訊網絡上到處都是,標準的私有的、開源的閉源的比比皆是,爲毛還要搞RTMFP呢?

    三,還是Adobe自己,Adobe自己弄了一套這個協議又不咋推廣,鬼才鳥你!!!

   

    QQ交流羣:580477436

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