1. 程式人生 > >即時通訊開發平臺AnyChat

即時通訊開發平臺AnyChat

AnyChat開發平臺

  Anychat(AnyChat即時通訊開發平臺)是一套跨平臺的(*)即時通訊解決方案,基於先進的H.264視訊編碼標準、AAC音訊編碼標準與P2P技術,支援高清視訊,整合了佰銳科技在音視訊編碼、多媒體通訊領域領先的開發技術和豐富的產品經驗而設計的高質量、寬適應性、分散式、模組化的網路音視訊互動平臺。   AnyChat即時通訊開發平臺(SDK)包含了音視訊處理模組(採集、編解碼)、流媒體管理模組(丟包重傳、抖動平滑、動態緩衝)、流媒體播放模組(多路混音、音視訊同步)以及P2P網路模組(NAT穿透、UPnP支援、IP組播支援)等多個子模組,封裝了底層的硬體操作(音視訊採集、播放)、封裝了流媒體處理(編解碼、網路傳輸)等非常專業和複雜的技術,為上層應用提供簡單的API控制介面,可以在極短的開發週期,以及極少的人力資源投入下為客戶的現有平臺增加音視訊即時通訊、多方會議的功能。   AnyChat SDK分為客戶端SDK和伺服器SDK兩大部分,其中客戶端SDK用於實現語音、視訊的互動以及其它客戶端相關的功能,而伺服器SDK主要實現業務層邏輯控制,以及與第三方平臺的互聯等。客戶端SDK和伺服器SDK均支援C++、C#以及Delphi等開發語言和框架。   AnyChat核心開放CODEC介面,支援整合第三方的音視訊編、解碼器,可實現嵌入式終端裝置上的硬體編解碼,參考:259. AnyChat整合第三方編解碼器   通過AnyChat音視訊互動開發平臺(SDK),可以開發具有企業特色的即時通訊系統、視訊遊戲系統、視訊會議系統、網路教學系統以及線上客服系統等,系統的功能、介面完全由企業定製,底層通訊協議加密傳輸,多重安全防護,保密性強。   AnyChat SDK採用動態緩衝技術來適應不同網路環境(區域網、企業專網、網際網路、3G網路),根據不同的網路狀態動態調節相關引數,使得AnyChat SDK在多種網路環境下均有良好的表現,並特別針對網際網路、3G網路等應用場合進行優化,為上層應用提供視訊質量的動態調節介面、音訊質量的動態調節介面。   AnyChat SDK可以作為線上遊戲的音視訊引擎,也可以作為視訊會議、網路教育、IM系統、網路視訊聊天系統等互動平臺的核心庫,還可以應用於政府應急指揮平臺、專家遠端協商平臺等專用系統。AnyChat音視訊互動開發平臺目前已廣泛應用於線上視訊遊戲、網站視訊聊天、企業視訊會議、軍隊遠端指揮、政府應急指揮平臺、數字電視、數學家庭等領域。[1]

AnyChat平臺的用途

  AnyChat SDK是一套多媒體即時通訊平臺庫,大部分需要用到音視訊互動的系統都可以採用AnyChat SDK來開發。AnyChat SDK內部封裝了音視訊的採集、編碼、傳輸、解碼以及播放(顯示)功能,只需要幾個簡單的API呼叫,即可實現多個使用者之間的語音、視訊、文字互動,由於核心已經實現了P2P網路,所以上層應用不需要關心複雜的網路傳輸問題,簡化了上層應用的開發難度,上層應用的開發人員可以把更多的精力投入到業務流程、使用者體驗等方面,實現應用系統的快速開發。   目前已經採用AnyChat SDK實現的應用系統有:   線上真人視訊遊戲平臺:將AnyChat SDK做為底層的視訊引擎,實現打牌的玩家之間可以互相看到視訊,可以互相語音聊天,為遊戲提供了玩家面對面交流的空間,增強了遊戲的使用者真實感。   視訊會議系統:利用AnyChat SDK出色的音、視訊表現,為其單機裝置提供聯網功能,並實現線上視訊會議的功能,可以實現不同的裝置之間互相音視訊交流。   遠端教育系統:實現老師與學生之間,以及學生與學生之間的音視訊交流。在上課模式下,學生可以看老師的視訊、PPT,聽老師的講解,在討論模式下,可以多個學生同時發言,就熱點問題展開討論。   線上視訊聊天系統:利用AnyChat SDK的語音、視訊功能和P2P網路功能,實現同一個房間內,同時多路視訊、多路語音的聊天室,降低對伺服器的頻寬倚賴。   線上視訊直播平臺:整個網站有多個主播,每個主播向一個頻道內的使用者進行廣播,使用者可以看到當前頻道內的主播視訊,並聽到其聲音,主播可以與頻道內的多個使用者進行私聊。   部隊遠端指揮系統:利用AnyChat SDK提供的視訊互動功能,在部隊遠端指揮系統中實現多個指揮中心在同一大螢幕上同時投影,各指揮中心之間可互相看到對方的實時視訊。   即時通訊平臺:利用AnyChat出色的語音技術,包括迴音消除(AEC)、噪音抑制(NS)、自動增益控制(AGC)、靜音檢測(VAD)等,實現使用者之間的超級語音通話與視訊互動。[1]

