Linux ARM 보드에서 MJPEG Stream 을 한번 시도해 보았습니다.



일단 USB웹캠을 usb포트에 연결하고 아래 명령어를 입력해 표시되는지 확인해봅니다.


> lsusb


그러면 usb 로 연결되있는 카메라 목록이 표시될 거에요.


이제 MJPG STREAMER를 설치해볼게용


일단 디렉터리를 하나 만들고


> cd /work


소스를 다운받아 볼게요!


> svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer

> cd mjpeg-streamer

> cd mjpeg-streamer


여기서 svn이 없으시면 apt-get install subversion 을 입력해주세요

다운로드가 다 되면 아래 명령어를 순서대로 입력해주세용


> sudo apt-get install libjpeg8-dev

> sudo apt-get install imagemagick

> sudo apt-get install libv4l-dev


으로 의존성 패키지를 설치하시고 ! 

이제 빌드를 해야겠지요!


> make USE_LIBV4L2=true clean all

> make install


하시면 빌드가 파바밧 되고 ! 끝나면 아래의 명령어로 한번 테스트해보시면 되용


> mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -f 30 -r 1280x720" -o "./output_http.so -n -w ./www"


아마 뭔가 에러가 나면서 꺼지시는 분들도 있으실 거에요 

그러면 아래의 명령어를 입력하셔서 video1 , video2 같은 걸 찾아서 위의 명령어에서 맨 뒤 숫자를 하나하나 바꾸어 보시면서 테스트 해보시면되요.

잘 되는게 있으면 그게 연결하신 카메라의 비디오 스트림 번호인거에요!


> ls /dev

해서 나오는거에서 찾으시면 되요


예를들면 이렇게


> mjpg_streamer -i "./input_uvc.so -d /dev/video1 -n -f 25 -r 1280x720" -o "./output_http.so -n -w ./www"

> mjpg_streamer -i "./input_uvc.so -d /dev/video2 -n -f 25 -r 1280x720" -o "./output_http.so -n -w ./www"


이렇게 명령어를 치신 후에 "아이피주소:8080" 으로 접속하시면 보이실거에요

안보이신다면 방화벽을 체크해보세요! 8080포트를 열어주어야 해요!


예) http://127.0.0.1:8080




그리고 옵션에 대해서 설명해 드리자면 


-q 100 은 이미지의 퀄리티를 100%로 한다는거에요

-n 은 UVC드라이버의 다이나믹 컨트롤을 사용하지 않는다는건데 자세한건 저도 몰라요<

-f 25 는 프레임을 25로 지정하는것 인데 원본 카메라가 지원하지 않으면 원본 카메라의 최대 프레임수로 나와요

-r 1280x720 은 해상도를 지정하는거에요. 이것도 원본카메라가 지원하지 않으면 단순하게 이미지를 늘려서 보내주어요.



아래는 옵션 표에용



UVC 웹캠 입력 파라미터

-d

카메라 스트림을 지정합니다.

-r

비디오의 해상도입니다.
프레셋:
QSIF QCIF CGA QVGA CIF VGA SVGA XGA SXGA
수동지정: 640×480

-f초당 프레임수 입니다.
-y

MJPEG모드를 끄고 YUYV모드 활성화합니다.

(시스템 부하 증가)

-q

JPEG 의 압축 퀄리티
(activates YUYV format, disables MJPEG)

-m

프레임을 제한보다 낮게 드랍합니다. 카메라가 낮은

조도로 인해 쓸모없는 프레임을 만들어 낼 때 

편리합니다.

-n

Linux-UVC 드라이버의 dynctrls를 초기화 하지 

않습니다.

-l

LED를 "on" 혹은 "off"혹은 "blink" 로 지정할 수 

있습니다. 자동으로 설정하고 싶으신 경우 "auto"

로 설정하시면 설정됩니다.

HTTP 출력 파라미터

-w

웹페이지 파일이 들어있는 폴더

(서브폴더 포함않함(

-pHTTP서버의 TCP포트번호
-c

"아이디:패스워드" 로 접속 아이디와 비밀번호를 설정하실 수 있습니다.

-n

실행커맨드를 비활성화 합니다.


'IT 이야기' 카테고리의 다른 글

쿼드콥터 비행준비 끝  (0) 2013.03.29
쿼드콥터에 보드장착중  (0) 2013.03.29
쿼드콥터 컨트롤러 영상수신 완료  (0) 2013.03.24
퓨어뷰 808 업데이트  (0) 2013.03.23
쿼드콥터 모터시동 성공 그러나..  (1) 2013.03.19