2017-02-08 3 views
1

Je suis en train de forcer mon audio appelle à mono seulement, je suis prêt à utiliser PCMU, G.729, OPUS et Speex que mes codecs pour cette demande.Comment contrôler mono/stéréo en appel audio WebRTC?

En ce moment je suis en utilisant le code suivant pour rechercher le codec choisi dans mon message sdp:

Les autres fonctions sont disponibles ici:

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

Il y a beaucoup d'autres fonctions sur le lien mais je ne sais pas si elles fonctionneront correctement sur mes codecs sélectionnés.

Merci d'avance!

Répondre

2

Pour l'audio, le format "a = rtpmap" lignes est:

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

Par exemple:

a=rtpmap:111 opus/48000/2

Ainsi, vous pouvez numériser pour les lignes et supprimer n'importe quel codec avec 2 canaux. Notez que pour supprimer un codec, vous devez également supprimer le type de charge utile (dans ce cas, 111) de la ligne "m =" et supprimer les lignes "a = fmtp". Je crois que sdputils.js a un code pour faire ce genre de chose.

Opus est un peu un cas particulier cependant, car il apparaît toujours comme ayant 2 canaux, ce qui permet de basculer entre mono et stéréo en bande sans faire une nouvelle offre/réponse. Donc, avec l'Opus, stéréo vs préférence mono est indiquée par un paramètre « stéréo » qui est réglé sur 0 ou 1:

a=fmtp:111 stereo=0 
+0

En fait, l'Opus est toujours déclarée comme 'opus/48000/2', car il peut basculer entre mono et stéréo de manière transparente au cours de la session. Le récepteur peut utiliser le paramètre fmtp 'stereo' pour indiquer s'il préfère la stéréo (par défaut' stereo = 0', c'est-à-dire mono). L'expéditeur peut également indiquer s'il est susceptible d'envoyer une chaîne stéréo avec le paramètre 'sprop-stereo' (par défaut' sprop-stereo = 0'). Voir [RFC 7587] (https://tools.ietf.org/html/rfc7587) pour plus de détails. Indépendamment de ce qui est envoyé, le décodeur Opus peut le sortir en mono ou en stéréo. Cette ligne est probablement la plus flexible de votre SDP, pas une à supprimer. – mark4o

+0

Vous avez raison; mettra à jour ma réponse. –