俞木發

首先我們來了解一下問題發生的原因,現在的直播網站為了視頻的流暢傳播,普遍使用了P2P(Peer-to-Peer)技術,這種去中間化的技術可以讓每臺在直播間的在線電腦都成為一個“轉播點”,從而在不影響視頻質量的情況下節省服務器的分發帶寬。而在視頻直播中實時語音或視頻對話的傳播則大多通過WebRTC(網頁即時通信,即WebReal-TimeCommunication的縮寫)這個API實現,它可以在不借助中間媒介的情況下,建立瀏覽器之間的P2P連接,實現視頻流和(或)音頻流以及其他任意數據的傳輸。我們的電腦在成為其中一個“轉播點”后就會在本機上傳數據到網絡中,有些網站會濫用WebRTC(沒有設置合適的閾值),上傳數據時過度占用了用戶的上行帶寬,這樣會影響校驗數據等上行操作,進而影響下行的流暢度,最終的表現就是本機網絡的上行和下行速度都變慢。
了解了問題的由來后,解決問題的方法是讓自己的電腦不成為P2P節點中的“轉播點”。由于WebRTC是通過IP地址來識別直播間的電腦的,我們可以通過一些插件屏蔽其對電腦IP的檢測。以本文主要說明的Edge瀏覽器為例,啟動瀏覽器后在地址欄中輸入“edge://extensions/”并回車,點擊“獲取Edge擴展”下載并安裝WebRTC Control(圖1)。
完成插件的安裝后,點擊瀏覽器地址欄后的插件圖標,選擇“擴展選項”,在打開的頁面中勾選“阻止WebRTC支持檢測”。這樣就會阻止RTCPeerConnection和RTCDataChannel兩個接口的連接,前者用于本地計算機到遠端的WebRTC服務器的連接,后者用于在兩者之間建立一個雙向數據通道的連接,以后只要插件圖標顯示為藍色即表示限制生效(圖2)。
完成上述的設置后,插件就會阻止WebRTC檢測本機的IP地址,從而避免電腦作為P2P中的“轉播點”。大家可以在上圖中點擊“測試WebRTC泄露”,測試開啟限制前后的對比,可以看到限制后本機的IP地址會變為N/A無法讀取(圖3)。
現在大家可以再使用Edge瀏覽器連接那些視頻直播網站,通過禁用/啟用“WebRTC Control擴展”前后的對比,查看自己電腦的網絡質量是不是有了明顯的變化(圖4)。