openjutsu
영상에서 원클릭으로 인물 교체, ComfyUI·MiniMax H3 기반 오픈소스 로컬 힉스필드 겐주츠 대안, FLUX.3 Klein 재조명 지원
USB 현미경·내시경·웹캠·열화상 카메라의 실시간 영상·사진·동영상을 브라우저에서 바로 확인, 설치·업로드 없이
Live view, photos and video from USB microscopes, endoscopes, webcams and thermal cameras, right in your browser. Nothing to install, nothing uploaded.
미디어JavaScript · HTMLGitHub @MatejBosansky온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Webcam, USB microscope, endoscope and thermal camera viewer that runs entirely in the browser
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Live: https://usbcam.bosansky.com · FAQ
A webcam, USB microscope and USB endoscope viewer that runs entirely in your browser. Nothing is installed and nothing is uploaded.
Keyboard: Space photo, R record, F freeze. Mouse wheel zooms, drag pans, double-click resets.
npm run dev
Open http://localhost:8080. Requires Node 18+, nothing to install.
| Chrome / Edge | Firefox | Safari | |
|---|---|---|---|
| Live view, filters, photos | yes | yes | yes |
| Video recording | MP4 | WebM | MP4 |
| Cameras recognised automatically (USB ID) | yes | no: pick the camera type by hand | no: pick the camera type by hand |
| Native vs scaled resolutions in the test | yes | no | no |
| Thermal camera temperatures | yes | yes (camera type picked by hand) | not tested with a real camera |
| Hardware controls (exposure, focus, …) | if the camera offers them | no | no |
| Save straight to a folder | yes | no (download) | no (download) |
Tested on macOS 26 with an endoscope, a USB microscope, a thermal camera and a Logitech webcam: Chrome 155 and Firefox 156 with the real cameras; Safari 26 only with its built-in test cameras (Safari's automation replaces real cameras with mock ones), so real cameras in Safari still need a manual check. On macOS, Chrome exposed no hardware controls for any of the USB cameras.
macOS asks once per browser whether it may use the camera (System Settings → Privacy & Security → Camera); until that is allowed, the camera opens but sends no image, and the app says so.
Phones. On Android (Chrome 155, Galaxy S23, Android 16) the phone's own cameras work, including hardware controls (exposure, white balance, focus, ISO, zoom); big pictures are recorded as video at up to 1920×1080. USB cameras plugged into that phone through a hub showed up on its USB bus but Android did not offer them to apps (no external-camera support on that model); Chrome, Samsung Internet and Firefox all listed only the four built-in cameras, also with a camera plugged straight into the phone. Every Android browser takes cameras from Android, so whether USB cameras work depends on the phone (Google lists USB camera support for Pixel 6 and later). When a USB camera is plugged in, Android may ask which app should open it: browsers are never on that list, and the choice does not affect them. iPhone cannot use USB cameras at all; the layout was checked in Safari on an iPhone simulator. iPad with USB-C and iPadOS 17+ may work but is untested.
WiFi endoscopes that need a phone app do not work: they are not USB video devices.
If a USB camera does not show up at all, try a USB hub (ideally powered): some cheap cameras fail to connect straight to a laptop's port. A camera's profile says so when this is known.
Connect the repository and use:
npm run build (validates everything and writes the generated lists of cameras,
drivers and filters)publicThe live site, https://usbcam.bosansky.com, is a Cloudflare Pages project built this way from the
main branch, with usbcam.bosansky.com as its custom domain.
public/_headers sets a camera-only permissions policy.
Everything camera- or filter-specific lives outside the core, one file or folder each:
public/cameras/<id>.json | one camera model (a profile) |
public/drivers/<id>/ | one camera type that needs code, e.g. thermal cameras (guide) |
public/filters/<id>.js | one image filter (guide) |
The app finds them on its own; npm run check validates them and npm test runs their tests.
See public/cameras/. To add yours, see CONTRIBUTING.md; AI agents follow AGENTS.md.