2017-02-08 9 views
1

オーディオコールをモノラル専用に強制しようとしていますが、このコールのコーデックとしてPCMU、G.729、OPUS、SpeeXを使用します。WebRTCオーディオコールでモノラル/ステレオをコントロールする方法は?

今私は、SDPメッセージに選択したコーデックを検索するには、次のコードを使用しています:

他の機能は、ここで見つけることができます:

http://www.codeforge.com/read/252733/sdputils.js__html

ありますリンク上の他の多くの機能がありますが、私が選択したコーデックで正常に動作するかどうかはわかりません。

ありがとうございます!オーディオ用

答えて

2

、 "A = rtpmap" 行の形式は次のとおりです。たとえば

a=rtpmap:<payload type> <encoding name>/<clock rate>[/<number of channels>]

a=rtpmap:111 opus/48000/2

だから、あなたはそれらの行をスキャンし、削除することができます2チャンネルのコーデックコーデックを削除するには、ペイロードタイプ(この場合は111)を「m =」行から削除し、それに「a = fmtp」行を削除する必要があることに注意してください。私はsdputils.jsがこの種のことをするコードを持っていると信じています。

Opusは常に2つのチャンネルを持つように見えるため、特別なケースです。新しいオファー/アンサーをしなくても、モノラルとステレオを切り替えることができます。そうオーパス、モノ優先対ステレオとは、0又は1に設定されている「ステレオ」パラメータによって示される:

a=fmtp:111 stereo=0 
+0

実際、Opusは、セッション中にモノラルとステレオを透過的に切り替えることができるため、常に「opus/48000/2」として宣言されています。受信機は、ステレオを好むかどうか(デフォルトは 'stereo = 0'、すなわちモノラル)を示す' stereo'fmtpパラメータを使用することができます。送信者は、 'sprop-stereo'パラメータ(デフォルトは' sprop-stereo = 0')でステレオを送信する可能性があるかどうかを示すこともできます。詳細は、[RFC 7587](https://tools.ietf.org/html/rfc7587)を参照してください。送信される内容にかかわらず、Opusデコーダはモノラルまたはステレオのどちらでも出力できます。この行は、SDPの中で最も柔軟性がありますが、削除する必要はありません。 – mark4o

+0

あなたは正しいです。私の答えが更新されます。 –

0

あなたはhttps://github.com/beradrian/sdpparserを使用し、JSONオブジェクトとして全体のSDPペイロードを変更することができます。免責事項:私はsdpparserの著者です。

関連する問題