📹 Android ilovasi OTG orqali ulangan USB UVC kameradan video oqimini olish va uni RTMP serverga uzatish uchun yozilgan.
Ilova ichida video preview hamda Foreground Service orqali RTMP streaming qo‘llab-quvvatlanadi.
- OTG orqali ulangan UVC kamerani aniqlash va ulash
- Kameradan real-time video preview ko‘rsatish
- RTMP serverga live stream uzatish
- Foreground Service orqali background’da ishlash
- Streamni boshlash/to‘xtatish uchun oddiy UI tugma
- Runtime permissionlar (
Camera,Microphone,Notifications) bilan ishlash - Lifecycle-aware service binding (
lifecycleScope) yordamida xavfsiz servis boshqaruvi
Ushbu loyiha asl ilova asosida qayta yozildi va quyidagi GitHub loyihasidan foydalangan:
🔗 android-uvc-rtmp-stream (alejandrorosas)
O‘zgarishlar:
- UI Jetpack Compose asosida yozilgan
- Service lifecycle boshqaruvi yaxshilangan
- Android 14+ permission talablariga moslashtirilgan
- Kutilmagan xatoliklarni oldini olish uchun
ServiceConnectionxavfsiz tekshirish qo‘shilgan
- Kotlin
- Jetpack Compose (UI uchun)
- Foreground Service (background streaming uchun)
- Lifecycle Service Binding (
lifecycleScope) - libusb va libuvc (UVC camera access uchun, C++/JNI orqali)
- AndroidUSBCamera OTG orqali kamera oqimini olish uchun
- RTMP protokoliRTMP (video oqimini uzatish uchun)
- Android 8.0 (API 26) yoki undan yuqori
- OTG qo‘llab-quvvatlovchi Android qurilma
- UVC mos keluvchi USB kamera
- RTMP server (misol:
rtmp://your-server/live/stream)
- Loyihani klon qiling:
git clone https://github.com/USERNAME/otg-usb-camera-rtmp.git
- Android Studio orqali oching
- Qurilmangizni OTG orqali UVC kameraga ulang
- RTMP server manzilini konfiguratsiya qiling
- Build qilib, ilovani ishga tushiring
Ilova quyidagi ruxsatlarni talab qiladi:
- CAMERA
- RECORD_AUDIO
- FOREGROUND_SERVICE_CAMERA
- FOREGROUND_SERVICE_MICROPHONE
- POST_NOTIFICATIONS (Android 13+ uchun)
- OTG kamera ulangandan so‘ng ilova avtomatik aniqlaydi.
- "Start Stream" tugmasi orqali RTMP oqimni boshlash mumkin.
- "Stop Stream" tugmasi orqali oqimni to‘xtatish mumkin.
Ushbu loyiha android-uvc-rtmp-stream (alejandrorosas) kutubxonasi asosida yozilgan va qayta ishlab chiqilgan.