MediaStreamRecorder icon indicating copy to clipboard operation
MediaStreamRecorder copied to clipboard

can not record local Stream and remote Stream at the same time

Open cccccccoder opened this issue 10 years ago • 7 comments

i try to record local stream and remote stream when two peers established a p2p connection(video chat), then upload the record-file to server ,but only remoteStream can be recorded, here's my code

            pc.oniceconnectionstatechange = function(event) {
    console.log("iceConnectionState:" + pc.iceConnectionState);
    if (pc.iceConnectionState == 'connected') {
        // when connected, start to recording
                    localRecorder = new MultiStreamRecorder(localStream);
        localRecorder.video = inputElement; // to get maximum accuracy
        localRecorder.audioChannels = 1;
        localRecorder.ondataavailable = function (blobs) {
            if (blobs.audio)
                console.log("recorded local audio");
            if (blobs.video)
                console.log("recorded local video");
            var currentIndex = localIndex ++;
            var fileName = 'localVideo-' + currentIndex +'.webm';  // 
            var formData = new FormData();
            // append video blob
            formData.append('videoFileName', fileName);
            formData.append('videoFile', blobs.video);
            // append audio blob
            fileName = 'localAudio-' + currentIndex +'.wav';  //
            formData.append('audioFileName', fileName);
            formData.append('audioFile', blobs.audio);
            uploadFile(formData);
        };
        localRecorder.start(3 * 1000);

                     //record remoteStream
                    remoteRecorder = new MultiStreamRecorder(remoteStream);
        remoteRecorder.video = videoOutput; // to get maximum accuracy
        remoteRecorder.audioChannels = 1;
        remoteRecorder.ondataavailable = function (blobs) {
            // blobs.audio
            // blobs.video
            if (blobs.audio)
                console.log("recorded remote audio");
            if (blobs.video)
                console.log("recorded remote video");
            var currentIndex = remoteIndex ++;
            var fileName = 'remoteVideo-' + currentIndex +'.webm';
            var formData = new FormData();
            // append video blob
            formData.append('videoFileName', fileName);
            formData.append('videoFile', blobs.video);
            // append audio blob
            fileName = 'remoteAudio-' + currentIndex +'.wav'; 
            formData.append('audioFileName', fileName);
            formData.append('audioFile', blobs.audio);
            uploadFile(formData);
        };
        remoteRecorder.start(3 * 1000);
    }
}

cccccccoder avatar Apr 17 '15 01:04 cccccccoder

It should be recording only local-stream----NOT remote one.

Remote recording in Firefox isn't working as well.

BTW, make sure that video property is having valid reference.

recorder.video = uniqueHTMLVideoElement;

BTW, your code should be working in Chrome.

muaz-khan avatar Apr 18 '15 02:04 muaz-khan

Hi, any updates on this issue?

dev-mraj avatar Sep 17 '15 14:09 dev-mraj

actually can we record just remote stream only?

dev-mraj avatar Sep 17 '15 14:09 dev-mraj

You can record remote-audio in Firefox using StereoAudioRecorder.js i.e. by using WebAudio solutions:

// if you're using MediaStreamRecorder.js
IsChrome = true; // this will force WebAudio solutions
var mediaRecorder = new MediaStreamRecorder(remoteStream);
mediaRecorder.mimeType = 'audio/wav';

// if you're using RecordRTC
var recordRTC = RecordRTC(remoteStream, {
     type: 'audio',
     recorderType: StereoAudioRecorder
});

Remote audio recording doesn't works in Chrome.

Demo, try in Firefox:

muaz-khan avatar Sep 17 '15 14:09 muaz-khan

Thanks... hope chrome get working asap. On Sep 17, 2015 7:58 PM, "Muaz Khan" [email protected] wrote:

You can record remote-audio in Firefox using StereoAudioRecorder.js i.e. by using WebAudio solutions:

// if you're using MediaStreamRecorder.js IsChrome = true; // this will force WebAudio solutionsvar mediaRecorder = new MediaStreamRecorder(remoteStream); mediaRecorder.mimeType = 'audio/wav'; // if you're using RecordRTCvar recordRTC = RecordRTC(remoteStream, { type: 'audio', recorderType: StereoAudioRecorder });

Remote audio recording doesn't works in Chrome.

Demo, try in Firefox:

  • https://www.webrtc-experiment.com/demos/remote-stream-recording.html

— Reply to this email directly or view it on GitHub https://github.com/streamproc/MediaStreamRecorder/issues/34#issuecomment-141104015 .

dev-mraj avatar Sep 17 '15 14:09 dev-mraj

how can we record local and remote stream using recordRTC in a single stream?

Dhanashri04 avatar Sep 25 '17 08:09 Dhanashri04

how can we record local and remote stream using recordRTC in a single stream?

haseebsaif avatar Jul 19 '18 17:07 haseebsaif