平臺所涉及的技術

  1、視訊處理技術:視訊採集、編碼、傳輸、解碼及顯示;   2、音訊處理技術:音訊採集、編碼、傳輸、解碼及顯示;   3、音訊預處理技術:靜音檢測(VAD)、噪音抑制(NS)、自動增益控制(AGC)以及迴音消除(AEC)等;   4、流媒體傳輸技術:音訊抖動緩衝(Jitter Buffer)、視訊馬賽克消除(MS);   5、P2P網路技術:UDP NAT、TCP NAT、P2P多徑路由演算法(MPA);   6、伺服器併發處理技術。

平臺的核心競爭力

  1、產品跨平臺 AnyChat支援跨平臺的應用,伺服器支援Windows、Linux、Unix等所有主流伺服器作業系統,客戶端目前支援Windows、桌面Linux、嵌入式Linux以及Windows Mobile平臺,客戶端遠期將支援Android、Symbian以及iPhone等系統平臺。AnyChat的跨平臺特性,為客戶提供了廣闊的應用空間,如實現Windows桌面使用者的語音視訊互動的同時,還可以定製嵌入式硬體解決方案,實現嵌入式硬體與Windows桌面應用的互聯互通,在部隊遠端指揮、政府應急系統、數字化家庭、移動視訊監控以及移動音視訊採集等領域有廣泛的應用空間。    2、視訊技術 AnyChat採用國際領先的視訊編碼標準H.264(MPEG-4 part 10 AVC /H.264)編碼,H.264/AVC 在壓縮效率方面有著特殊的表現,一般情況下達到MPEG-2 及MPEG-4 簡化類壓縮效率的大約2 倍。H.264具有許多與舊標準不同的新功能,它們一起實現了編碼效率的提高。特別是在幀內預測與編碼、幀間預測與編碼、可變向量塊大小、四分之一畫素運動估計、多參考幀預測、自適應環路去塊濾波器、整數變換、量化與變換系數掃描、熵編碼、加權預測等實現上都有其獨特的考慮。 佰銳科技採用先進去馬賽克技術,保障在視訊通訊過程中不出現花屏、馬賽克等現象。   3、音訊技術 AnyChat採用先進的AAC(Advanced Audio Coding)語音編碼體系,AAC是MPEG1/2 Audio 的下一代有損音訊編碼, 並且是MPEG-4 使用的音訊編碼,AAC採用了感知子帶技術(perceptual sub-band technology),與MP3等其它編碼器相比,AAC編碼器很大程度地改善了資料壓縮率和聲音品質。全面支援靜音檢測(VAD)、噪音抑制(NS)、自動增益(AGC)以及迴音消除(AEC)等音效處理,極大提高使用者體驗。    4、P2P技術 AnyChat針對可不經過伺服器中轉的音視訊應用,採用了P2P通訊技術,該技術的核心在於防火牆的穿越。使用P2P通訊技術,可以大大的減輕系統伺服器的負荷,併成幾何倍數的擴大系統的容量,且並不會因為線上使用者數太多而導致伺服器的網路阻塞。 支援UPNP協議,自動搜尋網路中的UPNP裝置,主動開啟埠對映,提高P2P通訊效率。   5、高效能網路核心 AnyChat伺服器模組採用完成埠實現高效能的系統架構,採用重疊I/O機制,通過執行緒池和緩衝池的管理,極高的優化了系統結構,提高了系統的效能。特別是在多CPU的伺服器上,AnyChat伺服器更能發揮伺服器多處理器的優勢。   AnyChat採用佰銳科技擁有自主智慧財產權的“MultiPath”P2P網路路由演算法,將伺服器上的使用者組成一個P2P互通的網路,流媒體資料在使用者之間傳遞,減少對伺服器的網路頻寬佔用,實現了一個高效能P2P網路核心。   傳統的P2P網路應用(如P2P線上影院)所採用的演算法需要長時間(如30秒,或更長)的緩衝,不適合即時通訊領域所要求的低延遲的目標,“MultiPath”P2P網路路由演算法便是針對即時通訊領域專門設計的P2P網路演算法,它保留了P2P網路原有的網路頻寬優勢,同時又極大的降低了中間的緩衝時間。    6、開放的介面 AnyChat SDK分為客戶端SDK和伺服器SDK兩大部分,其中客戶端用於實現語音、視訊的互動以及其它客戶端相關的功能,而伺服器SDK主要實現業務層邏輯控制,以及與第三方平臺的互聯等。AnyChat SDK採用模組化技術體系,良好的平臺相容性與可擴充套件性,豐富的API函式,為上層應用提供了開放的應用介面。