#javascript #socket.io #stream #webrtc #rtcmulticonnection
#javascript #socket.io #поток #webrtc #rtcmulticonnection
Вопрос:
Я подготовил приложение для потокового вещания с веб-камеры и поэтому предварительно просмотрел веб-камеру пользователя в теге видео, используя «navigator.mediaDevices.getUserMedia».
После того, как пользователь нажмет кнопку и «RTCMultiConnection» откроет комнату, я хочу добавить веб-камеру / видео для предварительного просмотра, которые будут использоваться в качестве веб-камеры-потока.
Я просто не понимаю, как это работает.
Часть, которую я собираюсь вам показать, начинается после сокета.установлено соединение ввода-вывода — метод «connection.open» также возвращает, что комната создана и соединение установлено. Итак, сигнализация работает — я просто не знаю, как просто прикрепить мое видео к объекту подключения (RTCmulsiconnection).
Я пытался использовать метод «attachStreams», но безуспешно.
//Get Users Webcam
navigator.mediaDevices.getUserMedia({
audio: true,
video: true
}).then(function(stream) {
$("#mediaPreview").show();
let preview = document.getElementById('mediaPreviewVideo');
preview.srcObject = stream;
preview.volume = 0;
preview.play();
});
//Start stream
$("#btnMediaStreamStart").on('click', function(e) {
//Prevent Default amp; Hide
e.preventDefault();
//Add Classes
$("#mediaPreviewVideo").addClass('webcam-online');
$("#mediaStreamStatus").show().addClass('bg-success').html('<small><strong>Live</strong></small>');
connection.socketURL = 'localhost:9001/';
let connectionRoom = '123';
connection.open(connectionRoom, function(e) {
if (e === true) {
connection.attachStreams.forEach(function(localStream) {
//How to attach the cam stream? Is my previously created video even part of the "streams"?
});
connection.mediaConstraints = {
audio: {
deviceId: selectAudio
},
video: {
deviceId: selectVideo
}
};
}
});
Ответ №1:
Попробуйте использовать
connection.addStream(stream);
где stream
находится ваш уже захваченный поток — возможно, через getUserMedia()