|
단순히 화면 캡쳐만 일정시간마다 보내는 방법이라면 그리 어렵지는 않습니다.
MediaPlayer( Window Media Player 인지 MCI Class인 TMediaPlayer ) 정확히 모르겠습니다만
Window Media Player Component를 사용할경우 Window Media Player로 부터
IBasicVideo 를 Query 하여 GetCurrentImage 라는 함수를 통해서 이미지 캡쳐 화면을 받을 수 있습니다.
TMediaPlayer의 경우는 MCI API를 찾아보시면 비슷한 기능을하면 API가 있을 겁니다. ^ ^
만약 스트리밍을 원하시는 경우라면
인코딩된 파일내용을 전송하여 일정 파일로 만들고 ( 이파일을 Share 할 수있도록 만들어야함 )
그 파일내용을 디코딩하여 Directshow나 그외 API를 사용해서 플래이하시면 될것 같습니다.
실제로 mpeg 계열을 파일들은 파일에 열겨된 순서에 맞춰 Frame 단위로 구성되기 때문에
파일이 완성 되지 않더라도 현재 스트리밍 된 내용 만으로 플래이가 가능합니다.
좀더 원할한 플래이를 원하시면 asf 나 wmv등의 스트리밍용 포멧을 사용하시면 도움이 될듯합니다.
From Zeratul
mono 님이 쓰신 글 :
: Indy Server에서 IdTCPServer로 보낼려고 합니다.
: (ScktComp에서 ServerSocket 으로도 보내려고 했습니다.)
:
: 쨌든... MediaPlayer에서 화면을 서버에서 클라이언트로 보내려고 합니다.
: 보다 효율적으로 보내는 방법은 없을까요?
: (일단 보내는 방법이 있으면 알려주세요~)
:
: 한 서버에 여러개의 클라이언트가 접속해서 모든 클라이언트에 보내려고합니다.
:
: 참고로 서버에서 MediaPlayer를 열고 MediaPlayer에서 나오는 화면을 Panel로 출력하고 있습니다.
: 그 것을 각각의 클라이언트에 실시간으로 화면만 전송하려고 합니다.
: .
: .
: .
:
: 아, 그리고 참고 소스는
: void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
: {
: AnsiString stTemp = "";
: AThread->Connection->WriteLn( stTemp );
: }
: 이런식으로 텍스트는 보낼수 있지만, 동영상보내는 방법을 모르겠습니다 ㅡㅡ^
:
: 해결책좀 부탁합니다~ (--)(__) 꾸벅
|