距實(shí)時(shí)互聯(lián)網(wǎng)大會(huì )召開(kāi)還有2天。據透露,大會(huì )請來(lái)了一位重量嘉賓,有”WebRTC之父之稱(chēng)”的WebRTC技術(shù)標準作者Daniel C. Burnett。近日,Daniel C. Burnett接受了CSDN的專(zhuān)訪(fǎng)。Daniel在計算機標準領(lǐng)域已經(jīng)工作了十年有余,作為Peer Connection和get UserMedia W3C WEBRTC規范的編輯者,以及國際互聯(lián)網(wǎng)工程任務(wù)組(IETF)的參與者,Daniel從一開(kāi)始便投身于這個(gè)激動(dòng)人心的新領(lǐng)域中。他所編寫(xiě)的W3C標準目前廣泛應用于大部分自動(dòng)交互式語(yǔ)音應答(IVR)系統之中。

WebRTC標準之父Daniel C. Burnett
CSDN:感謝您接受CSDN的專(zhuān)訪(fǎng),請您介紹一下您的主要職責以及WebRTC在去年的發(fā)展情況。
Daniel:我是WebRTC標準規范的第一位編輯,而且最資深的一位編輯,大家都稱(chēng)我為”WebRTC標準之父”。我還是在任時(shí)間最長(cháng)的”媒體捕獲和流媒體規范”編輯,這是WebRTC以外的另一個(gè)主要標準文檔。我與其他編輯一起,負責審核并應用GitHub獲取用戶(hù)需求,在許多情況下,這用于修復開(kāi)發(fā)人員提出的規范文本問(wèn)題。去年,我們的工作重點(diǎn)是添加新的低級別控制功能。添加這些功能非常簡(jiǎn)單,但若要讓它們穩定流暢地運行下去并不容易。
CSDN:WebRTC技術(shù)開(kāi)發(fā)人員側重于處理哪些問(wèn)題?您對這些問(wèn)題有何看法?
Daniel:我不知道您所指的是使用WebRTC的Web開(kāi)發(fā)人員還是WebRTC標準的開(kāi)發(fā)人員,所以我會(huì )分別解答。使用WebRTC的Web開(kāi)發(fā)人員的重點(diǎn)不是創(chuàng )新,而是側重于如何在他們的WebRTC應用程序中再現傳統固定電話(huà)網(wǎng)絡(luò )的可靠性。
一個(gè)簡(jiǎn)單好用的API對于WebRTC初學(xué)者來(lái)說(shuō),一開(kāi)始很重要,但是一旦他們掌握了如何使用API之后,開(kāi)發(fā)人員將不會(huì )過(guò)多關(guān)注API本身。例如,之前,單個(gè)對等連接支持多個(gè)音頻頻流的復用之前,開(kāi)發(fā)人員會(huì )創(chuàng )建多個(gè)對等連接連接,每個(gè)對等連接都會(huì )有單個(gè)的音頻軌和視頻軌。
開(kāi)發(fā)人員將面臨的挑戰,比如:事先了解能否呼叫成功;盡快啟動(dòng)呼叫;開(kāi)發(fā)者需要了解網(wǎng)絡(luò )的帶寬和延遲的情況,在帶寬不足或者延遲比較大的情況下,開(kāi)發(fā)者在應用程序端中需要做出一些干預(例如關(guān)閉視頻窗口);了解網(wǎng)絡(luò )何時(shí)將完全掉線(xiàn)。這些問(wèn)題都很重要,尤其是對于那些想要完全取代傳統或者無(wú)限呼叫的應用程序而言。
現在,對于制定WebRTC標準的我們來(lái)說(shuō),問(wèn)題在于如何最有效地解決我剛才提到的挑戰。我們采取的方法是,提供少量的信令和控制,讓開(kāi)發(fā)人員可以通過(guò)自己的分析進(jìn)行調整。雖然這也許能充分解決問(wèn)題,但也可能讓事情變得更復雜,原有簡(jiǎn)單API的諸多優(yōu)勢也將不復存在。所有標準到最后都會(huì )成為折中方案,但我仍認為,我們制定的這一折中方案比先前的互聯(lián)網(wǎng)電話(huà)(VoIP)方法更易于使用,也更加可靠。
CSDN:WebRTC技術(shù)在哪些領(lǐng)域最具價(jià)值?在實(shí)際項目中是否遇到了挑戰?您認為,這些挑戰是否有更好的解決方案?
Daniel: WebRTC在已具有社區或基于Web的交互的情形中最具價(jià)值。美國的知名實(shí)際項目包括:Amazon的Mayday視頻支持服務(wù),在A(yíng)mazon Kindle Fire上按一下幫助按鈕即可訪(fǎng)問(wèn)這一服務(wù);Facebook的視頻聊天功能,這一功能建立在現有文本聊天功能的基礎之上。在這兩個(gè)案例中,提供商和客戶(hù)若要撥打電話(huà)或進(jìn)行視頻通話(huà),可以停留在現有應用程序中,而不必切換到第三方,這非常實(shí)用。
但為什么WebRTC的使用范圍不太廣泛?我認為主要問(wèn)題在于前面所說(shuō)的質(zhì)量預測與質(zhì)量保證的挑戰。由于WebRTC本身是基于瀏覽器集成,在傳輸方面并沒(méi)有太多的標準和建議,僅使用傳統的P2P點(diǎn)對點(diǎn)協(xié)議,當用戶(hù)出現復雜的本地環(huán)境(例如手機信號不穩定)或跨地區跨時(shí)區跨國的傳輸時(shí),WebRTC會(huì )無(wú)法進(jìn)行軟件編碼優(yōu)化,這也就是為什么,開(kāi)發(fā)者使用WebRTC實(shí)現Demo很容易,可是在實(shí)際過(guò)程中卻碰到很多問(wèn)題。同時(shí),由于WebRTC無(wú)法使用硬件編碼,因此受制于移動(dòng)終端設備的cpu性能限制,在商用過(guò)程中往往難以實(shí)現。
現在有不少無(wú)質(zhì)量保證的免費應用程序,人們往往會(huì )先嘗試這些應用程序,但在首次失敗后仍轉而使用PSTN/VoIP,WebRTC的應用程序如要在數量上超過(guò)這些傳統應用程序,基于互聯(lián)網(wǎng)的實(shí)時(shí)通信應用的質(zhì)量和穩定性必須在總體上有所提升。

