{"_id":"@craftthingy-digital-innovation/cty-webcam-device-manager","_rev":"3-be94240e32a06c05f00547f2428a4bab","name":"@craftthingy-digital-innovation/cty-webcam-device-manager","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.2":{"name":"@craftthingy-digital-innovation/cty-webcam-device-manager","version":"1.0.2","_id":"@craftthingy-digital-innovation/cty-webcam-device-manager@1.0.2","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager#readme","bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager/issues"},"dist":{"shasum":"a018e17c3456c04cd0538c3e1c3869fb79b6700c","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-webcam-device-manager/-/cty-webcam-device-manager-1.0.2.tgz","fileCount":6,"integrity":"sha512-XCt9lZHu+2VfTU0HcMy7U5tPv4KHwYdEgp9MT7NWQYE56+efghhb1jotH3df9eYurgsDw9V1vgDnV99VcQhvdQ==","signatures":[{"sig":"MEUCIADmHYi73ZM/X8UYQdi1PJMDTKr4IE/p9hSEZQsbHFtnAiEAprav59F01n5AwD6zpixBDS2je9LcDRXR/LBFO89chqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12672},"main":"./dist/cty-webcam-device-manager.umd.js","type":"module","module":"./dist/cty-webcam-device-manager.es.js","exports":{".":{"import":"./dist/cty-webcam-device-manager.es.js","require":"./dist/cty-webcam-device-manager.umd.js"}},"gitHead":"47d95d77c37d08556d153d5a15466f128ddb62ce","scripts":{"build":"vite build"},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"repository":{"url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager.git","type":"git"},"_npmVersion":"11.6.1","description":"Modular client-side webcam device initializer, camera switcher, and canvas frame capture utility.","directories":{},"_nodeVersion":"23.11.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cty-webcam-device-manager_1.0.2_1783086843184_0.7893857798366757","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@craftthingy-digital-innovation/cty-webcam-device-manager","version":"1.0.3","_id":"@craftthingy-digital-innovation/cty-webcam-device-manager@1.0.3","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager#readme","bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager/issues"},"dist":{"shasum":"c7d8d1a16b6e933be621484163131f63d3566a34","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-webcam-device-manager/-/cty-webcam-device-manager-1.0.3.tgz","fileCount":6,"integrity":"sha512-4PWeHJQJpwqhnk26hqa8Ro8WXJTrTXChDEqXHDEe4iEw2cyJWs5k/cadHl/PY6Y3h0qzzhB/MGstFPrrqSMENw==","signatures":[{"sig":"MEYCIQCbF5WZ2Vtav4o1wcpI43yRYTJDDlJQQ4us/Aa2JfgGcQIhAJjBJzVZzMhMI7FFlNm9Jf+0B8lm2YbJX49lbbZ+iuqo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15201},"main":"./dist/cty-webcam-device-manager.umd.js","type":"module","module":"./dist/cty-webcam-device-manager.es.js","exports":{".":{"import":"./dist/cty-webcam-device-manager.es.js","require":"./dist/cty-webcam-device-manager.umd.js"}},"gitHead":"4847aff67dec24b1caba40fa66c0c15293dfabdb","scripts":{"build":"vite build"},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"repository":{"url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager.git","type":"git"},"_npmVersion":"11.6.1","description":"Modular client-side webcam device initializer, camera switcher, and canvas frame capture utility.","directories":{},"_nodeVersion":"23.11.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cty-webcam-device-manager_1.0.3_1783090620276_0.299579487332863","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@craftthingy-digital-innovation/cty-webcam-device-manager","description":"Modular client-side webcam device initializer, camera switcher, and canvas frame capture utility.","version":"1.0.4","license":"SEE LICENSE IN LICENSE","type":"module","repository":{"type":"git","url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager.git"},"bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager/issues"},"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager#readme","main":"./dist/cty-webcam-device-manager.umd.js","module":"./dist/cty-webcam-device-manager.es.js","exports":{".":{"import":"./dist/cty-webcam-device-manager.es.js","require":"./dist/cty-webcam-device-manager.umd.js"}},"scripts":{"build":"vite build"},"publishConfig":{"access":"public"},"dependencies":{},"devDependencies":{"vite":"^5.2.0"},"_id":"@craftthingy-digital-innovation/cty-webcam-device-manager@1.0.4","gitHead":"8b34ea83d8a9d5b0549a0ca9282ff57c033581ca","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-NH/XP0cWbVKmkmXZTUrAibVQRUv4/oaKHF9IpcnZ0hQic+fyBFbzlEkdWlfKdF5pEtEEbGikbQQYYwnMSLZE2g==","shasum":"0357307ac1aa637e5585f46e696602db6aae71c2","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-webcam-device-manager/-/cty-webcam-device-manager-1.0.4.tgz","fileCount":6,"unpackedSize":15204,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKBIWK73DZaCM2e8JVQ/Z2Uj6uN0gpWsqjdVKnfkOGJwIgS2R6N72SY53zIMszEoVTKP4W/CnF4g6ZLrJEV2aMAIk="}]},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"directories":{},"maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cty-webcam-device-manager_1.0.4_1783146803347_0.052150673249248936"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T13:54:03.075Z","modified":"2026-07-04T06:33:23.594Z","1.0.2":"2026-07-03T13:54:03.312Z","1.0.3":"2026-07-03T14:57:00.416Z","1.0.4":"2026-07-04T06:33:23.481Z"},"bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager/issues"},"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager#readme","repository":{"type":"git","url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-webcam-device-manager.git"},"description":"Modular client-side webcam device initializer, camera switcher, and canvas frame capture utility.","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"readme":"# @craftthingy-digital-innovation/cty-webcam-device-manager-web\n\nBilingual documentation: [Bahasa Indonesia](#bahasa-indonesia) | [English](#english)\n\n---\n\n## Bahasa Indonesia\n\nLibrary client-side JavaScript modular untuk menangani inisialisasi webcam, pemindaian perangkat kamera, penggantian kamera aktif, dan pengambilan gambar snapshot ke berkas canvas secara ringkas.\n\n### Fitur Utama\n- 📷 **Abstraksi API Kamera:** Membungkus kompleksitas `navigator.mediaDevices` menjadi fungsi sederhana.\n- ⚙️ **Enumerasi Perangkat:** Mengambil list kamera yang terpasang lengkap dengan label identitasnya.\n- 📸 **Canvas Capture:** Mengambil snapshot/frame video aktif dan mengekspornya langsung menjadi Base64 DataURL (JPEG/PNG).\n\n### Instalasi\n```bash\nnpm install @craftthingy-digital-innovation/cty-webcam-device-manager-web\n```\n\n### Cara Penggunaan\n```javascript\nimport { WebcamDeviceManager } from '@craftthingy-digital-innovation/cty-webcam-device-manager-web';\n\nconst manager = new WebcamDeviceManager({\n  videoElement: document.getElementById('webcam-video'),\n  canvasElement: document.getElementById('webcam-canvas'),\n  onDevicesFound: (devices) => {\n    // Dipanggil saat list kamera berhasil diambil\n    devices.forEach(device => {\n      console.log(`Kamera: ${device.label} (ID: ${device.deviceId})`);\n    });\n  },\n  onError: (err) => {\n    console.error(\"Terjadi masalah akses kamera:\", err);\n  }\n});\n\n// 1. Dapatkan list kamera yang ada\nawait manager.getDevices();\n\n// 2. Mulai streaming kamera pertama\nawait manager.start();\n\n// 3. Ambil snapshot frame gambar\nconst dataUrl = manager.capture('image/jpeg', 0.95);\nconsole.log(\"Base64 Image:\", dataUrl);\n\n// 4. Hentikan kamera saat ditutup\nmanager.stop();\n```\n\n---\n\n## English\n\nA modular client-side JavaScript library to initialize webcams, scan video input devices, switch active streams, and capture snapshots to canvas elements easily.\n\n### Key Features\n- 📷 **Webcam API Wrapper:** Wraps raw `navigator.mediaDevices` streaming into clean method calls.\n- ⚙️ **Device Enumeration:** Queries available camera hardware with descriptive labels.\n- 📸 **Canvas Frame Capture:** Snaps high-definition image frames directly into Base64 DataURLs.\n\n### Installation\n```bash\nnpm install @craftthingy-digital-innovation/cty-webcam-device-manager-web\n```\n\n### Usage\n```javascript\nimport { WebcamDeviceManager } from '@craftthingy-digital-innovation/cty-webcam-device-manager-web';\n\nconst manager = new WebcamDeviceManager({\n  videoElement: document.getElementById('webcam-video'),\n  canvasElement: document.getElementById('webcam-canvas'),\n  onDevicesFound: (devices) => {\n    devices.forEach(device => {\n      console.log(`Device: ${device.label}`);\n    });\n  }\n});\n\nawait manager.getDevices();\nawait manager.start(devices[0].deviceId);\n\nconst dataUrl = manager.capture();\nmanager.stop();\n```\n\n## License\nLicensed under Public-Source Corporate Royalty License (PSCRL). See [LICENSE](./LICENSE) for details.\n","readmeFilename":"README.md","license":"SEE LICENSE IN LICENSE"}