Я пытаюсь создать веб-API для видеочата, используя html и javascript. До сих пор я нашел этот код, который получает доступ к микрофонам и веб-камере на клиентском устройстве и отображает видео и аудио на экране этого клиента. Вот этот код:
<html>
<head>
<script>
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({ audio: true, video: { width: 1280, height: 720 } },
function(stream) {
var video = document.querySelector('video');
video.src = window.URL.createObjectURL(stream);
video.onloadedmetadata = function(e) {
video.play();
};
},
function(err) {
console.log("The following error occurred: " + err.name);
}
);
} else {
console.log("getUserMedia not supported");
}
</script>
</head>
<body>
<video></video>
</body>
</html>
Чтобы веб-приложение видеочата работало, видео- и аудиоданные должны быть отправлены обратно на сервер, где сервер может обработать эти данные и отправить их на другой клиентский компьютер, где оба человека могут иметь видеочат. Я провел некоторое исследование и считаю, что веб-сокеты могут быть моим лучшим выбором для отправки этих видео- и аудиоданных на сервер и для отправки сервером на другой клиентский компьютер. Я хочу иметь возможность сделать веб-сокет, используя javascript как на стороне сервера, так и на стороне клиента. когда я провел некоторое исследование, я нашел код, который объясняет, как создать соединение через веб-сокет, а затем как отправить серверу некоторые данные. вот код, который я нашел для этого:
var ws = new WebSocket("ws://localhost:9998/echo");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("Message to send");
alert("Message is sent...");
};
Чего я не понимаю, так это того, как сервер может получать эти данные с помощью javascript на стороне сервера. Я также не понимаю, как javascript на стороне сервера должен отправлять эти данные в javascript на стороне клиента на другом клиентском компьютере через веб-сокет. Я был бы очень признателен за все идеи, исходный код и ссылки о том, как отправлять потоковые видео- и аудиоданные на сервер, затем сервер должен получать данные с помощью javascript на стороне сервера, а затем сервер отправлять эти данные. на другой клиентский компьютер. Точно так же я хотел бы знать, являются ли веб-сокеты хорошим способом выполнения этой задачи, и если нет, то какие способы вы могли бы предложить.
Спасибо за уделенное время!