CSDN:據說(shuō)WebRTC標準不夠穩定,存在一些錯誤。您對此有何看法?對于在將來(lái)開(kāi)發(fā)WebRTC技術(shù)有何計劃?
Daniel:任何標準在完成之前都不穩定,更何況WebRTC嘗試為之建立標準的功能尚未在任何地方實(shí)施,這是個(gè)巨大的挑戰。這一標準此時(shí)最需要的是瀏覽器能按照規范進(jìn)行實(shí)施,尤其是Google瀏覽器。這當然也適用于WebRTC源生庫。正是由于WebRTC標準本身的不確定性,以及存在通話(huà)質(zhì)量很難保證的問(wèn)題,所以我們需要根據項目實(shí)際需要來(lái)評估和選擇正確的解決方案 (WebRTC只是其中一種)。
CSDN:WebRTC技術(shù)能否滿(mǎn)足移動(dòng)互聯(lián)網(wǎng)時(shí)代的需求?WebRTC能否給現在熱門(mén)的直播平臺帶來(lái)啟發(fā)?
Daniel:有大量工作用于確保WebRTC在移動(dòng)實(shí)時(shí)環(huán)境中正常運行。現在的首要問(wèn)題是網(wǎng)絡(luò )接口發(fā)生變化時(shí)的穩定性,尤其是從WiFi切換到移動(dòng)運營(yíng)商網(wǎng)絡(luò )時(shí)。目前來(lái)看,要WebRTC在此環(huán)境下發(fā)揮作用,還需要一些用戶(hù)級別的編程。尤其是面對復雜的網(wǎng)絡(luò )環(huán)境的情況下,需要更多的技術(shù)和解決方案來(lái)應對這個(gè)問(wèn)題。WebRTC 1.0之后的下一版本會(huì )討論將更多用戶(hù)級別編程自動(dòng)化。
對于直播,則有不同的方法。近幾年來(lái),有些公司專(zhuān)注于構建點(diǎn)對點(diǎn)的內容分發(fā)網(wǎng)絡(luò ),這種網(wǎng)絡(luò )使用群組進(jìn)行單向媒體分發(fā),并完全通過(guò)用戶(hù)級別代碼來(lái)搭建。API新增同時(shí)分發(fā)的功能,這不是廣播,但有助于視頻選擇分發(fā)單元(SFU)的帶寬管理,進(jìn)而改善大規模分發(fā)。
直播技術(shù)方面,聲網(wǎng)Agora.io的實(shí)時(shí)全互動(dòng)直播主要滿(mǎn)足的超低延遲和互動(dòng)的場(chǎng)景,在全球構建了軟件實(shí)時(shí)定義虛擬網(wǎng)(SD-RTN)實(shí)現高質(zhì)量、高清晰度、穩定可靠的全交互直播,希望從根本上解決傳輸的問(wèn)題。
CSDN:WebRTC和RTC之間有何聯(lián)系?它們在未來(lái)會(huì )如何發(fā)展?
Daniel: RTC表示實(shí)時(shí)通信,WebRTC只是實(shí)現瀏覽器實(shí)時(shí)通信的一項技術(shù)。其他技術(shù)還包括基于SIP的傳統IP語(yǔ)音,當然還包括原有的PSTN,也就是分組交換電話(huà)網(wǎng)絡(luò )。如果您問(wèn)的是WebRTC和ORTC(對象RTC),這的確曾是個(gè)問(wèn)題,因為ORTC在最初是作為WebRTC的替代品而構建的。不過(guò),在一年多前,這兩家公司決定合作,結果是所有新的低級別控制功能結合到WebRTC之中,我們現正在進(jìn)行整理和充實(shí)。ORTC充當一個(gè)“孵化器”,其中的工作隨后會(huì )移交正式的W3C WebRTC工作組以實(shí)施標準化。
csdn:WebRTC支持Chrome、Firefox、Opera等瀏覽器,但不支持Apple的Safari。您對這種情況有何計劃?是否在進(jìn)行任何兼容性相關(guān)工作來(lái)解決這一問(wèn)題?
Daniel:一些私有公司創(chuàng )建了庫,許多工作在WebKit中完成,現在,蘋(píng)果公司自己明確在實(shí)施WebRTC。此外,Apple的互聯(lián)網(wǎng)媒體負責人出席了我們最近在葡萄牙里斯本舉行的多個(gè)標準會(huì )議。在討論中,我們詢(xún)問(wèn)了我們計劃的問(wèn)題解決方法,該負責人也幾次予以確認。預計他們在明年初會(huì )進(jìn)行公開(kāi)。
目前,存在的最大的問(wèn)題就是如何解決兼容性的問(wèn)題,對于不支持蘋(píng)果的Safari,據我所知目前并沒(méi)有非常清晰詳盡的計劃。

