WebRTC encoded transform
rtctransform イベントは、エンコードされたビデオまたはオーディオフレームが WebRTC Encoded Transform によって処理のためにキューに入れられたときに、ワーカーの DedicatedWorkerGlobalScope オブジェクトで発生します。
このイベントの transformer プロパティは、フレームがキューに入れられる ReadableStream と、フレームを WebRTC pipeline に再度挿入するために書き込むことができる WritableStream を公開する RTCRtpScriptTransformer を返します。
このイベントはキャンセル不可で、バブリングしません。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 86 | 86 | 117 | 15.4 | 86 | 15.4 | |
| rtctransform イベントは、エンコードされたビデオまたはオーディオフレームが WebRTC API またはエンコード変換を使用して処理のためにキューに入れられた際に、ワーカーの DedicatedWorkerGlobalScope オブジェクトで発生します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCEncodedAudioFrame インターフェースの data プロパティは、エンコードされたフレームのデータを含むバッファを返します。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCEncodedAudioFrame インターフェースの getMetadata() メソッドは、そのフレームに関連付けられたメタデータを含むオブジェクトを返します。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCEncodedAudioFrame() コンストラクタは、完全に独立した新しい RTCEncodedAudioFrame オブジェクトを作成します。 | 127 | 127 | 145 | 26 | 127 | 26 |
| WebRTC API の `RTCEncodedVideoFrame` は、WebRTC の受信側または送信側のパイプラインにおけるエンコード済みビデオフレームを表しており、WebRTC エンコード変換を使用して変更することができます。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCEncodedVideoFrame インターフェースの data プロパティは、フレームデータを含むバッファを返します。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCEncodedVideoFrame インターフェースの getMetadata() メソッドは、そのフレームに関連付けられたメタデータを含むオブジェクトを返します。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCEncodedVideoFrame() コンストラクタは、完全に独立した新しい RTCEncodedVideoFrame オブジェクトを作成します。 | 127 | 127 | 145 | 26 | 127 | 26 |
| RTCEncodedVideoFrame インターフェースの `type` 読み取り専用プロパティは、このフレームがキーフレームかデルタフレームかを示します。 | 86 | 86 | 117 | 15.4 | 86 | 15.4 |
| RTCRtpReceiver オブジェクトの transform プロパティは、ワーカースレッドで実行されている変換ストリーム (TransformStream) をレシーバーパイプラインに挿入するために使用されます。これにより、パケット化モジュールから到着したエンコード済みのビデオおよびオーディオフレームに対して、再生やレンダリングが行われる前にストリーム変換を適用することが可能になります。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| WebRTC API の RTCRtpScriptTransform インターフェースは、WebRTC エンコード変換(ワーカースレッドで実行される TransformStream)を WebRTC の送信パイプラインおよび受信パイプラインに挿入するために使用されます。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpScriptTransform() コンストラクタは、新しい RTCRtpScriptTransform オブジェクトを作成します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| WebRTC API の RTCRtpScriptTransformer インターフェースは、WebRTC エンコード変換が、受信および送信の WebRTC パイプライン内のエンコード済みメディアフレームを変更するために使用できる、ワーカー側の Stream API インターフェースを提供します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpScriptTransformer インターフェースの generateKeyFrame() メソッドは、ビデオエンコーダーにキーフレームを生成させます。 | | | 117 | 15.4 | | 15.4 |
| RTCRtpScriptTransformer インターフェースの read-only プロパティは、対応する RTCRtpScriptTransform の生成時に(オプションで)2 番目の引数として渡されたオブジェクトを返します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpScriptTransformer インターフェースの readable 読み取り専用プロパティは、エンコードされたメディアフレームのソースとなる ReadableStream インスタンスを返します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpScriptTransformer インターフェースの sendKeyFrameRequest() メソッドは、受信したエンコード済みビデオフレームを処理している WebRTC Encoded Transform によって呼び出され、送信者に対してキーフレームを要求するために使用されることがあります。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpScriptTransformer インターフェースの「writable read-only」プロパティは、対応する RTCRtpScriptTransformer.readable にキューに入れられたエンコード済みメディアフレームのシンクとして使用できる WritableStream インスタンスを返します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCRtpSender オブジェクトの transform プロパティは、ワーカースレッドで実行されているトランスフォームストリーム (TransformStream) を送信パイプラインに挿入するために使用されます。これにより、コーデックによって出力された後、送信される前のエンコード済みビデオおよびオーディオフレームに対して、ストリーム変換を適用することが可能になります。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| WebRTC API の RTCTransformEvent は、エンコードされたフレームが WebRTC Encoded Transform による処理のためにキューに入れられた際に、専用のワーカーで発生するイベントを表します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
| RTCTransformEvent インターフェースの読み取り専用トランスフォーマー プロパティは、そのイベントに関連付けられた RTCRtpScriptTransformer を返します。 | 141 | 141 | 117 | 15.4 | 141 | 15.4 |
基本構文
addEventListener("rtctransform", (event) => { })
onrtctransform = (event) => { } 実務での使いどころ
-
WebRTC encoded transform の活用
rtctransform イベントは、エンコードされたビデオまたはオーディオフレームが WebRTC Encoded Transform によって処理のためにキューに入れられたときに、ワーカーの DedicatedWorkerGlobalScope オブジェクトで発生します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。