1. 程式人生 > >6個P2P流媒體開源專案介紹

6個P2P流媒體開源專案介紹

P2P流媒體開源專案介紹 
1. PeerCast 

2002年成立,最早的開源P2P流媒體專案。PeerCast把節點按樹結構組織起來, 每個頻道都是一個樹, 直播源是根節點,父節點只給子節點提供資料。節點離根節點越遠,傳輸時延就越大,所以樹的深度應該儘可能短,但節點有限的上行頻寬限制了節點的寬度。

2. Tribler 

2008年開始的專案,既能實現BT下載,還能播放視訊的點播和直播。最大的特點是完全去中心化的設計,把傳統的Tracker Server的工作分散了每個節點中去。開發語言是Python。

3. GoalBit 
2008年開始。GoalbitSolution公司推出的開源P2P流媒體直播系統。採用網狀結構,節點間傳輸採用TCP協議(基於UPNP)。 
把節點劃分為以下三種: 
- 廣播節點:只提供資料給超級節點 
- 超級節點:負責把資料分發給普通節點 

-

4. PeerStreamer 
2009年開始。是歐洲NAPA WINE P2P-TV專案的開源流媒體引擎。 支援視訊的點播和直播。有高效的P2P演算法, 對網路的適應性好, 針對不同網路情況都能實現較好的播放效果。當然,程式碼比較龐大和複雜。主要特點如下: 
- 支援幾乎所有媒體格式 
- 可配置的組塊演算法 
- 可配置的網路拓撲結構 
- 支援多種流媒體協議(推模式/拉模式/協商) 
- 可配置的資料塊/節點策略 
- 可配置的資料塊/節點策略 
- 支援ALTO(應用層流量優化) 

5. 

2007年開始。 是Mysee公司曾經開源過的P2P流媒體專案。設計目標是支援大規模併發的視訊直播系統。採用ACE+wxWidget的跨平臺開發元件。節點間傳輸採用TCP協議(不支援雙內網傳輸)。 子系統包括以下幾個部分: 
- Capture Server: 獲取直播流。可以從Windows Media Server, Helix Server獲取節目流。支援mmsh,mmst, rtsp 
- Super Peer: 接收Capture Server傳輸來的流,作為P2P網路的源節點,為Client提供資料。 
- Tracker Server: 為Client提供請求資料所在的Super Peer地址及相關的所有Client節點資訊。 

-

6. P2Pcenter 
2008年一個國內團隊發起的開源專案。支援各種格式的視訊點播。節點間傳輸採用UDP,能有效穿越防火牆。用C++開發。架構相對簡單,P2P系統分以下三部分: 
- Tracker Server: 
負責維護頻道資訊,以及節點轉發,以及節點傳輸狀態監控等工作。 
- OrderClient節目釋出客戶端: 
釋出本地視訊資訊, 把視訊內容通過P2P網路分發到其他觀看客戶端。 
- P2PService 接收客戶端: 
在本地構建了http伺服器, 當第三方播放器(vlc, realplayer等)發起播放請求時, 通過p2p網路獲取播放資料, 由http伺服器傳輸給播放器。