1. 完全修飾されたコーデック文字列
コーデック文字列は "opus" である。
2. EncodedAudioChunk データ
Opus を含む EncodedAudioChunk
は、2つの異なる形式を取り得る。
ビットストリームが opus
形式である場合、EncodedAudioChunk
は、第
3節([OPUS])で説明される Opus パケットでなければならない
ビットストリームが ogg
形式である場合、EncodedAudioChunk
は、第
3節([OPUS-IN-OGG])で説明される音声データパケットでなければならない。
3. AudioDecoderConfig description
description
は、[OPUS-IN-OGG] の第5.1節で説明される
Identification
Header に任意で設定できる。
description
が設定されている場合、ビットストリームは
ogg
形式であるとみなされる。
description
が設定されていない場合、ビットストリームは
opus
形式であるとみなされる。
4. EncodedAudioChunk type
Opus を含む EncodedAudioChunk
の
[[type]]
は常に "key"
である。
注: 初期化が成功すると、任意のパケットをいつでも エラーなしにデコードできるが、これは期待される音声出力にならない可能性がある。
5. AudioEncoderConfig 拡張
partial dictionary AudioEncoderConfig {OpusEncoderConfig opus ; };
opus, 型は OpusEncoderConfig- Opus コーデック用のコーデック固有の構成オプションを含む。
5.1. OpusEncoderConfig
dictionary {OpusEncoderConfig OpusBitstreamFormat format = "opus";OpusSignal signal = "auto";OpusApplication application = "audio"; [EnforceRange ]unsigned long long frameDuration = 20000; [EnforceRange ]unsigned long complexity ; [EnforceRange ]unsigned long packetlossperc = 0;boolean useinbandfec =false ;boolean usedtx =false ; };
OpusEncoderConfig
が有効かどうかを確認するには、次の手順を実行する:
-
frameDurationが有効なフレーム継続時間でない場合、 これは [RFC6716] の第2.1.4節で説明されるが、falseを返す。 -
complexityが指定されており、0から10までの範囲(両端を含む)内でない場合、falseを返す。 -
packetlosspercが指定されており、0から100までの範囲(両端を含む)内でない場合、falseを返す。 -
trueを返す。
format, 型は OpusBitstreamFormat、既定値は"opus"- 出力
EncodedAudioChunks の形式を構成する。OpusBitstreamFormatを参照。 signal, 型は OpusSignal、既定値は"auto"- エンコードされる音声信号の型を指定する。
OpusSignalを参照。 application, 型は OpusApplication、既定値は"audio"- エンコーダーが意図する用途を指定する。
OpusApplicationを参照。 frameDuration, 型は unsigned long long、既定値は20000- 出力
EncodedAudioChunks のフレーム継続時間をマイクロ秒単位で構成する。 complexity, 型は unsigned long- [RFC6716] の第2.1.9節で説明されるように、エンコーダーの計算複雑度を構成する。
有効な範囲は
0から10までであり、10は最高の 複雑度を表す。値が指定されていない場合、既定値はプラットフォーム固有である: ユーザーエージェントは、モバイル プラットフォームでは既定値を5に設定し、その他すべてのプラットフォームでは 既定値を9に設定するSHOULD。 packetlossperc, 型は unsigned long、既定値は0-
エンコーダーが想定するパケット損失率を構成する。有効な範囲は
0から100までである。注: パケット損失率は エンコードの途中で更新される可能性があり、ユーザーエージェントにはこれらの再構成をサポートすることが推奨される。
useinbandfec, 型は boolean、既定値はfalse- [RFC6716] の第2.1.7節で説明されるように、エンコーダーが Opus インバンド前方誤り訂正 (FEC) を提供するかどうかを指定する。
usedtx, 型は boolean、既定値はfalse- [RFC6716] の第2.1.9節で説明されるように、エンコーダーが Discontinuous Transmission (DTX) を使用するかどうかを指定する。
5.2. OpusBitstreamFormat
enum {OpusBitstreamFormat "opus" ,"ogg" , };
OpusBitstreamFormat
は、符号化された音声ストリームをデコードするために
extra-data が必要かどうかを決定する。
opus- 符号化された音声ストリームをデコードするためのメタデータは不要である。
ogg- 符号化された音声ストリームのメタデータは、構成時に
AudioDecoderConfig.descriptionを介して提供される。
5.3. OpusSignal
enum {OpusSignal "auto" ,"music" ,"voice" , };
OpusSignal
は、エンコードされる信号の型の既定値を示す。
auto- 音声信号は特定の型であるとは指定されない。
music- 音声信号は音楽である。
voice- 音声信号は声または発話である。
5.4. OpusApplication
enum {OpusApplication "voip" ,"audio" ,"lowdelay" , };
OpusApplication
は、エンコーダーが意図する用途の既定値を示す。
voip- 音声明瞭度を向上させるために信号を処理する。
audio- 元の入力への忠実度を優先する。
lowdelay- 特定の動作モードを無効化することで、可能な最小の符号化遅延を構成する。
6. プライバシーに関する考慮事項
プライバシーに関する 考慮事項のセクション([WEBCODECS] 内)を参照されたい。
7. セキュリティに関する考慮事項
セキュリティに関する 考慮事項のセクション([WEBCODECS] 内)を参照されたい。