3

Ich versuche, ein Video-Chat-Web-API mit HTML und Javascript zu bauen. Bisher habe ich diesen Code gefunden, der auf die Mikrofone und die Webcam auf dem Client-Gerät zugreift und das Video und Audio auf dem Bildschirm des Kunden anzeigt. Hier ist der Code:Senden von Streaming-Video- und Audiodaten an den Server?

<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> 

Für den Video-Chat-Web-App, die Video- und Audiodaten haben zu arbeiten, zurück an den Server gesendet werden, wo der Server diese Daten verarbeiten kann und an den anderen Clients Computer senden, wo beide Leute können einen Video-Chat haben. Ich habe einige Nachforschungen angestellt, und ich glaube, dass Websockets meine beste Wahl sein könnten, um diese Video- und Audiodaten an den Server zu senden und den Server an den Computer des anderen Clients zu senden. Ich möchte in der Lage sein, den Websocket mit serverseitigem und clientseitigem Javascript zu machen. Als ich etwas recherchierte, fand ich einen Code, der erklärt, wie man eine Websocket-Verbindung erstellt und dann dem Server einige Daten sendet. hier ist der Code, den ich dafür gefunden:

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..."); 
      }; 

Was ich nicht verstehe, ist, wie der Server diese Daten mit Server-Seite Javascript empfangen kann. Ich verstehe auch nicht, wie das serverseitige Javascript diese Daten an das Client-seitige JavaScript auf dem anderen Client-Computer über einen Websocket senden soll. Ich würde sehr zu schätzen alle Ideen, Quellcode und Links zum Senden von Streaming-Video-und Audio-Daten an einen Server, dann für den Server, um die Daten mit serverseitigem JavaScript zu erhalten, und dann für den Server diese Daten an andere senden Kunden Computer. In ähnlicher Weise würde ich gerne wissen, ob Websockets ein guter Weg sind, um diese Aufgabe zu erfüllen, und wenn nicht, welche Wege würden Sie vorschlagen.

Vielen Dank für Ihre Zeit!

Antwort

0

Ich denke, dass Sie von einem Medienserver wie Kurento profitieren könnten. Sie können die Lernprogramme mit der serverseitigen Implementierung von nodejs unter here überprüfen. Sie verwenden Websockets für die Kommunikation zwischen Server-Seite und Clients, und die Erweiterung der Tutorials wird für Sie sehr einfach.

Der Server-seitige JavaScript-Code ist, was in der Medienwelt der Signalisierungsserver genannt wird. Dieser Teil des Codes ist verantwortlich für das Routing der Anrufe, die Verbindung und Registrierung von Benutzern, die Authentifizierung und so weiter. Es ist auch zuständig für die Steuerung des Medienaustausches, nicht aber für den tatsächlichen Medienaustausch. Die Medien fließen zwischen Clients und dem Medienserver.

Haftungsausschluss: Ich bin Teil des Kurento-Teams.

1

Es gibt keine gute Lösung für dieses Problem. Browser kann dies nicht ohne Plug-in (Flash, Java) nur durch HTML5 und Java-Skript.

Nur api ich fand, ist WebRTC: https://webrtc.org/start/ http://web-engineering.info/node/57 sie versuchen, dieses Problem zu lösen und Lösung ohne zusätzliche Software, aber jetzt ist es noch experimentell, kein Standard.

Verwandte Themen