Frage

Wer weiß, wie Sprach- / Video-over-IP in einer Webapplikation zur Umsetzung mit HTML5 WebSockets?

Es wäre schön, wenn ich dies mit PHP oder Python, da ich umsetzen könnte (leider) nicht wissen, andere Programmiersprache zur Zeit.

Ein gutes Tutorial tun wird, sowie eine bereits Build-Lösung, die ich bezahlen muss.

Update1:
hinzugefügt Video, weil es nicht nur Audio / VoIP zusammen.

Update2:
Erste HTML5 Video Conference App ist bereits erstellt. Siehe meine eigene Antwort

War es hilfreich?

Lösung

Wenn Sie nur mit HTML5 gehen möchten, benötigen Sie einen Browser das HTML Media Capture Umsetzung Entwurf (verfügbar hier ), um die Rohdaten vom Mikrofon zu erreichen.

Wenn Sie diese Daten in der Hand haben, müssen Sie es über das Netzwerk zu senden. Websockets würde die HTML5-Option schnell genug Umläufe, um mit dem Server (lokale Audiodaten zu senden und Remote-Audio-Daten zur gleichen Zeit empfängt)

Da Sie Python erwähnen, würde ich empfehlen, die verdrehte Implementierung von WebSockets.

können Sie alle Ihre Kunden „registrieren“ auf der WebSocket-Server mit einem callerID, so dass der Server weiß, wo eine gegebene callerID zu finden.

Dann wird Ihr Server muss eine "invite" API wo caller1 "lädt" caller2.

Sobald der Rufaufbau ist und jeder Client startet seine Audiodaten zu senden, wird der Server in der Lage diese Audiodaten an die andere Partei zu senden.

Bei den Audiodaten zu empfangen, muss der Browser diese Audiodaten über die Lautsprecher spielen, wahrscheinlich das mit HTML5 audiotag.

Um dies zu tun, werden Sie gezwungen sein, einen „Trick“ zu verwenden: Statt den websocket Server mit uns darauf, die rohen Audiodaten an den Client, müssen Sie möglicherweise 2 „unendlich“ Dateien simulieren:

  1. caller1.wav: Ton eingefangen auf caller1 mic
  2. caller2.wav: Ton eingefangen auf caller2 mic

caller1 Browser würde caller2.wav im audio.src Attribute hinzufügen, sobald der Verbindungsaufbau ist (caller1 dieser Veranstaltung informiert würde über websocket) und hoffentlich, wenn der Python-Server fügt die rohen Audiodaten an den caller2.wav wie es erhält es, würde es anfangen zu spielen.

Das klingt wie ein cooler Prototyp Sie gehen zerhacken!

Viel Glück auf deiner Reise,

Jerome Wagner

Andere Tipps

Scheint, wie Ericsson das erste HTML5-Videokonferenz-App erstellt.

Die Technik, die sie verwendet:

  • Implementiert das Vorrichtungselement und den Stream-API (Geräte Element GUI derzeit in JavaScript geschrieben / CSS)
  • hinzugefügt MediaStreamManager zur Karte Stream-URLs an die entsprechende Pipeline in den Medien Backend
  • hinzugefügt MediaStreamTransceiver zu steuern, das damit verbundene Medienverarbeitung und Transport
  • Unterstützung für Binärdaten im WebSocket-Protokoll

Siehe auch: labs.ericsson.com :


Video auf YouTube: Jenseits HTML5: Conversational Voice and Video Demo | Ericsson Labs

Leider Ericsson will nicht teilen device_dialog.js (noch) nicht.

WebRTC könnte eine Antwort sein: http://www.webrtc.org/running-the- Demos (derzeit nur Chrome Canary mit Mediastream-Flag aktiviert)

Siehe Demo: https://apprtc.appspot.com (stellen Sie sicher, dass Sie in einem richtigen Browser sehen) und Code http://code.google.com/p/ WebRTC-Proben / source / browse / trunk / apprtc /


Der Grund, warum ich schreibe ist ... Ich habe wirklich billig Android-Tablet und kann nicht intall Skype noch Vtok noch Google Voice ist verfügbar außerhalb der USA. Ich brauche HTML5-basierte Lösung zu finden, wie ich in der Lage bin Opera Mobile 12 laufen und bekam http://html5demos.com/ gut funktioniert

@ work / gotta schnell

Schauen Sie sich die javaScript getUserMedia (CanIUse) - API (W3)

WebRTC ist die Antwort jetzt.

für node.js stack - Sie unter http://www.easyrtc.com/ . Beachten Sie, dass IE noch nicht Unterstützung für die APIs gebaut, die WebRTC Arbeit zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top