CSDN:這次的實(shí)時(shí)互聯(lián)網(wǎng)大會(huì )是由聲網(wǎng)Agora.io和美國的權威IT機構TMC聯(lián)合舉辦的。作為實(shí)時(shí)互聯(lián)網(wǎng)大會(huì )的引入方,您認為聲網(wǎng)Agora.io對實(shí)時(shí)通信有何貢獻?這對開(kāi)發(fā)人員和整個(gè)行業(yè)有何影響?
Daniel:聲網(wǎng)Agora.io采取了一種截然不同、極富創(chuàng )新精神的方法來(lái)提供可靠的互聯(lián)網(wǎng)實(shí)時(shí)音視頻通信,他們提供的覆蓋網(wǎng)絡(luò )使通信得到改進(jìn)。因為公共互聯(lián)網(wǎng)本身并不是為實(shí)時(shí)業(yè)務(wù)而設的,所以為了保證實(shí)時(shí)通信,需要在公共互聯(lián)網(wǎng)的基礎上進(jìn)行些改造,才能解決質(zhì)量方面的根本問(wèn)題。
聲網(wǎng)Agora.io的實(shí)時(shí)通信SDK和API,在全球構建了軟件實(shí)時(shí)定義虛擬網(wǎng)(SD-RTN)。 這一網(wǎng)絡(luò )的優(yōu)勢在于,它僅處理一些簡(jiǎn)單的庫調用,應用程序開(kāi)發(fā)人員無(wú)需直接確定他們自己的算法來(lái)管理網(wǎng)絡(luò )帶寬和擁塞。他們的方法聽(tīng)起來(lái)簡(jiǎn)單,但后臺技術(shù)卻非常復雜。這等于是為開(kāi)發(fā)者解決了最難的技術(shù)和音視頻傳輸的問(wèn)題,就像取自來(lái)水一樣簡(jiǎn)單,這種方法為這些應用程序的日常用戶(hù)帶來(lái)了更高質(zhì)量的實(shí)時(shí)通信體驗。可以說(shuō),聲網(wǎng)Agora.io提供的實(shí)時(shí)通信SDK是對開(kāi)發(fā)者十分友好的。
據我所知,無(wú)論是在中國國內還是在亞洲歐美等其他市場(chǎng),聲網(wǎng)Agora.io提供的實(shí)時(shí)技術(shù)能夠為更多的垂直行業(yè)和細分領(lǐng)域所利用,并改變著(zhù)這些行業(yè)。對于這些垂直行業(yè)和細分領(lǐng)域而言,聲網(wǎng)Agora.io出色的音視頻傳輸技術(shù)為這些行業(yè)提供了很好的解決方案,行業(yè)中都有比較廣泛的應用,商用的前景更可期待。
CSDN:大會(huì )召開(kāi)在即,中國的實(shí)時(shí)通信技術(shù)開(kāi)發(fā)人員很期待您的來(lái)訪(fǎng)。您想要對中國的實(shí)時(shí)通信技術(shù)開(kāi)發(fā)人員說(shuō)些什么?
Daniel:夢(mèng)想,探索,創(chuàng )新。在開(kāi)始WebRTC標準化時(shí),Google和我們其他人都有一個(gè)愿景,那就是使每個(gè)HTML JavaScript編程人員都能進(jìn)行實(shí)時(shí)通信開(kāi)發(fā),而不是只由少數SIP開(kāi)發(fā)人員掌控。可以從WebRTC和其他實(shí)時(shí)通信API開(kāi)始,這無(wú)需任何花費。我十幾歲的兒子可以在他的空閑時(shí)間免費構建一個(gè)基本W(wǎng)ebRTC應用程序。Web和互聯(lián)網(wǎng)技術(shù)徹底改變了我們的生活,多數成功來(lái)自于青少年和高校學(xué)生的夢(mèng)想。我確信,實(shí)時(shí)通信的最佳應用程序即將出現。
但這就像一個(gè)硬幣的雙面。因為本身WebRTC是一個(gè)開(kāi)源程序,沒(méi)有真正的商業(yè)化的投入的話(huà),這項技術(shù)的潛能可能還沒(méi)有最大化發(fā)揮,從這一點(diǎn)來(lái)講,這也可能對于開(kāi)發(fā)人員是一個(gè)需要考慮的問(wèn)題。
所以,我們有理由期待有更多的實(shí)時(shí)通信(RTC)技術(shù)和應用可以出現,期待更多的像聲網(wǎng)Agora.io這樣的RTC技術(shù)的創(chuàng )新。
CSDN:能否透露一下您會(huì )在10月28-29日在北京召開(kāi)的第二屆實(shí)時(shí)互聯(lián)網(wǎng)大會(huì )上帶來(lái)的觀(guān)點(diǎn)?
Daniel:當然。去年我們側重于WebRTC的基礎,今年我們將回顧這些基礎,然后探究在過(guò)去一年中出現的一些變化。具體來(lái)說(shuō),我們將討論我之前提到的低級別控制功能,并展示已經(jīng)實(shí)施的一些功能。我們還會(huì )留出一段時(shí)間詳細說(shuō)明調試以及有助于實(shí)際應用程序的內容。最后,我們將詳細討論安全性,并說(shuō)明預計將納入WebRTC 1.0實(shí)施之中的其他一些功能,最后展望WebRTC 1.0之后版本的未來(lái)發(fā)展。
我還將參加大會(huì )的一個(gè)重要環(huán)節,coding訓練營(yíng),面向參會(huì )的開(kāi)發(fā)者們面授各類(lèi)coding技巧,到時(shí)候現場(chǎng)見(jiàn)。