2011-08-02 5 views
0

Windows 용 Android 용 OpenCV 2.2에서 작업 중이며 cvCreateVideoWriter를 사용할 때 문제가 있습니다. 항상 NULL을 반환합니다. 나는 그것이 올바르게 구축되지 않은 FFMPEG 라이브러리와 관련이 있다고 생각한다. 문제는 내가 http://opencv.willowgarage.com/wiki/Android2.2에있는 지침을 따랐고 FFMPEG가 타사 라이브러리로 포함되어 있기 때문에 (적어도 OpenCV 패키지 전체를 소스로 볼 수 있음)이 라이브러리를 설치하기 위해 추가 작업을 수행 할 필요가 없다고 생각했습니다. . 내가 틀렸을지도 모른다. 라이브러리가 올바르게 빌드되었는지 (또는 빌드되었는지) 어떻게 확인합니까? 기본 make 파일을 변경해야합니까?cvCreateVideoWriter (OpenCV 2.2 + FFMPEG)

도움을 주시면 감사하겠습니다.

감사합니다.

+0

또한 컴파일이 잘되었다고 가정하면 헤더 파일 (.h)을 #include해야합니까? avcodec.h? avformat.h? 다른? – androidtje

+0

'cvCreateVideoWriter()'를 어떻게 호출할까요? 소스 코드 없이는 당신을 도울 수 없습니다. – karlphillip

답변

0

cvCreateVideoWriter()를 사용할 때 고려해야 할이 중요한 일이 있습니다

  • 응용 프로그램이 파일을 생성하고 쓸 수 있도록 권한을 필요가. 이를 수행하는 데 필요한 디렉토리 권한을 설정했는지 확인하십시오.

  • 함수의 두 번째 인수는 프레임을 압축하는 데 사용되는 코덱의 코드입니다. 예를 들어, CV_FOURCC('P','I','M','1')은 MPEG-1 코덱이고 CV_FOURCC('M','J','P','G')은 motion-jpeg를 정의합니다.

전형적인 호출은 다음과 같을 수 있습니다 : 다른 코덱

CvVideoWriter *writer = cvCreateVideoWriter("video.avi", CV_FOURCC('M','J','P','G'), fps, size, 0); 
if (!write) 
{ 
    // handle error 
} 

내가 호출 제안 cvCreateVideoWriter. 플랫폼이 현재 사용중인 플랫폼을 지원하지 않을 수 있습니다.

Android 용 기본 빌드에서 플래그 HAVE_FFMPEG을 사용할 수 있는지 모르겠지만 ffmpeg가 설치되어 있어야하며 OpenCV를 컴파일 할 때이 플래그가 활성화되어 있는지 확인하는 것이 가장 좋습니다.