2014-09-30 2 views
2

내 웹캠을 녹화하고 라이브 스트림을 다른 클라이언트에 브로드 캐스트하려고합니다.라이브 웹캠 스트림 브로드 캐스트

내가 쉽게 그런 일에 같은 페이지에 비디오 태그에 웹캠을 표시 할 수 있습니다

:

function initialize() { 
    video = $("#v")[0]; 
    width = video.width; 
    height = video.height; 

    var canvas = $("#c")[0]; 
    context = canvas.getContext("2d"); 

    nav.getUserMedia({video: true}, startStream, function() {}); 
} 

function startStream(stream) { 
    video.src = URL.createObjectURL(stream); 
    video.play(); 

    requestAnimationFrame(draw); 
} 

function draw() { 
    var frame = readFrame(); 

    if (frame) { 
    replaceGreen(frame.data); 
    context.putImageData(frame, 0, 0); 
    } 

    requestAnimationFrame(draw); 
} 

function readFrame() { 
    try { 
    context.drawImage(video, 0, 0, width, height); 
    } catch (e) { 
    return null; 
    } 

    return context.getImageData(0, 0, width, height); 
} 

하지만 어떻게 다른 클라이언트의 브로드 캐스트 한 후, 서버에 그 스트림을 전송 몇 가지 이미지 프로세싱을 수행하고 ?

nodejs가 가장 좋은 방법입니까? 나에게 추천 할만한 읽을 거리/라이브러리가 있습니까?

답변

0

현재 작업 초안이 있지만 현재 브라우저에서 라이브 비디오를 브로드 캐스팅하는 가장 좋은 방법은 Flash ActionScript를 사용하는 것입니다. 물론 클라이언트는 브라우저에서 앱을 실행하기 위해 플러그인을 설치해야합니다. 이 경우 Apache 웹 서버를 사용하여 라이브 비디오를 브로드 캐스트 할 수 없습니다. Red5 (무료), Wowza 또는 Adobe Media Server와 같은 미디어 서버가 필요합니다. 당신이 도움이 here을 찾을 수 있다면 또한

은 다음을 참조하십시오

'의 WebRTC (RTC는 실시간 통신의 약자 임) 오디오/비디오 스트리밍 및 브라우저 클라이언트 (동료) 사이에 데이터를 공유 할 수있는 기술입니다. 일련의 표준으로서 WebRTC는 플러그인이나 타사 소프트웨어를 설치할 필요없이 모든 브라우저에 응용 프로그램 데이터를 공유하고 원격 화상 회의를 피어 투 피어 (peer to peer)로 수행 할 수있는 기능을 제공합니다. '

+1

WebRTC 및 getUserMedia는 사용하기가 쉽기 때문에 요즘 플래시를 권장하는 이유를 알 수 없습니다. 데이터 서버 측을 얻는 것은 까다 롭지 만, 특히 플래시를 사용하는 경우에도 마찬가지입니다. 특히 추가 처리를 원한다면 더욱 그렇습니다. – Brad

관련 문제