Pengendali Kamera OBS untuk DroidCam
Alat desktop yang mengubah satu ponsel diam menjadi kamera multi-sudut untuk OBS — geser, zoom, dan lompat sudut dikendalikan dari laptop, untuk keluaran 16:9 maupun 9:16.
Pengendali desktop yang mengubah satu ponsel DroidCam yang diam di tempat menjadi kamera virtual banyak sudut, dikemudikan dari laptop. Zoom, geser, dan lompat antar bingkai tanpa menyentuh ponselnya — dibuat untuk siaran ke YouTube dalam 16:9 dan TikTok dalam 9:16 dari satu penataan fisik yang sama.
Sorotan
- Kamera bisa bergerak karena kanvasnya lebih kecil dari sumbernya — OBS diatur dengan kanvas dasar 960×540 yang diskalakan ke keluaran 1280×720. Ruang gerak potong-dan-transform yang lahir dari selisih itulah yang dioperasikan oleh geser dan zoom, sehingga "kamera virtual" di sini adalah geometri, bukan perangkat fisik kedua.
- Resolusi keluaran adalah pilihan sadar, bukan bawaan — menyamakan keluaran terskala dengan kanvas akan menjerumuskan siaran ke kelas 480p milik YouTube. Penyiapan yang didokumentasikan sengaja membedakan keduanya karena alasan itu, dan memaku 30 fps, sebab 10 fps mengubah siaran menjadi salindia.
- Mode diagnosis yang menyebutkan kegagalannya —
run.py --checkmemeriksa setiap prasyarat dan menuliskan persis apa yang salah. Ia ada karena ragam kegagalan di sini bersifat lingkungan (OBS tertutup, DroidCam tidak ada di scene, WebSocket mati) dan menebak-nebaknya berarti membuang satu sesi siaran. - Kendali lewat OBS WebSocket v5 —
obsws-pythonmenggerakkan instance OBS yang hidup di port 4455, sehingga perkakas ini bekerja sama dengan penataan siaran yang sudah ada alih-alih menggantikannya, dan berjalan di atas profil OBS khusus agar konfigurasi lain tidak tersentuh. - Peta jalan diterbitkan dengan status yang jujur — matematika kamera beserta koneksi OBS serta kendali manual beserta GUI keduanya ditandai selesai dan teruji di perangkat keras; wizard penyiapan, penganalisis musik/cahaya/gerakan, autopilot, joystick dan lini masa, serta kaitan agen AI semuanya terang-terangan ditandai belum selesai.
- Deteksi ketukan menghindari dependensi yang tidak bisa dibangun — pendeteksi onset spectral-flux di atas SciPy dijadikan bawaan karena
aubiotidak menerbitkan wheel Windows untuk Python 3.11+ dan pemasangannya akan menuntut perkakas build MSVC.
Fitur Utama
- Preset sudut — menyimpan bingkai dan melompat di antaranya, dikelola oleh pengelola preset tersendiri.
- Geser dan zoom manual — gerakan mulus dengan pelembutan yang dikemudikan dari GUI desktop, bukan dengan memegang ponsel.
- Dua rasio aspek — lanskap 16:9 untuk YouTube dan potret 9:16 untuk TikTok dari satu kamera.
- GUI sambung-langsung-jalan — jendela CustomTkinter yang interaksi utamanya cuma satu tombol Connect.
- Konfigurasi dalam YAML — pengaturan kamera dan perilaku tinggal di berkas yang bisa dibaca dan dibandingkan manusia.
- Pemeriksaan awal — satu perintah yang memvalidasi OBS, server WebSocket, dan sumber DroidCam sebelum sesi dimulai.
Tech Stack
- Python dengan
obsws-python≥ 1.6 (klien OBS WebSocket v5) - CustomTkinter ≥ 5.2 + Pillow (GUI desktop)
- NumPy (geometri kamera dan pelembutan gerak)
- PyYAML (konfigurasi)
- OpenCV ≥ 4.8, PyAudio, SciPy (analisis frame, audio, dan gerakan)
- pytest (108 fungsi test)
Status & Kematangan
Aktif dan sudah bisa dipakai untuk siaran sungguhan dengan kendali manual. Ia adalah project Python dengan pengujian terbaik di katalog ini — 108 fungsi test, semuanya lulus, terpusat tepat di tempat yang kebenarannya tidak kelihatan dari membaca kode: geometri, pelembutan gerak, pengarah kamera, dan penanganan konfigurasi. GUI dan koneksi OBS diverifikasi di perangkat keras, bukan dengan mock, dan tahapan yang belum rampung dicantumkan sebagai belum rampung, bukan digambarkan sebagai fitur yang direncanakan.
Metrik Terukur
| Commit | 14 |
| Rentang Tanggal | 14 Agu 2026 – 16 Agu 2026 |
| Baris kode | 6.842 |
| Test | 108 fungsi test, semua lulus |