摘要:實時通訊系統是最近互聯網應用的一個新領域。現在的問題是,開發一個優秀的系統需要具備哪些技術儲備呢先看終端方面。各個平臺,,,底層音頻系統也需要深入了解。互聯網不是一個可靠的實時音視頻傳輸網絡。現在我們知道開發一個系統需要什么技術了。
RTC(real time communication)實時通訊系統是最近互聯網應用的一個新領域。RTC系統的應用極其廣泛,我們常見的視頻電話,會議系統,遠程桌面與控制都是RTC系統的一個應用。在移動互聯網飛速發展的今天,各種應用都渴望加入RTC的功能,實現用戶與企業,用戶與用戶之間的音視頻交流。于是問題出現了,開發一個RTC系統需要什么技術儲備?
有人說只需要懂javascript就可以了。WebRTC的出現極大的降低了RTC的開發門檻。只需要編寫javascript代碼就可以實現瀏覽器之間的音視頻通話。且不論通話質量,瀏覽器的兼容性,網絡穿透能力,那些不使用HTML的原生APP怎么辦?
又有人提出WebRTC也支持Native開發,只要有懂C++和相關應用平臺(Android,iOS,Windows,Mac)開發的軟件工程師就可以了。WebRTC確實可以在這些平臺上開發原生的應用。將WebRTC編譯打包后嵌入APP可以實現RTC的功能,就是說能通了。但一個合格的RTC系統僅僅是能通就可以了嗎?
以音視頻通話為例,用戶期望的RTC應用應該是:通話不卡不掉低延時,聲音清晰真實無回聲,畫面流暢清晰無卡頓。如果直接采用上面WebRTC集成,我們很容易發現,在大多數情況下,通話并不像原來想象的那樣完美。由于網絡的原因,通話斷斷續續,延時很大。由于終端的適配不好,語音通話回聲嚴重,噪聲嚴重影響體驗。視頻不清楚,不流暢。
RTC系統的每一個部分都需要優化,需要打磨,才能打造出完美的用戶體驗。現在的問題是,開發一個優秀的RTC系統需要具備哪些技術儲備呢?
先看終端方面。解決語音通話的問題,首先需要有合適的語音編解碼器,然后需要調整音頻處理模塊的算法。這里面內容比較廣,有噪聲消除,回聲抑制,自動增益。比較前沿的還有多麥克風降噪,盲擴增強等等。總之這些都需要算法的儲備,涉及語音信號處理、統計信號處理等方面的內容。有了算法還不夠,還需要有好的實現。各個平臺(Android,iOS,Windows,Mac)底層音頻系統也需要深入了解。有時候算法挺好的,但有些機器先天不足,比較特別,需要特殊處理。這需要投入許多人力物力對各種型號的硬件做適配。優秀的系統可能需要適配幾百上千個不同的設備。
同樣的,對于視頻,我們需要對視頻編解碼器有深入的了解。這樣才能用最低的碼率展示清晰的視頻畫面。視頻的前后處理,比如降噪,增強(包括流行的美顏)也少不了。這就需要圖像與視頻信號處理。視頻數據量比較大,對底層視頻設備也需要深入研究。適配也少不了。
說完了終端,再說說網絡。網絡抗丟包是必備選項。互聯網不是一個可靠的實時音視頻傳輸網絡。在不可靠的網絡中實現可靠的音視頻傳輸考驗系統設計的能力。這里既有信道編碼的理論也有網絡對抗的實際經驗。
如果要實現可靠的云服務,遍布全球的服務器網絡也必不可少。高可用性,負載均衡等等。。。
現在我們知道開發一個RTC系統需要什么技術了。這個系統涉及到幾乎所有的網絡與音視頻處理的理論與實踐。
作者簡介:
鄭仲侯 聲網Agora.io音視頻構架師
碩士畢業于上海交通大學電子工程系,信號處理專業。先后在National Instruments,SRS,DTS工作十余年。專注信號處理算法與實踐,加入Agora后從事音視頻引擎的開發,持有雙麥降噪專利。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11019.html
摘要:特別是內存,它將強烈的影響區塊鏈的運行速度,過小會造成區塊鏈網絡的嚴重擁堵。伴隨著區塊鏈對當今社會的逐步滲透,當達到一定的臨界點之后,這種影響將會是驚人的,我們拭目以待。 作者介紹:張其中,中科院碩士,連續創業者,樂家app創始人,花貓快問聯合創始人,鏈寶科技聯合創始人,關注EOS公鏈生態發展,致力于基于EOS的DAPP應用實踐與產品研究。 最近EOS又刷眼球了。讓EOS刷眼球的是EO...
閱讀 3398·2021-10-11 11:06
閱讀 2181·2019-08-29 11:10
閱讀 1944·2019-08-26 18:18
閱讀 3254·2019-08-26 13:34
閱讀 1559·2019-08-23 16:45
閱讀 1037·2019-08-23 16:29
閱讀 2796·2019-08-23 13:11
閱讀 3226·2019-08-23 12:58