Aufzeichnen eines Remote-WebRTC-Streams mit RecordRTC

Ich verwende die Opentok JavaScript WebRTC-Bibliothek zum Hosten eines 1-zu-1-Video-Chats (Peer-to-Peer). Ich kann das Video meines Kollegen sehen und den Ton einwandfrei hören.

Mein Wunsch ist es, Audio / Video von einer anderen Chat-Partei (Fernbedienung) aufzunehmen. Zu diesem Zweck benutze ichRecordRTC. Ich konnte das Video eines anderen Chat-Teilnehmers aufzeichnen (das Video wird als HTML-Videoelement ausgegeben), es ist mir jedoch bisher nicht gelungen, Audio aufzuzeichnen (eine tote WAV-Datei ist so weit wie möglich). Verwenden von Chrome Canary (30.0.1554.0). Das ist meine Methode:

var clientVideo = $('#peerdiv video')[0];//peer's video (html element)
var serverVideo = $('#myselfdiv video')[0];//my video (html element)

var context = new webkitAudioContext();
var clientStream = context.createMediaStreamSource(clientVideo.webRTCStream);
var serverStream = context.createMediaStreamSource(serverVideo.webRTCStream);

webRTCStream ist eine benutzerdefinierte Eigenschaft, die dem HTMLVideoElement-Objekt durch Ändern der Quelle der opentok js-Bibliothek zugewiesen wurde. Es enthält ein MediaStream-Objekt, das mit dem entsprechenden <video> -Element verknüpft ist.

var recorder = RecordRTC({
                    video: clientVideo,
                    stream: clientStream
                });
recorder.recordAudio();
recorder.recordVideo();

Video wird aufgenommen. Eine Audiodatei wird ebenfalls erstellt, hat eine Länge, die der Länge des Videos nahekommt, ist jedoch völlig geräuschlos (und ja, während der Aufnahme wurde auf der anderen Seite viel Rauschen erzeugt).

Ich habe dies mit einem Videoelement getestet, das den Videostream (und das Audio) meiner Webcam anzeigt, und es hat funktioniert: Sowohl Audio als auch Video wurden aufgezeichnet:

...
var recorder = RecordRTC({
                    video: serverVideo,
                    stream: serverStream
                });
...

Haben Streams, die von einem entfernten Standort stammen, etwas Besonderes? Jede Anleitung zu diesem Thema wäre sehr hilfreich.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage