ビデオ自体は再生されません
Appleは、独自のサポートを追加する前に、他のブラウザの経験を慎重に研究しました。 サポートに加えて、多くのサイトが大好きな不要なバナー、広告、その他の悪いものからユーザーを保護するために設計された多くの制限が追加されました。 ブラウザのiOSバージョンに関するこれらの制限の1つ:WebRTCが通常ローカルカメラおよび/または通話の2番目の端からビデオストリームを出力するビデオ要素は、ユーザーが明示的に許可するまでビデオを再生しません。
「ユーザーからの明示的な許可」はどのようなものですか? これは、動画オブジェクトの「play」メソッドを呼び出す必要があるonclickハンドラー内のインタラクティブな要素である必要があります。 コード内の別の場所からこのメソッドを呼び出したり、プログラムでボタンを押したりしても、ビデオの再生は開始されません。 何年も前、ブリザードのプログラマーもWorld of Warcraftでボットと戦ったことを覚えており、ユーザーアクションに応じてのみ呼び出せる「保護された」APIを作成しました。
Safariはh.264ビデオコーデックのみをサポートします
2つのデバイスが接続の確立に同意すると、デバイスは(あなたの助けを借りて)SDPテキストパケットを交換します。 特に、サポートされているコーデックが示されています。 h.264は、Chrome、Firefox、Edgeの最新バージョンをサポートしていますが、古いバージョンではサポートされていない場合があります。 さらに、ブラウザに加えて、ビデオ通話は他のSIP互換デバイス(電話、クライアントプログラム、モバイルアプリケーション)からも発信できます。 また、h.264がサポートされていない場合、ビデオ通信は行われません。
知っておくべきこと
ChromeとSafariは「Plan B」を使用して、SDPパッケージのメディアストリームを記述します。 また、Firefoxは統合プランです。 そのため、複数のメディアストリームがある場合(たとえば、品質の異なる複数のビデオストリームがある場合)、翻訳者として行動する必要があります。 Edgeについては何も言いません。
また、SafariはWebRTCの使用にいくつかの制限を課しています。HTTPSのみ、サイトと同じドメインからのiframeのみです。 そして、最初の要件が問題を引き起こさない場合、iframeの要件は組み込みウィジェットの使用を厳しく制限します。 一方、Appleも理解することができます-これらのウィジェットから、ほとんどの場合、強迫観念のビデオ広告が登場します。