馬克辛
【摘要】 近年來,隨著寬帶網的飛速發展,IPTV、移動3G、高清電視等新技術給廣播電視帶來機遇和挑戰,廣播電臺做為傳統媒體一直是以調頻發射手段來傳播節目,由于覆蓋范圍受限等技術缺陷,很多廣播電臺著力發展網絡視音頻廣播,以此拓展廣播的收聽范疇。流媒體在語音及視頻互動方面的優勢越受到廣播人關注,其中基于P2P網絡結構的流媒體技術成為當前一大熱點。流媒體能很好的改善網絡的帶寬利用效率,提高終端連接數,進一步整合和利用網絡資源。
P2P技術采用完全分布式結構,該技術弱化了服務器的作用,網絡中的節點既可以獲取其他節點的資源或服務,同時又是資源或服務的提供者。本文針對提高用戶收聽收看質量的需求與降低骨干網帶寬消耗的矛盾,介紹P2P技術的特點、網絡電臺的P2P模型,比較傳統網絡的不足,設計并應用基于P2P流媒體直播系統的實例。
【關鍵詞】 電臺傳統直播系統 P2P 流媒體 客戶機/服務器模式(C/S模式)
廣播電臺做為傳統媒體一直是以調頻發射手段傳播節目,具有“迅速、廉價、方便、移動收聽”等傳播優點,由于覆蓋范圍受限,欠缺互動性等不足,現在很多電臺著力發展網站和網絡廣播,以延伸廣播的收聽范疇,增加影響力。
目前,通過互聯網站搭建網絡直播和點播系統已是常態 ,但是受限于客戶機/服務器(C/S模式)這種傳統網絡模式的限制 ,一臺服務器只能支持有限個在線用戶,網絡接入能力不足制約了網絡電臺的發展。如果在C/S模式下要解決大規模用戶,甚至上萬用戶同時在線收聽收看的問題,不僅需要大量服務器 ,還需要極大的帶寬保證。現階段,客戶機/服務器模式無法支持較大規模的網絡電臺運行,基于此帶出P2P模式。
一.流媒體與P2P技術概述
流媒體技術簡單來說就是一種邊下載邊播放的實時流技術,與傳統的下載技術比較,它可以為用戶提供實時播放體驗。但由于它的數據仍然是從一個固定的服務器上下載。因此,它的流暢程度還是會受到服務器及帶寬的限制。隨著用戶數量的增加,在一個臨界點上,播放體驗會快速下滑,且影響到所有的在線用戶。通過增加冗余服務器可以在一定程度上緩解這個問題,但不是根本的解決辦法。
P2P是英文Peer-to-Peer(對等)的簡稱,又被稱為“點對點”、“對等”技術,是一種網絡新技術,依賴網絡中參與者的計算能力和帶寬,而不是純粹依賴于少量的幾臺服務器。P2P還是英文Point to Point(點對點)的簡稱。它是下載術語,意思是在你自己下載的同時,自己的電腦還要繼續做主機上傳,這種下載方式,人越多速度越快。比如A和B都想在C上下載一個文件,此時,A和B都會對C發出連接,C把文件的一部分發送給A,另一部分發送到B,當A和B都接受了不同的兩部分,此時A和B就會互相鏈接,互相交換自己需要的另一部分,這個過程中,A和B就是完全對等的,不存在服務器和用戶的概念,這就是一個P2P網絡,如果這個網絡擴展開,不單單局限于A和B,那么每人都可能是資源發布者也是資源下載者。
P2P讓原來彼此獨立的參與者聯系起來,通過網絡實現實時交互,數據共享。并且是直接的,不經過資源服務器。而不是像過去那樣連接到服務器去瀏覽與下載。因此,P2P流媒體與傳統的流媒體區別在于沒有集中的中央流媒體服務器,任一節點都可作為種子節點進行廣播,每個節點在作為客服端(Client)從別的節點接收媒體數據進行播放的同時,也是作為流媒體服務器(Server)向其它節點提供服務,其服務質量隨著整個網絡節點數目的增加而提高。
P2P比較傳統的客戶機/服務器(C/S)模式只靠單一服務器提供數據下載,其核心概念就是:網絡中的每個節點都是對等的。每個節點既是服務器,同時也是受眾終端。P2P與C/S模式的對比如下圖1所示:
二.P2P直播系統工作模式
P2P直播系統采用類似于Bittorrent(比特流)的工作方式,系統結構如圖2所示。這是一種基于目錄的服務模型,在一個網絡系統中,少量的目錄就可以為數量眾多的對等節點服務。對等點向目錄服務注冊關于自身的信息(名稱,地址,資源和元數據),并通過目錄服務器中信息的查詢。目錄服務器負責接收用戶的加入請求、節點管理、讀取視頻流數據并分發這些數據。具體可以劃分成三個功能模塊:節點管理器、媒體生成器和分發器。節點管理器負責管理所有加入的節點信息,當有節點加入時,必須向節點管理器提出申請,只有通過驗證才能加入直播系統。
(1)節點N給主節點S(目錄服務器)發送請求。
(2)S收到節點N的請求之后,判斷自己的直接子節點數是否已經達到上限。
(3)如果沒有達到上限,則將節點N作為自己的直接子節點。
(4)如果直接子節點已經達到上限,則通過節點管理器來查詢哪個節點最少,然后將節點的地址端口號發送給它的相應直接子節點。
(5)該節點通過自己的伙伴管理器,判斷節點N是否可以作為自己的直接子節點。
(6)如果可以,則將節點N作為直接子節點并建立連接。
(7)如果不可以,則將節點N的請求向子節點數最少的分支轉發,依次類推,直到節點與某個子節點建立連接。
(8)節點N被某個節點接收后,向服務器S發送消息,服務器記錄下節點N 在網絡中的信息。
媒體生成器則類似于微軟的MEDIA ENCODER軟件,是一個實時的視頻源,包括視音頻采集卡和編碼軟件。它負責按照媒體數據緩沖區中要求的數據量讀取ASF文件數據,組裝成流媒體數據包傳送給媒體數據緩沖區。分發器負責從ASF流中獲取數據,并向其直接的子節點進行傳輸。
三.實例:構建廣東電臺城市之聲頻道P2P網絡直播系統
下面以筆者所在單位廣東電臺城市之聲頻道為實例,介紹本臺P2P網絡直播系統的具體設計及應用,系統架構圖如下圖3:
1.直播室構建
A.利用DJ端電腦進行直播
節目主持人(DJ)的聲音通過話筒、調音臺等音頻設備混音后,輸出到PC機(安裝DJ端軟件),編碼調制成數據流,經局域網登陸流媒體服務器發布平臺,光纖接入互聯網再通過電臺網站服務器集群發布出去。
B.多套節目同時轉播
采用用多臺電腦安裝多張聲卡,連接多個節目源。然后采用虛擬機技術,每個虛擬機增加一個聲卡,然后運行發布端軟件,實現多套廣播電臺同時在線播出效果。
2.網絡及傳輸部分
共分為三個部分:視頻采集編碼(Media encoder)、安裝有P2P節點管理的服務器(CSLive SERVICE 2.0)、客戶端(peer)。下面分別作出說明:
視頻采集編碼部分可以采用常用的編碼軟件。比如Media encoder 9,由它為P2P服務器提供一個視頻源。采集卡的選擇可選用常見的OPPREY采集卡。在設置時,需要注意將Media encoder 9設置為“自編碼器拉傳遞”,使P2P服務器可以以mms://ip:port的方式獲取到視頻數據。具體設置步驟簡單易懂不再累述,可以自行嘗試。
P2P流媒體服務器發布平臺選用的是CSLive SERVICE 2.0定制版本,該軟件可以和Media encoder9完全兼容。功能上集媒體生成器、節點管理器(目錄服務)、分發器和播放器等所有P2P的組件于一體。具備了功能比較完善、界面簡潔易掌握、安全性高、穩定性好等優點。部分設置如上圖4:
1.在工具菜單中打開其“服務器管理”功能。即啟用本機作為一個P2P網絡中的節點管理服務器。并在IP地址欄中輸入本機的IP地址。然后在服務器選項卡中將剛才啟用的“目錄服務器”添加進服務器數據庫中,這樣就在網絡上生成了一個P2P管理服務器。下面我們還需要為他添加一個直播的節目源。
2.在其頻道選項卡中單擊添加按鈕,為P2P服務器定義一個節目的來源。具體參數可以參考設置Media encoder9時得到的mms://ip:port地址。這里需要注意的是服務器一欄必須填入在“目錄服務”中定義的IP地址,這樣發布的視頻才能被節點管理器和分發器所獲取并發布出去。節目版塊生成后即可添加音頻文件并生成播出節目單,具體參考圖5。
3.當自定義的頻道開始運行后,既可以單擊頻道的“發布代碼”選項卡獲取由系統自動生成的該節目的P2P公告地址了。具體格式可以參考http://P2PserverIP/tv/?k=。通過這個地址客戶端就可以收看實時的視頻直播了。
對于客戶端CSLive service2.0提供了兩種播放方式。一種是使用客戶端軟件直接播放。另外一種是將發布代碼嵌入網頁瀏覽器的方式進行播放。對于網頁嵌入代碼方式,須在網頁中內嵌以下代碼:
“URL”的值就是節目的公告地址了,CODEBASE中定義的是CSLive網頁播放插件的下載地址,第一次播放時會自動從這個地址下載插件,以后不需要了。
四.應用及效果
P2P流媒體服務器最大優點就是盡最大可能節省直播帶寬,而又能最大程度保證用戶的收聽收看質量。每個受眾從其它用戶那里通過P2P方式取得音頻視頻數據流,大大減少來自媒體服務器的負擔,最大可能節省直播端直播帶寬。經實踐并應用后感覺系統比較穩定,音頻開始緩沖時間基本控制在10秒內,視頻播出清晰流暢,極少出現中斷現象,而在線收聽受眾數量明顯增加了很多。
以下表格參考數據按256kb/s【以音頻最大傳輸值為參考】直播碼流計算:
五.P2P流媒體直播系統的安全管理
由于P2P技術具有自由性、分布性、匿名性等特點,使P2P網絡的各對等體可自由的接入網絡,那么P2P應用可能長時間地連續運行,導致網絡管理人員無法對網絡使用的高峰期和空閑期作出準確的預測和網絡性能評估,不能在網絡使用高峰期到來之前提前作好網絡管理和維護的準備工作,讓網絡管理變得復雜與困難。
目前解決主要方法有:
(1)通過端口識別、協議特征碼識別、深度包檢測技術識別和流傳輸特征識別技術等進行流量識別。
(2)利用流量計時、流量計費、限制最大連接數和TCP/UDP端口過濾等手段進行流量控制。
(3)通過對P2P應用的服務器的IP進行網址過濾,禁止某些不良IP地址,以達到對惡意P2P應用的限制,利用專家數據庫技術等手段垃圾信息的困擾,以便更容易識別病毒、木馬程序,減少惡意程序在網絡中的傳播。
六.小結
廣東電臺城市之聲網絡直播系統從構建運行至今已經超過1年了,期間多次參與重大節目的直播,效果明顯,確保安全播出,得到領導和同行的認可。同時我們還根據不同聽眾的需求開播了多套定制節目,受到聽眾的歡迎,擴大收聽層面。實踐驗證了采用P2P流媒體技術的直播系統可以大大地提高播出效率和線路容量,使在線數量從原來傳統模式的200人(碼率200Kb/s)左右直線上升到千人(碼率400Kb/s)以上,今后還有上升的潛力。總之,在競爭如此激烈的媒體業界,流媒體技術將成為廣播電視實現過渡到全媒體的重要手段之一。