2009-03-06 2 views
3

JMF (Java Media Framework)를 사용하여 비디오 캡처 장치에서 원시 비디오 프레임을 읽으려고합니다. 내가 성공적으로 "캡처"부분을 작성한JMF에서 비디오 캡처에서 원시 데이터 읽기

-관리자에 의해 생성 된 플레이어 객체를 사용하여, 나는 웹캠에서 실시간 비디오를 표시 할 수 있습니다. 그러나 실제 프레임에 액세스하기 위해 사용자 지정 구성 요소를 만드는 방법에 대해서는 알지 못합니다. 지금까지 관리자이 내가 필요한 모든 클래스 인스턴스를 생성했기 때문일 수 있습니다.

비디오를 표시하는 GUI 구성 요소를 작성하는 것으로 시작하고 싶습니다. (AWT/Swing에 익숙하지 않지만 다른 GUI 프레임 워크에 대한 지식을 기반으로, repaint 요청이있을 때 또는 새 프레임을 사용할 수있을 때 비디오를 그리는 JPanel에서 파생 된 것을 말합니다.) 나는 새로운 모든 프레임을 처리하고 모든 픽셀에 대해 x/y를 반복 할 수 있기를 원합니다. 내 장치에서 원시/RGB 형식에 액세스 할 수 있지만 YUV에서 자동 변환은 아프지 않습니다.

어디서부터 시작해야할지 모르겠습니다. JMF 문서에서는 프로세서 또는 DataSink에서 여러 클래스로 클래스를 파생시킬 것을 권장합니다. 프로세서 인터페이스를 사용하면 과도한 것처럼 보일 수 있습니다. 예를 들어 재생 및 타이밍 제어 기능이 필요하지 않습니다. 그리고 나는 그것을 처음부터 어떻게 구현할 지 모른다. 에서 파생되는 DataSink은 덜 쓸모없는 추상적 기능으로 더 단순한 옵션처럼 보입니다. 그러나 어느 경우에, 나는에 방법과 같은 완전한 손실에 있어요 :

가) 내 비디오 캡처 데이터 소스
b)는 클래스 내에서 실제 프레임 버퍼에 액세스 할 수있는 구성 요소를 연결

나는 할 수있다 심지어 잘못된 방향으로 가고 있습니다. 나는 지금까지 내가 시도한 것을 문서화하고 싶었다. JMF 문서는 부족하고 대부분 미디어 플레이어와 변환기를 [디자인하는] 방향으로 향하고 있습니다.

참고 : 처리 라이브러리에는 이에 대한 간단한 해결책이있는 것 같습니다. 나는 픽셀 레벨 접근을 제안하는 것처럼 보이는 x = new Image(captureDevice.getFrame())의 라인을 따라 예제를 보았습니다. 중간 타입이 아니라면 Image를 통해 보았습니다.

하지만 JMF가 얼마나 힘들었는지 정말보고 싶습니다.

+0

코드 게시판 : http://stackoverflow.com/questions/1382508/how-to-integrate-webcam-in-swing-application-of-java/1382841#1382841 – JRL

+0

@JRL : 그 모습 좋았어. 시도 할 기회가 한번도 없었어. 우리는 불행에서이 질문을 풀 수도 있습니다. 그 주석을 대답으로 바꾸고 받아 들일 수있게 해주세요. – aib

답변

1

내가 게시 한 here 코드는 JMF와 FrameGrabber라는 클래스를 사용합니다.

1

죄송합니다. 그러나이 시점에서 JMF는 본질적으로 사망했습니다. 당신은 아마도 그것을 위해 FX를 사용 하겠지만, FX는 정확하게 잘 작동하지 않습니다.

+0

그렇게 생각합니다. 어쨌든, 이것이 무엇인지를 간신히 기억합니다. 너무 일찍 낙담했습니다 :) – aib