LiveMe FE 李承均:RTC 技術的入門和實踐

2020-12-22 藍湖產品設計協作

本期大咖:李承均

LiveMe FE

先後在 TIBCO 、慧聰網、創新工場擔任工程師,自 2016 年起為 LiveMe 工作,對 WebRTC、Wed 動效、Electron 的開發實踐有深入研究。

疫情之後,各種在線項目迎來一個發展高峰,其中在線教育、在線診療、在線辦公、在線直播四大行業,都需要 RTC(實時音視頻)技術」,有消息稱「 RTC 技術將迎來高速普及的拐點」。

本期【藍湖大咖訪談】有幸邀請到 LiveMe 的工程師李承均老師,為大家分享 WebRTC 的實踐經驗。

RTC 技術的普及

作為一個前端工程師來談論 RTC 技術,我並不算專業,但身處實時音視頻(即直播)行業,為大家分享一些親身體會。

RTC(Real-time Communications)直譯為實時通信,狹義的一般稱為實時音視頻。

一個完整的實時音視頻系統都包括七個部分:

1 音視頻採集

2 音視頻數據處理

3 音視頻編碼

4 音視頻數據的傳輸和分發

5 音視頻解碼

6 音視頻數據處理

7 音視頻的播發和渲染

在這七個部分中,音視頻的採集在高端智能機普及前,都是專業音視頻製作團隊的工作

隨著高端智能機的普及,UGC 時代隨之而來,短視頻應用、直播應用也相繼出現。終端的硬編解碼能力的提升對音視頻編解碼系統提供了推動作用。最重要的實時網絡傳輸技術(RTP/RTCP)和內容分發技術(CDN)的進一步提升,給多人實時音視頻應用提供了較完善的技術支持。

因為疫情的關係,在線教育,在線診療,在線辦公,在線直播等相關行業在今年都有質和量的提升,隨著 5G 時代的到來與進一步普及,實時音視頻數據的傳輸和分發將進一步提升。

聲網的上市,我個人認為,就是 RTC 技術普及的一個標誌事件。

RTC 技術的入門

WebRTC 也就是網頁及時通訊,WebRTC 是 RTC 的一部分,它是 Google 的一個專門針對網頁實時通信的一個標準及開源項目。

我最初開始研究這個技術方向是因為工作需要。自身在直播行業,在 web 端,普通直播主流的媒體協議是 HLS 和 HTTP-FLV,前者是 Apple 系列,後者是 Adobe 系列,兩者都是基於 TCP 協議傳輸,使用 CDN 進行內容分發,會有幾秒甚至更長的延遲,主播與觀眾只能通過文字消息或者禮物來互動。

普通直播的延遲對觀眾端的影響大部分時候可以接受,但對於一些特殊場景,比如 PK、連麥,要求延遲低至幾百毫秒,這個時候幾秒的延遲就是致命的問題。

針對這個問題,目前常規的解決方案就是在流媒體服務中心將 PK的兩路流做合流操作,然後提供給 Web 使用。

當時就是為了解決高延遲問題以及一些特定的應用場景,開始關注 WebRTC 相關內容。

