Apple Safari の WebRTC について¶
概要¶
2024 年 12 月 時点で Safari 18.1 を使用して確認しています。
注意点¶
音声が含まれているまたは音声のみの配信の場合 iOS の Safari では自動再生されません
これは iOS の Safari の仕様のため、今のところ回避の方法はありません
macOS の Safari の場合も設定を有効にしないと同様です
Certificate Management API に非対応です
ECDSA P256 使えません
ontrack を利用してください
映像コーデック VP9 は対応していますが、古い iPhone では動作しなかったりします
getUserMedia を利用するには HTTPS が必須です
開発モードで HTTPS 必須を無効にできます
iOS の Chrome や Firefox について¶
iOS の Chrome や Firefox は WKWebView を利用しています。 WKWebView は iOS 14.3 にて getUserMedia に対応しました。
iOS Safari で画面共有について¶
iOS Safari には画面共有用の getDisplayMedia API が実装されていません。 そのため、画面共有を利用するにはネイティブアプリケーションを利用する必要があります。
2024 年 12 月 時点ですべてのモバイルブラウザが getDisplayMedia API には対応していません。
録画機能音ズレ問題¶
Safari や Safari Technology Preview では録画機能利用時に replaceTrack
などを利用して MediaStreamTrack
を削除し、
一定時間経過後に新しく追加した際、音声パケットに関連するタイムスタンプと NTP タイムスタンプが正しく出力されない問題あります。
この問題により Safari や Safari Technology Preview では録音/録画したファイルにて音ズレが発生してしまいます。
この問題はブラウザ側のバグであり、現在のところ回避策はありません。
WebRTC Encoded Transform API が利用できる¶
Safari では WebRTC Encoded Transform API が利用できます。
H.265 (HEVC)¶
Safari 18.0 から HEVC (H.265) がデフォルトで有効になりました。
VP9 Profile 2¶
ドキュメントに記載はありませんが、Safari 18.0 より VP9 Profile 2 がデフォルトで有効になりました。
実験的機能¶
注意
Safari や Safari Technology Preview (Safari TP) では実験的機能の挙動が異なります
WebRTC AV1¶
Safari や Safari Technology Preview (Safari TP) 最新版では開発メニューで有効にすることで WebRTC AV1 が利用できます。