4채널 캡쳐화면을 보여주는 프로그램을 만들고 있는데요
글쓴이: deadskinsos / 작성시간: 목, 2009/10/15 - 11:31오후
안녕하세요 수고 하십니다.
리눅스 기반의 v4l로 영상을 받아와서 화면에 뿌리는 프로그램을 구현하고 있는데요
4개의 채널 (즉 캠을 4개 꽂아서) 쓰레드로 구현하여 영상을 뿌립니다.
근데 문제가 있는데요
시스템상에서 dev/video0 ~ video3 까지 4개의 웹캠 모듈이 다올라가긴 하는데
영상을 뿌려보면 3개의 채널만 열려서 화면에 뿌려주게 되고
1개의 채널은 열리질 않습니다.
GTK+ 로 짜여져 있구요 페도라 9을 사용하여 이클립스CDT로 컴파일 했습니다.
마지막 1개의 채널은 왜 열질 못하는 것일까요?
소스문제는 아닌걸로 알고 있습니다.
videodev.h 파일의 문제일까요?
아니면 GTK+ 를 높은버전으로 업그레이드 해야할까요
아니면 메인보드가 다중영상을 지원하지 못하는 문제일까요
3개의 채널은 열려서 웹캠 영상을 뿌리고 있습니다 현재
여러가지 해결방법이 있다면 부탁드립니다.
아 참 그리고
stderr 로 왜 안열리는지 보고 싶은데
if((cam->dev = open(cam->device_name, O_RDWR | O_NOCTTY)) < 0 ) {
fprintf(stderr, " video device could not be opened")
return NULL;
)
왜 안열리는지에 대한 오류메세지를 참조하고 싶은데 함수를 어떻게 변형해야 될까요
Forums:
perror
if((cam->dev = open(cam->device_name, O_RDWR | O_NOCTTY)) < 0 ) {
perror(" video device could not be opened :");
return NULL;
)
로 수정하시면 어떤 이유인지 에러 메시지가 나올것입니다.
우선 에러메시지를 봤습니다.
오류메시지를 봤는데
장치에 남는공간이 없다고 나옵니다.
무엇을 수정해야될까요
v4l 쪽을 수정해야하나요 ?
꼭 부탁드립니다.
잘은 모르지만, 커널
잘은 모르지만, 커널 안쪽의 비디오 그래버쪽 디바이스 드라이버가 3개까지만 지원할 수도 있으니 드라이버 소스를 확인해보는것도 좋을 것 같습니다.
어떤 캡쳐 디바이스로 어떤 디바이스를 사용하시나요?
ov511
videodev 로 ov511 모듈을 올려서 사용하고 있습니다.
v4l 1 이구요
커널은 2.6.25로 거의 최신 커널이구요
댓글 달기