2014-09-16 3 views
1

webRTC를 사용하여 파일 스트리밍을 실험하고 싶습니다. 그것은 카메라/라이브 마이크로 (에서 getUserMedia)하지만 함께 완벽하게 작동 나는 그것을 사전 recorderd 비디오 파일을 제공 할 때, 나는이 답변을 가지고 :로컬 비디오 파일을 미디어 스트림으로 변환합니다.

Uncaught TypeError: Failed to execute 'addStream' on 'RTCPeerConnection': parameter 1 is not of type 'MediaStream'. 

같은 선택한 파일과 RTCPeerConnection를 사용하는 간단한 방법이 있나요을 .getUserMedia()?

편집 : 여기

입니다 내가 파일을 얻을하지만 난 RTCPeerConnection의 addStream 방법으로 'localStream'을 추가 할 때, 그것은 실패 얼마나 ...

var localVideo = document.createElement("video"); 
var remoteVideo = document.createElement("video"); 

function onchange(event){ 

    var file = this.files[0]; 
    var type = file.type; 

    if(localVideo.canPlayType(type)){ 

     var localStream = window.URL.createObjectURL(file); 

     localVideo.src = localStream; 

     ... 

     peer.addStream(localStream); // fail here 

    }; 

}; 
+0

어떻게 로컬 비디오 파일을 사용하려고합니까? 이 코드를 게시 할 수 있습니까? FireFox에는 이것에 대한 객체가 내장되어 있지만 Chrome에서는 그렇지 않습니다. –

+0

방법을 찾았습니까? 이 기능이 정확히 필요합니다. – IvRRimUm

답변

1

A) createObjectURL은 악합니다. 탐색 할 때까지 응용 프로그램이 자원으로 완료되는시기를 알 수 없습니다. 비디오 요소가 스트리밍 미디어 파일에 src URL을 사용할 수 있기 때문에 video.srcObject (현재 video.mozSrcObject)를 사용하십시오.

b) 다른 방법으로는 불가능합니다. AddStream은 URL이 아닌 MediaStream을 사용합니다.

작업반 스트림 = video.captureStream()를 추가 할 계획이다하지만 아직 speced되지

업데이트 : 사양은 여기에 있습니다 : 위의 그것은 파이어 폭스에서 구현 것 Media Capture from DOM Elements , 그리고 크롬 53 (Sam Dutton's article 참조)

+0

이것에 대한 최신 정보? – IvRRimUm

+1

spec 및 예제 링크가 포함 된 답변이 업데이트되었습니다. – jesup

관련 문제