2009-07-22 2 views
4

리눅스 컴퓨터에서 OpenCV을 사용하여 비디오를 쓰고 있습니다. Windows 컴퓨터에서 OpenCV을 사용하여 동일한 비디오를 읽고 싶습니다. 나는 openCV에 제공된 표준 코덱을 사용하여이를 수행 할 수 없다.플랫폼을 통한 OpenCV 비디오

아무도 내가 두 플랫폼에서 비디오를 읽고 쓸 수있는 방법을 제안 할 수 있습니까?

답변

1

OpenCV에 문제가 있다고 생각하지 않습니다. 귀하가 언급 한 것처럼 코덱과 함께 있다고 생각합니다. 또한 OpenCV에는 코덱이 포함되어 있다고 생각하지 않습니다 ... Windows에서 적절한 코덱을 설치했는지 다시 확인하십시오.

video codecs의 설명서를 보셨습니까?

2

OpenCV Wiki에서 직접이 문제를 해결할 수 있습니다. http://opencv.willowgarage.com/wiki/VideoCodecs과 특히 "호환성 목록"이라는 제목을 참조하십시오.

불행하게도 세 가지 플랫폼 (리눅스, 윈도우 & OSX)에 지원되는 유일한 코덱은 'DIB' 'I420'와 '모든 비 압축 비디오 코덱이다 따라서 정말 큰 파일 크기 있도록 IYUV'이다.

위키에는 두 플랫폼 모두에서 작동하지만 일부 3 가지에서 작동하지 않을 일부 코덱도 나와 있습니다.

비 압축 비디오 파일을 사용하기로 결정한 경우 VirtualDub과 같은 프로그램을 사용하여 Windows 컴퓨터에있는 파일 크기가 작은 파일로 변환 할 수 있습니다.


편집 :가 참고로, Windows에서 나는 모션 JPEG에서 OpenCV의 출력을 가지고 있고 나는이 영화의 인덱스 버그를 수정 파일을 다시 저장 directstream 복사 모드에서 VirtualDub을 사용합니다. 이 M-JPEG 비디오 파일은 Mac 및 Windows에서 기본적으로 재생됩니다. 내가을 OpenCV에 비디오 을 읽을하려고하면

, 나는 종종 첫 번째 (가상 더빙, 퀵타임 등을 사용), Cinepak이 내 비디오를 변환하고 다음을 OpenCV로 공급. Cinepak 인코더는 MJPEG 인코더보다 널리 사용되기 때문에 Cinepak을 사용합니다.

+0

어떻게 Motion-JPEG를 출력 할 수 있도록 opencv를 얻습니까? 광산이 충돌하고 코덱을 사용할 수 없다고 말합니다. – andrewrk

+0

이것은 내가 사용하는 relavent 코드 줄입니다. Windows XP입니다. (30), cvSize (xdim, ydim), 0); '나는 (비록 내가 아니지만)'exp-> Vid = cvCreateVideoWriter (MovieFileName, CV_FOURCC ('M', 'J', 'P', 'G' 긍정적 인 점은 MJPEG 인코더에는 기본적으로 OpenCV가 제공된다는 것입니다. 저는 항상 인덱스 파일을 망가 뜨리고있는 OpenCV의 MJPEG 구현이라고 생각했기 때문에 다른 비디오 플레이어가 VirtualDub을 읽기 전에 두 번째 패스와 직접 스트림 복사본을 만들어야합니다. – AndyL

관련 문제