티스토리 뷰
728x90
출처 : MJPG streaming with a Raspberry Pi and a webcam
산딸기 마을에서 만든 rc_car를 이동하면서 구글 Cardboard로 3D 영상을 보기 위해서
RaspberryPI 두개로 각각 PI Camera로 3D 좌우 영상을 얻어 보았지만 싱크가 맞지 않아서,
3D 영상을 얻지 못했습니다.
그래서 3D 카메라를 찾다가 AliExpress에서 USB 타입의 듀얼 카메라를 구입습니다.
PaspberryPI에서 mjpg_streamer를 두번 실행해서, html로 두개의 영상을 좌우로 구성했습니다.
구글의 Cardboard로 핸드폰 브라우져의 좌우 영상보시면 3D 영상을 보실 수 있습니다.
AliExpress에서 구입한 Camera
Camera 설치 확인
USB 방식으로 RaspberryPI에 USB에 연결만 하면 바로 설치가 됩니다.
$ ls /dev/vi* /dev/video0 /dev/video1
Camera 1 - mjpg_streamer 실행
$ mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -y -f 15 -r 640x480"
Camera 2 - mjpg_streamer 실행
$ mjpg_streamer -i "input_uvc.so -d /dev/video1 -n -y -f 15 -r 640x480" -o "output_http.so -w /usr/local/www2 -p 8081"
듀얼 화면 구성 html 소스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"> <script type="text/javascript" src="js-mjpeg/eventemitter2.min.js"></script> <script type="text/javascript" src="js-mjpeg/mjpegcanvas.min.js"></script> <script type="text/javascript" type="text/javascript"> function init() { var canvas_width = (document.body.clientWidth / 2); var canvas_heigth = canvas_width * 75 / 100; // Create the main viewer. var viewer_l = new MJPEGCANVAS.Viewer({ divID : 'mjpeg_l', host : '192.168.1.190', port : '8080', width : canvas_width, height : canvas_heigth, topic : '/?action=stream' }); var viewer_r = new MJPEGCANVAS.Viewer({ divID : 'mjpeg_r', host : '192.168.1.190', port : '8081', width : canvas_width, height : canvas_heigth, topic : '/?action=stream' }); } </script> <style type="text/css"> body { margin: 0; padding: 0; } .blind, body, button, dd, dl, dt, fieldset, form, canvas { margin: 0; padding: 0; } .grid1_wrap, .grid2_wrap { margin: 0; box-sizing: border-box; } @media (min-width: 640px) .grid1_wrap.news_wrap .brick-vowel { width: 50%; } .brick-house .brick-vowel { float: left; /* width: 100%; */ } </style> </head> <body onload="init()"> <div class="flick-panel" style="height: 100%; transition-property: -webkit-transform; transition-duration: 0ms; position: absolute; width: 100%; left: 0px; top: 0px; float: left;"> <div class="grid1_wrap news_wrap brick-house" data-last="true" style="padding-left:0px"> <div class="brick-vowel" id="mjpeg_l"></div> <div class="brick-vowel" id="mjpeg_r"></div> </div> </div> </body> </html>
ie에서 듀얼 화면 확인
핸드폰 브라우져에서 듀얼 화면 확인
Google Cardboard의 프라스틱 버전에 핸드폰 설치
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Xcode
- ubuntu
- NDK
- 동경
- Spring MVC
- 전예희
- 일본여행
- sas2009
- 튜닝쇼 2008
- ble
- Linux
- koba2010
- KOBA
- 지스타2007
- BPI-M4
- Delphi
- Mac
- MySQL
- flex
- 서울오토살롱
- Java
- SAS
- JavaScript
- android
- Spring
- 송주경
- oracle
- Delphi Tip
- 레이싱모델 익스트림 포토 페스티벌
- ffmpeg
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함