nagrywanie zdalnego strumienia webrtc z RecordRTC

Korzystam z biblioteki WebRTC Opentok JavaScript do obsługi czatu wideo 1 do 1 (peer-to-peer). Mogę zobaczyć wideo mojego partnera i bezbłędnie słyszeć dźwięk.

Moim życzeniem jest nagrywanie dźwięku / wideo z innego czatu (zdalnie). W tym celu używamRecordRTC. Udało mi się nagrać wideo innego uczestnika czatu (wideo jest wyprowadzane do elementu wideo HTML), ale jak dotąd nie udało mi się nagrać dźwięku (martwy plik .wav jest tak daleko, jak tylko mogłem). Korzystanie z Chrome Canary (30.0.1554.0). To jest moja metoda:

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 to własność niestandardowa przypisana do obiektu HTMLVideoElement poprzez modyfikację źródła biblioteki opentok js. Zawiera obiekt MediaStream połączony z odpowiednim elementem <video>.

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

Wideo jest nagrywane. Tworzony jest również plik audio, który ma długość zbliżoną do długości wideo, jednak jest całkowicie cichy (i tak, było dużo szumów po drugiej stronie podczas nagrywania)

Przetestowałem to z elementem wideo, który wyświetla strumień wideo mojej kamery internetowej (i dźwięk), i zadziałało: zarówno dźwięk, jak i wideo zostały nagrane:

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

Czy jest coś specjalnego w strumieniach pochodzących z odległej lokalizacji? Wszelkie wskazówki na ten temat byłyby bardzo pomocne.

questionAnswers(3)

yourAnswerToTheQuestion