WebRTC的架構圖(圖片來自 webrtc.org

在剛入門的時候,最大的困難是 WebRTC 的各種技術名稱讓人迷惑,無法清晰定位到前端所能夠控制的部分。為了解決這個難題,我整理了即時通訊系統的各部分,對前端所能夠涉及的部分就清楚了,比如音視頻的採集和信令交互等。

RTC 技術的實踐

前端工程師在 WebRTC 的應用中能夠做的事情並不多,主要精力是在獲取 MediaStream 和服務端做信令交互的部分以及瀏覽器的兼容處理相關的工作。

這部分內容主要由以下三個 Web api 接口來實現:MediaSteam,RTCPeerConnection ,RTCDataChannel。

實時音視頻技術的自研工作並不是所有實時音視頻應用公司都會做的,更多的是採用第三方實時音視頻技術,這種情況下接入的成本相對較低,有比較成熟的接入流程,詳情見第三方網站,比如聲網,即構等。

如果是自研 WebRTC 項目,主要工程就在於封裝 SDK 和流媒體服務中心的建設,包括音視頻系統的七個部分,傳輸與分發部署會使用第三方基建。

我們在自研 WebRTC 服務的過程中會產出 Web 端接入的 SDK,其中封裝了MediaStream 的採集和與流媒體中心信令交互的部分。

信令的部分內容難在解析與調試過程,中間涉及大量的溝通環節,當然,如果只是使用第三方服務,基本都不會涉及這部分內容。

從擅長中找到熱愛

工程師中流行一句話「非熱愛不編程」,表達編程是一件枯燥的事,只有真正熱愛的人,才能從中發現樂趣並取得成就。

我認為,做事的最佳選項是做自己熱愛的,其次是做自己擅長的。

國內就業壓力大,少有人能從一開始就做自己熱愛的事,就連專業對口都無法完全滿足,在這種情況下,人們往往選擇做自己擅長的事情。在自己擅長的領域中發現自己的專長,你就有可能會愛上它。

我大學選擇了計算機專業,主要方向是 Java,在實習期間才接觸到前端。2009 年的時候還沒有前端工程師這個崗位,或者說叫美工。後來,是因為 JSP 的編寫和維護成本較高,使用了和 Java 應用很搭配的 GWT 前端框架,才搭上前端這列快速奔跑的火車。

前端工作能及時把代碼內容呈現在眼前,因此帶來的成就感而使我開始深入了解,慢慢發現,前端所覆蓋的範圍比想像中大得多,凡所可眼見的各種終端設備呈現的內容都可以納入前端範疇。

從專攻技術的工程師成為需要帶領技術團隊的管理者,我認為,最大的區別是隊員與教練的區別。

隊員主要精力在於提升個人技能,進而是團隊配合,只對具體的需求或者區域負責。

教練需要考慮每一個人的情況,合理分配不同的位置及對應負責的事,激發每個隊員的潛力,打造一個出成績的團隊,需要為整個團隊負責。

多提問,多扛責任,多橫向溝通這三點的提升可以幫助一個工程師向管理者邁進。

團隊管理過程中,協作產品是必不可少的。藍湖幫助設計師與前端工程師高效溝通、協作,在我接觸的前端與設計師協同工具中,是目前最好用的一個,解決了切圖,尺表,屬性,樣式等內容的獲取問題。

又到了畢業季、招聘季, 為正在找工作的或即將換工作的同學們,分享我在網際網路圈裡這 10 年的三點心得體會:

1 主動學習

網際網路技術日新月異,前端技術發展緊跟其後,學會如何學習是這些年最大的感悟。學生時代沒有做好的事情,工作後補上一課。作為一名網際網路工程師,學習不能停,停下就代表落後,落後就會被淘汰。

2 激情與責任心

要做就做最好,即使還存在差距,也要時刻激勵自己不斷優化,需要有追求極致的激情。

關於責任心這一點,是工程師往管理者改變道路上的一個重要指標。換言之,你要有背鍋的心態與能力。

3 換位思考

全局最優解是在遇見自己不能解決的問題的時候再思考的解決方案,不要局限自己的思路,換位思考能解決大問題。

WebRTC 技術作為瀏覽器及時通訊的解決方案,會隨著瀏覽器廠商進一步的支持,以及 5G 網絡的普及而越來越好。目前,在線會議、在線教育等領域已經出現優秀的商用應用,未來將會越來越好,感興趣的同學可以考慮加入我們的行列。

本期【藍湖大咖訪談】就到這裡,通過李承均老師的分享,湖湖對 RTC 技術有了新的認知,你學到了嗎?有什麼問題想請教大咖,歡迎在評論區留言。

相關焦點

  • ARM7單片機輕鬆入門與實踐 — 暢學單片機
    本課程是ARM7單片機學習者從入門到深入的一套經典視頻教程,以初學者為對象,從零開始手把手教你學習單片機,循序漸進地基於理論講解並結合實驗項目實戰開發,講解當前最熱門的ARM7單片機的C程序設計!
  • IM、RTC技術兩生花,看融雲如何打造"IM+RTC+Push"一站式通信雲服務
    從李佳琦和明星扎堆的電商直播,到疫情期間在線教育的全面普及,再到5G技術進入商用,實時音視頻技術(Real-Time Communication,以下簡稱RTC)迎來了全面的爆發,以IM及RTC為基礎的通信雲賽道持續被資本看好。近日,CSDN採訪到融雲CTO(首席技術官)楊攀、CPO(首席產品官)任傑,對於通信雲技術難點、使用場景等問題,他們給出了賽道「參賽者」的回答。
  • 虛擬實境遊戲技術的優勢及實踐
    虛擬實境遊戲技術的優勢及實踐 虛擬實境產品超市 發表於 2020-11-18 11:48:50   隨著網際網路技術和數位化技術的快速發展,人們對於遊戲的服務體驗度也有了更高的要求
  • 從入門到放棄: 在技術概念的大爆發中何以自處?
    1999年四川大學畢業後從事醫療影像系統開發,2001年創業,2003年創業失敗後移民澳大利亞,2004年放棄移民身份回國,2005年加入騰訊,負責QQ空間等產品的前端技術和用戶體驗優化,2015年加入騰訊雲。目前騰訊Web前端技術級別最高的程式設計師。技術公益倡導者,中國信息無障礙聯盟發起人,中國信息技術公益聯盟發起人。
  • ​夜間人像拍攝實踐技術心得分享
    如果要求不高,相機自帶的閃光燈就可以了,但要注意閃光燈和人的距離要適中,太遠起不到效果,太近會讓人的臉部一片慘白,宛若貞子;)在閃光燈前面加一個柔光罩可以改善這種狀況,只是這個附件要單獨購買,好在不貴,幾十塊錢搞定。離機的閃光燈可以從側面給人打光,優點是讓人物看起來不似機頂閃光拍攝的照片看起來那麼平淡呆板。
  • 虛擬實境遊戲技術的優勢及應用實踐
    虛擬實境遊戲技術的優勢及應用實踐 克瑞斯國際藝術教 發表於 2020-11-10 11:10:40   隨著網際網路技術和數位化技術的快速發展,人們對於遊戲的服務體驗度也有了更高的要求
  • 新手攝影入門如何挑膠片相機?
    這種測光模式比較適合拍攝以光圈為主導的靜態人物和風景畫面。(如尼康 fm 和 fe 系列、賓得 k1000 等)圖為賓得k1000內部「選機貼士」對於很多剛接觸單反的小白來說,要練習手動調整數據組合數據是一件很暈的事情
  • 三星s20fe與s20哪款更值得入手驍龍865處理器
    三星s20fe與s20是三星s20系列的機型,那麼三星s20fe與s20手機有什麼不同?三星s20fe與s20哪款更值得入手?有小夥伴們對於這兩款手機還不是很了解,接下來就由小編為大家帶來詳細的對比測評,感興趣的趕快來看看吧!
  • 七牛雲姬長軍:企業技術棧向雲原生轉型的實踐與思考
    演講中,姬長軍講解如何通過研發賦能,來推動企業技術人才升級雲原生技能,以及他們的總結與思考。從 CNCF 2020 最新的調研報告可以看到,在採用容器技術時,受訪者普遍反饋其複雜性和對開發文化的改變是最大的挑戰。事實也確實如此,雲原生涉及的技術棧較多,研發人員需要一定的時間去了解和實踐,因此在做技術棧升級時,技術領導者需要充分考慮到這一點。如何優雅地應對雲原生技術挑戰?
  • 麼麼直播的音視頻技術實踐和優化
    2018年3月31日,「ZEGO Meetup 視頻直播+的技術實踐之道」第三期在上海成功舉辦,現場吸引了滿堂的直播行業從業者到場聆聽。會上,如預期一樣,麼麼直播前端團隊負責人黃銘新、即構科技資深技術專家和架構師冼牛、滬江CCTalk 音視頻架構師武海濱和塗圖TuSDK 研發技術總監王勝,這4位直播行業大咖給大家做了精彩分享。
  • ZEGO Meetup 上海站 | 視頻直播+的技術實踐之道
    起起伏伏的是行業的風口和趨勢,穩步前進的是技術的實踐之道。在剛剛結束了ZEGO Meetup 北京站後,我們決定繼續前往上海,與上海的夥伴們一起探討視頻直播的技術與最佳實踐。本期活動,我們邀請了即構科技、麼麼直播、滬江CCtalk、塗圖TuSDK的4位音視頻技術大咖,他們將帶來:《麼麼直播音視頻實踐和優化》《連麥互動直播 X WebRTC》《使用RTC技術,搭建優秀的在線教育平臺》《深度學習和視頻特效的技術融合
  • 第三屆信也科技技術沙龍:揭秘消息中間件的原理與實踐
    《消息中間件核心原理揭秘與最佳實踐》沙龍活動現場   來自攜程旅遊的資深架構師曹東帶來題為《QMQ架構設計與實踐》的分享。此外曹東對處理OOM,Full GC,句柄資源耗盡有自己獨到的見解,他對生產消費速度不匹配等問題進行了分析,提出了解決此類問題的辦法與最佳實踐方法。   中通科技的架構師丁威為大家分享了《中通消息運維平臺架構實踐》。他是《Rocket MQ技術內幕》的聯合作者,Rocket MQ社區優秀的布道師。
  • 企業「上雲」有了最佳實踐路徑
    ,騰訊雲展示了其在雲計圍繞新形勢下的技術變革與趨勢,算、大數據、人工智慧等眾多領域的最新技術、最新成果、以及大數據、人工智慧等眾多領域的最新技術、最新成果、最佳實踐。   據悉,該路線圖具有三個業界首次,首次站在用戶視角,騰訊雲基於服務數十萬家客戶雲原生實踐經驗沉澱而成,幫助開發者、技術管理者從整體角度摸清部署雲原生的關鍵脈絡。同時,業界首次提出雲原生系統,包括開發雲原生、計算雲原生、架構雲原生、數據云原生和安全雲原生,用戶在部署時,系統中各模塊既可獨立進行,又會形成串聯或並聯關係。
  • 308頁圖解電工快速入門與提高,實用知識+技能,圖文詳解超實用!
    308頁圖解電工快速入門與提高,實用知識+技能,圖文詳解易懂!隨著科學技術的不斷進步,眾多領域的電氣化程度越來越高,這使得電氣及相關行業需要越來越多的電工技術人才。對於一些對電工技術一無所知或略有一點基礎的人來說,要成為一名合格的電工技術人才,就要不斷提升自己。
  • 華理攜手巔思智能共建產教融合數位技術創新實踐基地
    12月23日下午,華東理工大學和上海巔思智能科技有限公司(以下簡稱「巔思智能」)共建的產教融合數位技術創新實踐基地設備捐贈交付儀式在逸夫樓演講廳舉行。我校副校長王慧鋒與巔思智能CEO惲成共同為產教融合數位技術創新實踐基地揭牌。我校教務處處長黃婕和巔思智能副總經理姚欣科分別代表雙方籤署校企戰略合作協議。會議由教務處副處長兼工程訓練中心主任劉金庫主持。
  • 打排球的幾個技術動作和小技巧,只要掌握後你就入門了!
    打排球的人首先要鍛鍊好自己的身體,畢竟這項運動的跑動還是比較多的,而且對於身高和彈跳也有一定的要求,再就是對自己的力量有一點要求。這是對自己身體的一些要求,而且還有一些其他的技術動作和技巧需要去掌握,如果你連這些都不知道,只能說你對於排球還是個門外漢,還不夠了解他。下面小編就說一下打排球的幾個技術動作和小技巧。
  • 沒學歷 學什麼技術好就業
    所以學網際網路技術,不光有前途,還有「錢途」。02容易入門相比較其他那些諱莫如深的技術,網際網路技術可以說十分「親民」,網際網路技術不需要太多的理論知識作積累,而是要通過大量不間斷的實踐才能掌握的技能。03投資少,回報高網際網路技術是一門需要不斷實踐的技術,不需要很大的成本投入。只要你持之以恆,一定能夠有所回報。
  • 使用錫紙條工具的入門知識
    下面就讓小編通過一名老鎖匠的經驗分享一下錫紙條工具的入門知識。1、要用好的錫紙來做錫紙條工具製作錫紙條工具用的是專門特殊材料。材料分為不同類型的產品,使用的領域也不同。然而,錫紙條工具的生產是由一種特殊的金屬製成的,不是極熱的材料。錫紙條工具比其他工具更耐腐蝕,不僅對普通腐蝕性物質,而且對化學物質也有很高的耐腐蝕效果。
  • 愛奇藝視頻版權保護技術與維權實踐
    隨著海量多媒體應用內容的產生,對內容的安全性要求也相應提高.愛奇藝技術產品中心高級經理 陳赫從多個方面介紹了愛奇藝在版權保護上的技術探索與維權實踐