2009-08-26 5 views
2

이전에는 Managed Direct X 및 DirectShow.Net을 사용하여 간단한 메쉬의 텍스처로 비디오를 재생했습니다. 그런 다음 동일한 기술을 사용하여 텍스처를 통해 노출 된 다양한 기능을 사용하여 여러 비디오 소스를 단일 텍스처로 결합하여 이러한 스트림을 함께 섞습니다. 이것은 2 년 전의 매우 흥미로운 실험이었고, Managed Dirext X가 개발되고 지원 될 때 (더 이상 존재하지 않음) DirectShow.Net과 비슷하게 목적에 매우 적합했습니다 - 업데이트 된 것처럼 보이지 않습니다C#에서 Video의 두 스트림을 어떻게 섞을 수 있습니까?

저는이 공간을 다시 한번 탐험하고 있으며, 감가 상각되거나 수명이 다한 API를 사용하지 않고 C#으로이 작업을 수행하는 방법과 최선의 접근 방법을 알고 싶습니다.

답변

3

WPF에서는 매우 쉽습니다.

2 개의 MediaElement 컨트롤을 하나씩 사용하고 위쪽을 50 % 투명하게 만듭니다.

그러나, 나는 그것이 새로운 비디오

+0

이 문제에 대한 간단한 구현처럼 보이는 것은 매우 흥미로운 아이디어라고 생각합니다. 나는 이것에 총을 맞을 것이고 내가 비디오 블록으로 할 수있는 다른 것을 볼 것입니다. –

2

에 저장하는 것이 가능하다 생각하지 않는다 당신은 MDX와 DirectShow에서 같은과 거의 동일 SlimDX 오픈 소스 라이브러리를 사용하고 WIN7도 비스타에서 지원을 할 수 있습니다. 0

+0

이전에이 서재에 대해 들어 보지 못했습니다. 감사합니다. 내가 무거운 짐을 싣는 길을 끝내면 나는 그것을 조사 할 것이다. –

0

나는 정확히 2003 년경에 그랬다. 안전하지 않은 코드, 즉 두 개의 비디오 스트림에서 복사 된 각 이미지 프레임을 RGB 형식으로 변환하는 포인터를 사용해야했다. 각 픽셀 값을 평균 한 다음 원래 형식으로 다시 변환합니다. 안전하지 않은 코드를 사용하지 않으면 성능이 크게 저하됩니다. 나의 이해는 비디오 스트림을 처리 할 때 DirectShow가 자동으로 많은 코덱을 정렬하여 수행한다는 것입니다. 그 동안 이미지 스트림은 스레드 안전성과 적절하게 동기화되어야하므로 많은 오버 헤드가 발생합니다. 그러나 더 잘 알고있는 누군가는 이것에 뛰어 들어야합니다.

관련 문제