############################### Apple Safari の WebRTC について ############################### 概要 ==== 2023 年 6 月時点で Safari 16.4 を使用して確認しています。 注意点 ====== - 音声が含まれているまたは音声のみの配信の場合 iOS の Safari では自動再生されません - これは iOS の Safari の仕様のため、今のところ回避の方法はありません - macOS の Safari の場合も設定を有効にしないと同様です - Certificate Management API に非対応です - ECDSA P256 使えません - onaddstream ではなく ontrack を利用してください - 映像コーデック VP9 は対応していますが、古い iPhone では動作しなかったりします - getUserMedia を利用するには HTTPS が必須です - 開発モードで HTTPS 必須を無効にできます iOS の Chrome や Firefox について ================================= iOS の Chrome や Firefox は WKWebView を利用しています。 WKWebView は iOS 14.3 にて getUserMedia に対応しました。 iOS Safari で画面共有について ============================= iOS Safari には画面共有用の getDisplayMedia API が実装されていません。 そのため、画面共有を利用するにはネイティブアプリケーションを利用する必要があります。 2023 年 6 月時点ですべてのモバイルブラウザが getDisplayMedia API には対応していません。 `MediaDevices.getDisplayMedia() - Web APIs | MDN `_ WebRTC Encoded Transform API が利用可能 ================================================= Safari では `WebRTC Encoded Transform `_ API が利用できます。 .. important:: Chrome に実装されているのは WebRTC Encoded Transform API の古いバージョンである Insertable Streams API です。 そのため WebRTC Encoded Transform に関しては Safari が最先端となります。 実験的機能 ========== .. attention:: `Safari`_ や `Safari Technology Preview (Safari TP)`_ では実験的機能の挙動が異なります H.265 が利用可能 ---------------- `Safari`_ や `Safari Technology Preview (Safari TP)`_ 最新版では開発メニューで有効にすることで H.265 が利用できます。 WebRTC AV1 が利用可能 ----------------------------------------------- `Safari`_ や `Safari Technology Preview (Safari TP)`_ 最新版では開発メニューで有効にすることで WebRTC AV1 が利用できます。 VP9 Profile 2 が利用可能 ----------------------------- `Safari`_ や `Safari Technology Preview (Safari TP)`_ 最新版では開発メニューで有効にすることで VP9 Profile 2 が利用できます。 .. _Safari: https://www.apple.com/jp/safari/ .. _Safari Technology Preview (Safari TP): https://developer.apple.com/safari/technology-preview/