您當(dāng)前的位置是:  首頁 > 新聞 > 國際 >
 首頁 > 新聞 > 國際 >

各瀏覽器中的WebRTC表現(xiàn)對(duì)比、其實(shí)還是有坑

2017-07-06 10:52:09   作者:Tsahi Levent-Levi   來源:聲網(wǎng)Agora   評(píng)論:0  點(diǎn)擊:


  本文中我們將一起分析各瀏覽器對(duì)WebRTC支持的情況。下圖是我WebRTC設(shè)備清單中的一部分,我們就以這張圖作為切入點(diǎn)。
\
  下面我們來一個(gè)瀏覽器一個(gè)瀏覽器的分析。
  Google Chrome
  Chrome還是整個(gè)隊(duì)伍的領(lǐng)軍人物。有些人抱怨Google不按照規(guī)范運(yùn)行WebRTC,可是話又說回來了,該遵循哪個(gè)規(guī)范呢?我們還是處在草案階段,每個(gè)人都在為WebRTC規(guī)范做努力,但是現(xiàn)在還沒有一個(gè)明確的規(guī)范。
  我想表達(dá)的一個(gè)觀點(diǎn)是:如果你的瀏覽器有超過十億的下載量,那么你所改動(dòng)的每一行代碼都會(huì)造成某些功能發(fā)生錯(cuò)誤。這意味要是想改變整個(gè)API以及WebRTC的表現(xiàn)層要難上加難。要花費(fèi)大量的時(shí)間。
  Mozilla Firefox
  Mozilla通過自家的Firefox瀏覽器加入WebRTC陣營的時(shí)間可以說跟Google Chrome一樣長。實(shí)際情況是,所有的功能也只是止步于可以工作這個(gè)層次。讀者可以注意一下Mozilla WebRTC高級(jí)博客上面關(guān)于質(zhì)量的內(nèi)容。
  Microsoft Edge
  Microsoft Edge瀏覽器支持WebRTC 1.0,無論這里1.0指的是什么。它還支持ORTC。但是主要是ORTC,WebRTC的優(yōu)先程度排在它后面。
  我還是很費(fèi)解微軟這么做的理由是什么,我相信我不是唯一一個(gè)想不明白的人。
  對(duì)于大部分的性能,微軟只是在努力達(dá)到并保持與Chrome相同的表現(xiàn)。Edge瀏覽器的份額比較低,所以這是個(gè)聰明的做法—有公司開始在他們的產(chǎn)品中支持Edge瀏覽器,也有可能只是因?yàn)镋dge版本的開發(fā)成本并不高。
  Apple Safari
  蘋果剛剛加入WebRTC陣營中,宣布iOS 11和Safari 11中支持WebRTC。
  但是蘋果并不是全部支持,DataChannel現(xiàn)在并不能使用,視頻編解碼是H.264,而不是VP8。而且這點(diǎn)可能不會(huì)發(fā)生改變。
  總的來說,WebRTC現(xiàn)在已經(jīng)覆蓋所有的現(xiàn)代瀏覽器了。
  Microsoft Internet Explorer
  在這里,WebRTC碰壁了。
  是的,我們可以用微軟的Edge瀏覽器,但是這款瀏覽器只能在Windows 10上使用。不過人們好像還是很樂意換用Chrome瀏覽器的。
  當(dāng)然如果能讓IE也加入WebRTC大家庭是再好不過的事,但是可能永遠(yuǎn)不會(huì)發(fā)生。想要進(jìn)行實(shí)時(shí)通信,我們可以使用插件或者獨(dú)立的PC應(yīng)用。
  封閉的應(yīng)用
  當(dāng)WebRTC不能用或者不能夠滿足需求時(shí),你總是可以在封閉的應(yīng)用中使用WebRTC技術(shù)。
  對(duì)于iOS和Android來說,你可以下載WebRTC源代碼,然后在它的上面編寫自己的應(yīng)用,或者使用WebView這樣的操作系統(tǒng)。
  對(duì)于電腦端來說,最通常的做法是使用Electron,一個(gè)圍繞Chromium搭建的開源應(yīng)用容器。它可以讓你的網(wǎng)頁應(yīng)用編程一個(gè)電腦應(yīng)用,并且可以跨Windows,Mac,和Linux系統(tǒng)使用。而且不管你用的是IE或者其他任何瀏覽器都可以,沒有問題。
\

專題