Как реализовать одноранговую аудиоконференцию WebRTC в сетчатой топологии с использованием RTCMultiConnection
Я хочу реализовать одноранговую аудиоконференцию с использованием WebRTC. Я попытался RTCMultiConnection.js для реализации того же, но столкнулся с некоторыми проблемами, чтобы воспроизвести его вне сети (вне NAT). Я попытался настроить STUN и TURN, но проблема остается той же. Получение сообщения об ошибке "Ошибка подключения ICE. Повторное подключение однорангового подключения".
Конфигурация STUN и TURN, как показано ниже:
function initRTCMultiConnection(userid) {
var connection = new RTCMultiConnection();
connection.body = document.getElementById('videos-container');
connection.channel = connection.sessionid = connection.userid = userid || connection.userid;
connection.sdpConstraints.mandatory = {
OfferToReceiveAudio: false,
OfferToReceiveVideo: true
};
var iceServers = [];
iceServers.push({
url: 'stun:stun.l.google.com:19302'
});
iceServers.push({
url: 'stun:stun.anyfirewall.com:3478'
});
iceServers.push({
url: 'turn:turn.anyfirewall.com:443?transport=tcp',
credential: 'webrtc',
username: 'webrtc'
});
connection.iceServers = iceServers;
Я использую обновленную демонстрацию https://github.com/muaz-khan/WebRTC-Scalable-Broadcast.
Пожалуйста, предложите мне решение по этому вопросу.
Существует ли какой-либо альтернативный API/ библиотека для установки одноранговой аудиоконференции с использованием WebRTC?
1 ответ
Никогда не используйте сторонний сервер TURN. STUN может подойти, но как только вы установите свой собственный сервер TURN (или заплатите за один управляемый сервис), он даст вам часть STUN бесплатно.
Поэтому начните с развертывания своего собственного сервера STUN и TURN.