2016-03-29 26 views
0

Uzak kullanıcının medya akışını kaydetmeye çalışıyorum. Uzak kullanıcıdan aktarılan Media Stream nesnesi, getUserMedia'dan oluşturulan yerel Media Stream nesnesine çok benziyor, ancak bunu Media Stream görselleştiricisine aktardıktan sonra hiçbir şey çıkmıyor (yerel Medya Akışını iletirseniz, görselleştiricinin bir çıktı). Uzak kullanıcının Medya Akışını duyabiliyorum, böylece bir şeyin geçtiğini biliyorum.Uzak webRTC MediaStream nasıl kaydedilir?

uzak medya akışı

active: true 
id: "Q7aYJkeOt5xhHJ53c3JVhr41scl6QQEib5lt" 
onactive: null 
onaddtrack: null 
onended:() 
oninactive: null 
onremovetrack: null 
__proto__: MediaStream 

gibi görünür ve bir ses vardır

enabled: true 
id: "021f5032-a524-42ae-ad40-bf0798df89cd" 
kind: "audio" 
label: "021f5032-a524-42ae-ad40-bf0798df89cd" 
muted: false 
onended: null 
onmute: null 
onunmute: null 
readyState: "live" 
remote: true 
__proto__: MediaStreamTrack 

yerel Medya Akış görünen bir ses parçasıyla

active: true 
id: "fP3smf9D78yl9YXV8jZwGPkMNL2UkwrXc2sl" 
onactive: null 
onaddtrack: null 
onended:() 
oninactive: null 
onremovetrack: null 
__proto__: MediaStream 

gibi bir şey

enabled: true 
id: "32da421e-0a35-4fe4-b553-8a3206d244ec" 
kind: "audio" 
label: "Default" 
muted: false 
onended: null 
onmute: null 
onunmute: null 
readyState: "live" 
remote: false 
__proto__: MediaStreamTrack 

Görebildiğim tek gerçek fark, ses kaydındaki uzak bayrağım.

cevap

1

ardından kod Chrome 48 beri desteklenir:

peer.onaddstream = function(event) { 
    var stream = event.stream; 

    window.recorder = new MediaRecorder(stream, { 
     type: 'video/webm' 
    }); 

    recorder.start(99999999999999999); 
}; 

btnStopRecording.onclick = function() { 
    if (!window.recorder) return; 
    recorder.ondataavailable = function(event) { 
     var blob = event.data; 
     console.log(blob.size, blob); 
    }; 
    recorder.stop(); 
}; 

Çapraz tarayıcı uygulaması: https://github.com/streamproc/MediaStreamRecorder

+0

Ben esas olarak, Medya Akışları kaydetmek için böyle Twilio gibi bir bulut tabanlı kayıt altyapısını kullanmak isteyen ediyorum İstemci tarafı ağ yükünü azaltır. Yerel Medya Akışı ile uzaktan kumanda arasındaki farkı göremiyorum, uzaktan görülemezken yerel görüntülenebilir ve kaydedilebilir. Media Stream nesnesini ayrıştırmam gerekiyor mu veya MediaStreamTrack'i kullanabilir ve bunu kayıt altyapısına gönderebilir miyim? –

+0

@ muaz-khan [Chrome 49, bayraksız MediaRecorder API'sini destekleyen ilk platformdur] (https://github.com/addpipe/Media-Recorder-API-Demo). –