無延遲直播(PRTC Web SDK 行動端)相容性
更新時間:2021-06-01 15:56:43
PRTC Web SDK 是基於 WebRTC 實現音視訊通訊的,因此依賴於瀏覽器對 WebRTC 的支援。儘管行動端主流的瀏覽器都支援 WebRTC,但由於平台和一些應用內建瀏覽器的實作各不相同,行動端對音視訊編解碼的支援情況較為複雜,本文簡單介紹行動端各種應用場景下對傳送和接收音視訊流的支援。
PRTC Web SDK 行動端相容的瀏覽器,具體如下表所示:
| 平台 | 瀏覽器 |
|---|---|
| Android 5.0+ | Chrome 60+ 華為手機瀏覽器 10+ 微信公眾號/微信瀏覽器 7+ 內嵌 WebView 的應用(部分裝置) |
| iOS 13+ | 蘋果 Safari 13+ 微信公眾號/微信瀏覽器 7+(僅支援接收) Chrome 60+(僅支援接收) 內嵌 WebView 的應用(僅支援接收) |
| iOS 14.3+ | 蘋果 Safari 13+ 微信公眾號/微信瀏覽器 7+ Chrome 60+ 內嵌 WebView 的應用 |
- iOS 14.3 以下的系統有限制,僅允許蘋果 Safari 瀏覽器使用麥克風、攝影機裝置;不允許其他瀏覽器使用麥克風、攝影機裝置,因此 iOS 14.3 以下的系統中的微信瀏覽器、Google Chrome 瀏覽器中無法發布視訊流,僅支援接收。
- iOS 14.3 及以上的系統開放了裝置權限,除了蘋果 Safari 瀏覽器,其他瀏覽器如微信瀏覽器、Google Chrome 瀏覽器,可以申請麥克風、攝影機裝置的使用權限,因此 iOS 14.3 及以上的系統中的微信瀏覽器、Google Chrome 瀏覽器可以支援連麥。
- 保利威無延遲直播增加的邏輯:iOS 13 以下降級為 CDN 觀看
- iOS 11 ~ 12 理論上支援無延遲,但只支援同時一個視訊在播,並且存在較多相容性問題所以降級為 CDN 播放
- iOS 14.2.x 版本因為 iOS 系統的故障,存在聲音異常的問題,所以降級為 CDN 播放
- 無延遲需要在 https 下播放
iOS 平台的相容性
iOS 平台上所有的應用內建瀏覽器只能使用系統提供的 WebView,iOS 14.3 以下版本不支援傳送音視訊流,僅支援接收;iOS 14.3 及以上版本支援連麥。
| 瀏覽器 | VP8 | H.264 |
|---|---|---|
| Safari 瀏覽器(支援傳送和接收) | iOS 12.2 及以後版本 | iOS 11 及以後版本 |
| 微信公眾號/微信瀏覽器 7+(支援傳送和接收) | iOS 14.3 及以後版本 | iOS 14.3 及以後版本 |
| Chrome 60+(支援傳送和接收) | iOS 14.3 及以後版本 | iOS 14.3 及以後版本 |
| 內嵌 WebView 的應用(支援傳送和接收) | iOS 14.3 及以後版本 | iOS 14.3 及以後版本 |
| 微信公眾號/微信瀏覽器 7+(僅支援接收) | iOS 12.2 及以後版本 | iOS 12.1.4 及以後版本 |
| Chrome 60+(僅支援接收) | iOS 12.2 及以後版本 | iOS 12.1.4 及以後版本 |
| 內嵌 WebView 的應用(僅支援接收) | iOS 12.2 及以後版本 | iOS 12.1.4 及以後版本 |
Android 平台的相容性
Android 平台原生的 WebView 支援自訂,因此不同裝置、不同應用的 WebView 實作可能不同。下面列出三種瀏覽器對編解碼格式的支援:
| 瀏覽器 | VP8 | H.264 |
|---|---|---|
| Chrome 60+ | 支援傳送和接收 | 部分裝置支援傳送和接收 |
| 微信公眾號/微信瀏覽器 7+ | 支援傳送和接收 | 部分裝置支援傳送和接收 |
| 內嵌 WebView 的應用 | 部分裝置支援傳送和接收 | 部分裝置支援傳送和接收 |
