2014-02-20 1 views
0

저는 C++ 및 DirectX 또는 OpenGL의 Windows에서 투명도가있는 여러 1080p 비디오를 레이어하는 방법을 찾고 있습니다. 비디오는 다른 순간에 시작됩니다. 이상적으로 비디오는 다른 게임 내용과 함께 다른 렌더 대상과 혼합 될 수 있으므로 결과 비디오 텍스처에는 투명한 픽셀이 있어야합니다.Windows 향상된 비디오 렌더러 (EVR) : 투명도가있는 여러 개의 1080p 비디오 레이어?

EVR 및 하드웨어 가속으로이 작업을 수행 할 수 있습니까? 어떤 코덱이 지원됩니까? http://en.wikipedia.org/wiki/Media_Foundation에는 투명성이 언급되어 있지만 내 질문에는 답변이 없습니다. 모든 비디오가 동시에 시작되어야하고 결과 비디오 텍스처가 투명성이없는 것처럼 들립니다.

TIA 크리스토프

답변

0

이이 문제에 대한 어떤 확실한 대답에 주위 3월 14일에서 내 연구 결과입니다. 결과에 투명성이없는 것처럼 들렸 기 때문에 Media Foundation에서 언급 된 가능성을 시도하지 않았습니다.

두 번째 그레이 스케일 비디오를 사용하여 쉐이더 내부의 RGB 비디오를 마스킹 할 수있었습니다. 이것은 별도의 비디오 스트림을 사용하여 수행 할 수 있지만 동기화가 필요합니다. 또한 2 개 프레임을 나란히 배치하여 비디오를 인코딩 할 수도 있지만 많은 HW 가속 비디오 코덱은 이것을 허용하지 않습니다. WMF는 예외입니다. 성능은 좋지 않지만 3 개의 1080p30 비디오를 동시에 재생할 수있었습니다.

놀랍게도 Flash는 5 + 1080p30 비디오를 동시에 투명하게 재생할 수있었습니다. 플래시 비디오 코덱은 알파 값을 허용하지만 플래시를 사용하기 위해서는 내부적으로 만 관리했습니다.