2011-08-31 2 views
1

내가 WPF를 사용하여 응용 프로그램을 구축하기 위해 노력하고있어이 응용 프로그램은 기본적으로 웹캠에서 비디오를 얻고 스트리밍 할 필요가 (이 부분은 많은 스카이프처럼, 나는 이미이 부분을했습니다)하지만 까다로운 부분은 내가 원하는입니다 사용자가 비디오 스트림을 재생할 수 있습니다. 그들이 수염을 그릴 수 있어야처럼 그것을 볼 수 있어야 otherside에서 클라이언트 (수염 그냥 예입니다, 그것은 가상 화이트 보드 같은 것을 ... 할 수있다), 또한 가능하면 그것을 조작 할 수 있습니다.스트리밍하기 전에 Expression Encoder SDK를 통해 웹캠에서받은 비디오를 편집 할 수 있습니까?

나는 그것이 아마 실버 더 쉬울 수 있습니다 알고 있지만 WPF는 필수입니다. 어떤 도움을 주시면 감사하겠습니다! 나에게 길을 보여줘 .. 고마워. 여기

내가 어쨌든에 도움이 경우 스트림을 수집하는 데 사용하는 코드입니다,하지만 난, 변경 아무것도 열려있어;

_job = new LiveJob(); 
EncoderDevice videoDev = null; 
foreach (EncoderDevice ved in EncoderDevices.FindDevices(EncoderDeviceType.Video)) 
    if (ved.Name == VideoDevices.SelectedItem.ToString()) 
     videoDev = ved; 

EncoderDevice audioDev = null; 
foreach (EncoderDevice aed in EncoderDevices.FindDevices(EncoderDeviceType.Audio)) 
    if (aed.Name == AudioDevices.SelectedItem.ToString()) 
     audioDev = aed; 
LiveDeviceSource deviceSource = _job.AddDeviceSource(videoDev, audioDev); 

_job.ActivateSource(deviceSource); 

PullBroadcastPublishFormat outputFormat = new PullBroadcastPublishFormat(); 
outputFormat.BroadcastPort = 8080; 
_job.PublishFormats.Add(outputFormat); 

_job.StartEncoding(); 
+1

소환 콧수염 '(즉, 뚜렷한 객체로 취급되거나 비디오 피드와 분리되어 있습니다), 아니면 그저 그릴 수있게하려는 것입니까? –

+0

답장을 보내 주셔서 감사합니다! 둘 다 화이트 보드에서 활발히 활동하기를 원합니다. 그래서 그들은 그릴 수 있어야합니다. 그러나 당신의 대답은 충분히 성취 된 것으로 보이고, 다른 사람들로부터 그 생각을 듣고 생각을 바꾸게했습니다. – umutto

답변

1

나의 제안 결과를 오버레이 비디오에 별도 와이어를 보내 사람들이 페인트/조작 명령 세트를 구축하고, 그것을 다른 쪽 끝을 재구성합니다. 이것은 그들이 개별적으로 변경 사항을 모두 보낼 것입니다, 그들은 작업을 '취소'쉽게 할 수 쉬운 양방향 상호 작용을 허용 아닌 비트 맵 조작 등

이러한 명령은 수를 수행 할 것입니다; 당신이 이동 '뜻, 워프 이러한 매개 변수와 함께, 여기에 변환을 적용,이 브러시로 이러한 점을 따라 베 지어 곡선을 그립니다 여기에 원을 그리, 클라이언트가 그것을 조작 할 수 말할 때 등이 여기에 수염

+0

답변 해 주셔서 감사합니다! 나는 똑같은 일을하는 것을 고려하고 있었지만, 같은 흐름에서 그들을 모두 감싸는 것은 다른 선택처럼 보였고, 결정할 수 없었다. 하지만 이제 다시 생각해 보면보다 논리적 인 가능성을 취소 할 수 있습니다. – umutto