藉助計算機軟硬件和半導體芯片技術水平的不斷發展和中國的網絡基礎設施的不斷完善,音視頻逐步向高保真和高清晰發展,國內先進的網絡技術從而獲得了不斷的提升和普及和應用,愈來愈多的企業開始走進了企業信息化、國際化的信息高速公路。人們生活質量的提升和改變給不少信息化企業帶來了無限的機遇與挑戰,愈來愈多的項目也隨之出現,例如:視頻聊天室、網絡遠程教育、在線真人遊戲、企業千人大會等讓身處在異地的人們只須要經過某種傳輸介質就能夠實現「實時、可視、交互」的多媒體通信技術不斷被各行各業所青睞。如何經過有效利用現有的信息資源和網絡資源節約開發成本,爲企業得到更大的經濟效益已經成爲當下衆多企業的一個新的研究課題。 php
音視頻的編解碼主要有如下幾種:html
VBR 動態比特率, 須要容器支持提供音視頻的同步方法算法
CBR 固定比特率服務器
HDRIP: 從新編碼,再次通過壓縮的視頻網絡
REMUX版本:意思是從新封裝,從HD-DVD或者BD理提取音視頻數據,封裝到其餘格式如TS或AVI中。架構
容器框架
AVI:微軟的,成熟老技術。不支持VBR,不支持流媒體,由於索引在文件尾部。分佈式
TS:Transfer stream. ts的每段能夠分別解碼。包有固定長度。適合傳輸介質不穩定的情況。經常使用與電視廣播。支持VBR。BD使用TS流ide
PS:Program stream. DVD和HDDVD使用ps流。後綴爲VOB或EVO等。模塊化
編碼
MOV封裝:QuickTime封裝與AVI是同一個時代的。
MKV封裝:是Matroska的簡稱。一種新的封裝格式,很是開放,支持VBR,提供時間戳來進行音視頻同步。支持流媒體。兼容性強。民間開發,商業支持少。
FLV:針對與h.263編碼家族的格式
rmvb/rm: real video
MP4:主要用於封裝mpeg4.
編碼:
Mpeg1: VCD使用 352x288,低分辨率,壓縮比低
Mpeg2: DVD用和電視廣播。有NTSC(720x480)和PAL(720x576)。壓縮比高於Mpeg1
Mpeg4: 目前使用最多,avi文件始祖。壓縮比提過不少,質量堪比DVD
divx: 基於mpeg4開發,有必定算法優化。
xvid: 在divx技術封鎖後,被人破解開發的。基於mpeg4改進。開放源碼。畫質更好。
h.261: 早期低碼率編碼,用於352x288和176x144,如今不用了
h.263:低碼率下比h261效果好。
h.263+:h263改進
h.264:集中以往有點,高壓縮。與h.263+和mpeg4 sp相比,減小50%比特率,高質量應用等。
rm/rmvb: real公司應用與網絡的高壓縮編碼。rm是CBR,rmvb是VBR。
常見編碼容器組合:
AVI Xvid MP3
AVI Dvix MP3
MKV Xvid MP3
MKV Xvid AAC
MKV H264 AAC
MP4 Xvid mp3
MP4 H264 AAC
3GP H263 AAC
各類編碼最佳碼率:
Real Video: 640x720 350-600 kbps
Xvid: 1024x438 800-1300Kbps
MKV(X264/AVC): 720p 5-6Mbps
H264/VC1:1080p 30Mbps
ITU-T和ISO/IEC-MPEG 兩個數字視頻壓縮領域內的標準化組織
ITU-T 定製H.26x系列
ISO/IEC-MPEG 定製了MPEG系列
H.264或稱MPEG-4/10 是由ITU-T和ISO/IEC-MPEG共同開發的視頻編解碼標準。編碼技術稱爲AVC編碼。所以常稱H.264爲H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)
anychat利用先進的H.264視頻編碼標準、AAC音頻編碼標準與P2P技術。包含了音視頻處理模塊(採集、編解碼)、流媒體管理模塊(丟包重傳、抖動平滑、動態緩衝)、流媒體播放模塊(多路混音、音視頻同步)以及P2P網絡模塊(NAT穿透、UPnP支持、IP組播支持)等多個子模塊,封裝了底層的硬件操做(音視頻採集、播放)、封裝了流媒體處理(編解碼、網絡傳輸)等很是專業和複雜的技術,爲上層應用提供簡單的API控制接口,能夠在極短的開發週期,以及極少的人力資源投入下爲客戶的現有平臺增長音視頻即時通信、多方會議的功能,是一款高質量、寬適應性、分佈式、模塊化的網絡音視頻互動平臺,分爲客戶端SDK和服務器SDK兩大部分,其中客戶端SDK用於實現語音、視頻的交互以及其它客戶端相關的功能,而服務器SDK主要實現業務層邏輯控制,以及與第三方平臺的互聯等。客戶端SDK和服務器SDK均支持C++、C#、WPF、VB.Net以及Delphi等開發語言和框架,AnyChat內核開放CODEC接口,支持集成第三方的音視頻編、解碼器,可實現嵌入式終端設備上的硬件編解碼,採用動態緩衝技術來適應不一樣網絡環境(局域網、企業專網、互聯網、3G網絡),根據不一樣的網絡狀態動態調節相關參數,使得AnyChat SDK在多種網絡環境下均有良好的表現,並特別針對互聯網、3G網絡等應用場合進行優化,爲上層應用提供視頻質量的動態調節接口、音頻質量的動態調節接口。
AnyChat SDK能夠做爲在線遊戲的音視頻引擎,也能夠做爲視頻會議、網絡教育、IM系統、網絡視頻聊天系統等互動平臺的核心庫,還能夠應用於政府應急指揮平臺、專家遠程協商平臺等專用系統。AnyChat音視頻互動開發平臺目前已普遍應用於在線視頻遊戲、網站視頻聊天、企業視頻會議、軍隊遠程指揮、政府應急指揮平臺、數字電視、數學家庭等領域。
AnyChat支持跨平臺的應用,服務器支持Windows、Linux、Unix等全部主流服務器操做系統,客戶端目前支持Windows、Linux(x8六、ARM)、Android以及iOS(iPhone、iPad)平臺等,目前正在研發Win Phone8等平臺。AnyChat的跨平臺特性,爲客戶提供了廣闊的應用空間,如實現Windows桌面用戶的語音視頻交互的同時,還能夠定製嵌入式硬件解決方案,實現嵌入式硬件與Windows桌面應用的互聯互通,在部隊遠程指揮、政府應急系統、數字化家庭、移動視頻監控、專家諮詢、在線客服、呼叫中心以及移動音視頻採集等領域有普遍的應用空間。
視頻技術AnyChat採用國際領先的視頻編碼標準H.264(MPEG-4 part 10 AVC /H.264)編碼,H.264/AVC 在壓縮效率方面有着特殊的表現,通常狀況下達到 MPEG-2 及 MPEG-4 簡化類壓縮效率的大約 2 倍。H.264具備許多與舊標準不一樣的新功能,它們一塊兒實現了編碼效率的提升。特別是在幀內預測與編碼、幀間預測與編碼、可變矢量塊大小、四分之一像素運動估計、多參考幀預測、自適應環路去塊濾波器、整數變換、量化與變換系數掃描、熵編碼、加權預測等實現上都有其獨特的考慮。佰銳科技採用先進去馬賽克技術,保障在視頻通信過程當中不出現花屏、馬賽克等現象。
音頻技術AnyChat採用先進的AAC(Advanced Audio Coding)語音編碼體系,AAC是 MPEG1/2 Audio 的下一代有損音頻編碼, 而且是 MPEG-4 使用的音頻編碼,AAC採用了感知子帶技術(perceptual sub-band technology),與MP3等其它編碼器相比,AAC編碼器很大程度地改善了數據壓縮率和聲音品質。全面支持靜音檢測(VAD)、噪音抑制(NS)、自動增益(AGC)以及迴音消除(AEC)等音效處理,極大提升用戶體驗。
AnyChat針對可不通過服務器中轉的音視頻應用,採用了P2P通訊技術,該技術的核心在於防火牆的穿越。使用P2P通訊技術,能夠大大的減輕系統服務器的負荷,併成幾何倍數的擴大系統的容量,且並不會由於在線用戶數太多而致使服務器的網絡阻塞。支持UPNP協議,自動搜索網絡中的UPNP設備,主動打開端口映射,提升P2P通訊效率。
AnyChat服務器模塊採用完成端口實現高性能的系統架構,採用重疊I/O機制,經過線程池和緩衝池的管理,極高的優化了系統結構,提升了系統的性能。特別是在多CPU的服務器上,AnyChat服務器更能發揮服務器多處理器的優點。