大話WebRTC的前世此生

音視頻的歷史

音視頻能夠說是人類與生俱來的需求,人一出生就要用耳朵聽,用眼睛看。中國的古代神話中爲此還專門設置了兩位神仙(千里眼和順風耳),他們能夠聽到或看到千里以外的聲音或景像。瀏覽器

爲了解決聽的遠和看的遠的問題,科學家們孜孜不倦一直在爲此探索。1876年,貝爾發明了電話,令人們真的能夠聽到了千里以外的聲音,所以掀起了一場技術革命。性能優化

對於中國來講,電話的使用也並不晚:服務器

  • 1882年,我國第一部磁石電話交換機在上海開通
  • 1904年,北京的第一個官辦電話局在東單二條衚衕開通,當時是100門人工交換機。
  • 1960年,我國自行研製的第一套1000門縱橫制自動電話交換機在上海吳淞局開通使用。

不過,中國真正走上快車軌的時間是80年代中後期,大量的中國通訊設備製造企業如雨後春筍通常涌現。華爲、中興都是從這一時間開始起步的。網絡

而從固定話到移動電話,從模似信號到數據信號,從1G發展到如今的3G、4G,音頻技術的的發展和利用改變了人們的生活。架構

移動互聯網

2007年第一部iphone手機的出現,以及 2008 年中國 3G 的正式開通,宣告了中國移動互聯網的到來。今後科技發展之迅猛徹底超出了人們的想像,你們應當都能感同身受。框架

如今爲了搶佔技術先機,各個國家已經開始大力發展 5G,在將來的一兩年內,5G將會被快速應用於人們的平常生活。5G的出現會更加激發人們對音視頻的需求。iphone

從第一部電話的出現到如今已經有 100多年的歷史了,聲音的問題解決了,人們開始憧憬着千里眼的實現。但視頻遠比音頻要複雜的多,首先要解決圖像壓縮技術,從單個圖片的壓縮PNG, JPEG到連續幀的壓縮 MPEG2,H264 /VP8壓縮率愈來愈高,直到如今的 H265/VP9,甚至很快就要推出的AV1, 技術的演進速度也愈來愈快。性能

即便這樣,光靠壓縮技術想實現千里眼仍是困難重重,因此人們想到要提高網絡帶寬。光纖的發明從技術上解決了網絡帶寬的提高問題。 3G、4G、5G的發展使得移動端也能夠從以前的鄉間小路變成了高速公路。學習

隨着壓縮技術的解決以及帶寬的快速提高,千里眼已經不在是神話了。1996年 WebEx的建立以及其推出的音視頻會議產品是一個很是大的標誌。今後,千里眼和順風耳合爲一體。像咱們如今的各類娛樂直播以及在線教育的實時互動直播都是在此以後才如雨後春筍般的出現。優化

回看歷史,音頻技術的突破及應用,開啓了移動互聯網的浪潮。而視頻技術的突破相信在不久的未來,也必然要開啓另外一個技術浪潮。

壓縮技術解決了,高速公路建成了,還缺什麼呢?

WebRTC

壓縮技術解決了,高速公路建成了,也能夠進行遠程音視頻了,但過去開發這樣一種產品價格卻十分昂貴。而Google幫咱們解決了這個問題,2011 年Google花了 6000萬美金收購 GIPS 公司(GIPS公司也是一家從事音視頻實時互動引擎開發的公司,其在音頻編解碼,網絡傳輸方面多年的技術積累和很是大技術的優點),並將其技術從新組織,開源成爲如今的 WebRTC。

WebRTC的願景是可讓瀏覽器間快速、方便的實現端到端的實時音視頻互動。隨着這幾年WebRTC技術的演進,以及WebRTC 1.0規範的推出,在瀏覽器間進行實時音視頻互動已成爲可能。

即使如此,要想在瀏覽器中開發了這樣一款產品也並不是易事兒。由於 WebRTC 涉及到媒體能力協商、網絡傳輸,各類協議等一系列專業知識, 這增長了人們學習和撐握 WebRTC的成本。因此市場上急需一門詳細講解WebRTC原理及應用的課程。

另外一方面,WebRTC不只能夠用在瀏覽器之間進行音視頻互動,它還能夠應用在很是的普遍的產品上,如P2P傳輸,文本聊天,文件傳輸、遊戲、多人實時互動、音頻處理(迴音消除、降噪)等等各類各樣的應用中,甚至人工智能軟件上。

隨着 5G的推出,將會產生更多現象級的應用。在這些應用中,只要是處理音視頻和網絡的均可以使用 WebRTC。

目前,各大互聯網公司都在作WebRTC的相關研究,想將其應用於本身的產品中。因此,市場對這方面的開發人員需求具增,在招聘職位中也都會寫到有 「WebRTC 經驗者優先」。

個人課程

我屬於接觸 WebRTC 比較早的一批人,2010年初我在某音視頻會議公司有幸參與公司全新音視頻會議平臺的產品研發。從音視頻的採集、渲染、編解碼、傳輸、邏輯控制等方方面面參與其中,當時咱們要本身解決實時通信的全部問題,延遲,音視頻同步,網絡擁塞,各類性能優化,真是苦不堪言。

2011年WebRTC的出現使咱們眼前一亮,雖然當時它還很稚嫩,但其中的音頻編解碼器以及其處理音視頻的架構確實給咱們提供很多的參考價值。

而WebRTC發展速度之快真是讓人咂舌。短短几個月就一個版本,並且每一個版本之間都是翻天覆動的變化,一段時間不看其代碼,就晃如昨日了。但其價值也在這快速的變化中愈來愈高。

我在學習研究 WebRTC的過程當中,一直在想可否錄製一門可讓小白同窗能夠快速入門的課程呢?我以前推出的《 ffmpeg 課程》給了我錄製這門課的信心。

不管是從WebRTC技術的撐握上,仍是講課的技巧上我相信我都能將這門課講好。因而說開幹就幹,天天幾乎工做到零晨 2點,沒有節假日,通過幾個月的努力,精打細磨的《WebRTC實時互動直播技術入門與實戰》課終於孕育而出了。

課程中從WebRTC架構講起,涉及到 :

  • WebRTC目錄結構及做用
  • WebRTC 服務器的設計與搭建
  • NAT 穿越/ NAT 類型檢測
  • STUN/TURN/ICE 協議與框架
  • 媒體流中轉服務器(TURN)搭建
  • 音視頻設備管理
  • 音視頻流/桌面採集
  • 錄製
  • WebRTC信令及處理流程
  • 媒體能力協商
  • 端對端音視頻實時互動直播
  • 共享遠程桌面
  • 非音視頻數據傳輸(實時文本聊天/實時文件傳輸)
  • Android/iOS與瀏覽器互通 ......

課程中每一個主題都有大量實戰,但願這樣一門課程可讓你快速入門 WebRTC。同時我也但願這門課會賣的很好,這樣我會更有力量爲你們貢獻WebRTC更深刻的知識。

課程地址

WebRTC實時互動直播技術入門與實戰

謝謝!

相關文章
相關標籤/搜索