尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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.