2011-05-04 3 views
0

현재 비디오를 재생중인 창의 윈도우 핸들을 얻는 방법이 있습니까? 이것은 내 프로그램에서 갖는 유일한 정보입니다. 우리는 비디오를 재생중인 창의 창 핸들을 얻을 수 있습니까?


잘못

내가 내가 여기 달성하고자 정확히 무엇인지 설명해야한다고 생각 답변으로 제공하는 정보를 포함하도록 업데이트되었습니다.

실제로 DVD 데이터를 원격 컴퓨터에 공유/스트리밍하고 싶었습니다. 현재 내가하고있는 일은 화면/비디오를 스틸 프레임으로 캡처하여 원격 시스템으로 전송하는 것입니다. 그러나 이제는 호스트 시스템에서 비디오를 재생하고 싶지 않습니다. 나는 가능한 해결책이 거의 없다고 생각할 수 있습니다.

1. 숨김/최소화 된 창의 데이터를 캡처 할 수있는 경우.

일부 조사가 가능하지 않은 것으로 보입니다. 생각을 더하십시오.

2.) DVD 데이터 형식을 ffmpeg 형식으로 변환하고 스트리밍하십시오.

데이터 형식을 변환 할 수 있는지 확인하지 마십시오. 대부분의 DVD 형식이 비밀리에 허용되면이 옵션을 사용할 수 있지만 복잡 할 수 있는지 잘 모르겠습니다.

3.) 가상 표면을 만들어 가상 표면에 DVD 데이터를 재생하고 그 표면의 화면을 캡처합니다.

커널 모드 드라이버에서 만든 가상/가짜 표면에서 DVD가 재생되는지 확실하지 않습니다.

+0

어떤 프로그램이 동영상을 재생하나요? 다양한 프로그램에는 다양한 방법이 있습니다. – Piskvor

답변

0

창에는 세 가지 기본 재생 엔진이 사용됩니다. DirectShow (WMP, MPC), ffmpeg (VLC, MPlayer) 및 QuickTime.

DirectShow를 자세히 보면 하드웨어 오버레이, 창 및 창없는 렌더링 및 Direct3d 표면 지원을 지원한다는 것을 알 수 있습니다.

하나의 앱에 집중하는 경우에도 사용중인 렌더러의 종류를 모르기 때문에 문제가 발생할 수 있습니다. 항상 동영상과 동일한 위치와 크기를 가진 하위 창을 찾을 수 있지만 버전 등간에 변경할 수있는 것에 의존하고 있습니다.

+0

및 AVI 및 MediaFoundation - Microsoft에서 제공하는 미디어 layback 엔진은 4 가지 이상이며, 웹킷 및 게코 기반 브라우저에서 사용하는 플래시 비디오 재생 엔진 및 비디오 렌더링 엔진은 말할 필요가 없습니다. –

+0

@Larry : 그렇습니다.하지만 MCI/VFW/ActiveMovie/DirectShow/MediaFoundation에 대한 세부 정보를 얻지 못했습니다. 플래시와 브라우저는 좋은 지적이다. – Anders

+0

3을 불러내는 것은 이것이 포함 할 수있는 문제인지 아닌지를 나타냅니다. –

관련 문제