gravando um fluxo remoto webrtc com RecordRTC
Eu estou usando a biblioteca WebRTC do Opentok JavaScript para hospedar um chat de vídeo 1-a-1 (ponto a ponto). Eu posso ver o vídeo do meu par e ouvir o áudio sem falhas.
Meu desejo é gravar áudio / vídeo de outra parte do chat (remoto). Para este propósito, estou usandoRecordRTC. Consegui gravar o vídeo de outro participante do bate-papo (o vídeo é enviado para o elemento de vídeo HTML), mas, até agora, não consegui gravar áudio (um arquivo .wav dead-silence chegou até onde consegui). Usando o Chrome Canary (30.0.1554.0). Este é o meu método:
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 é uma propriedade customizada i designada para o objeto HTMLVideoElement, modificando a origem da biblioteca opentok js. Contém o objeto MediaStream vinculado ao respectivo elemento <video>.
var recorder = RecordRTC({
video: clientVideo,
stream: clientStream
});
recorder.recordAudio();
recorder.recordVideo();
O vídeo é gravado. O arquivo de áudio também é criado, ele tem um comprimento que é próximo à duração do vídeo, no entanto, é completamente silencioso (e sim, houve muito barulho fazendo do outro lado durante a gravação)
Eu testei isso com o elemento de vídeo que exibe o fluxo de vídeo (e áudio) da minha webcam e funcionou: o áudio e o vídeo foram gravados:
...
var recorder = RecordRTC({
video: serverVideo,
stream: serverStream
});
...
Há algo especial sobre fluxos originados de um local remoto? Qualquer orientação sobre esse assunto seria muito útil.