Forum » Kaj kupiti » Droidcam, shranjevanje posnetka?
Droidcam, shranjevanje posnetka?

zamotsloteh ::
Droidcam (odslužen mobilnik z še malo delujočo baterijo) in PC (prenosnik) sta povezana in slika pride na ekran PC-ja. Je nadzorna kamera parkirnega prostora ob garaži in bi rad snemal in shranjeval dogodke na parkirišču (v moji lasti) po možnosti na disk E: v neko mapo tako da bi zvečer lahko pregledal dogodke čez celi dan na parkirišču. Gre za vandalizem. Kakšen program se da uporabiti za to in kake so nastavitve.
Prosim za pomoč.
LP
Jest
Prosim za pomoč.
LP
Jest

acookook ::
Za potrebo zajema kamer(e) iz iPhonea in analize slike s OpenCV, potrebujem 60FPSov oziroma več - androidne naprave in eken h9r tega na žalost niso sposobne, zato sem se odločil za DroidCam Web Cam & OBS za iphone. Trenutno je zadeva sicer dovolj dobra, bi pa probal programabilno nastavitve urejati preko skripte s Pythonom in HTTP klici, npr namesto glavne kamere bi uporabil UltraWide kamero. Problem je, da ne vem kako bi ugotovil, kam točno poslati request, da bo delovalo, saj izgleda, da ima tale zadeva več različnih endpointov, od katerih se v preko web vmesnika (moram kupiti pro ali odstraniti z ublockom) kot izgleda kličejo stari endpointi (vsaj na iphone vereziji), drugje pa novi.
Primer je recimo ko hočem dobiti podatek o bateriji in je delujoč klic GET /battery (sem si pomagal z wiresharkom in dobim pravilen % napolnjenosti baterije) ne delujoč pa na web vmesniku GET /v1/camera/battery (al nekaj podobnega in dobim 0% ali pa HTTP 500/550 error). Prav tako je kolegu z androidom preko vmesnika uspelo vklopiti flash, na iphone-u pa ne. Je kak podoben pogram, ki to omogoča, ker enostavno ne zaupam aplikaciji, da bi dal 15€?
Primer je recimo ko hočem dobiti podatek o bateriji in je delujoč klic GET /battery (sem si pomagal z wiresharkom in dobim pravilen % napolnjenosti baterije) ne delujoč pa na web vmesniku GET /v1/camera/battery (al nekaj podobnega in dobim 0% ali pa HTTP 500/550 error). Prav tako je kolegu z androidom preko vmesnika uspelo vklopiti flash, na iphone-u pa ne. Je kak podoben pogram, ki to omogoča, ker enostavno ne zaupam aplikaciji, da bi dal 15€?
.

acookook ::
je bilo treba kupiti app ker očitno so put requesti zaklenjeni na Pro verzijo aplikacije.
Anyway tukaj je wrapper, če ni typotov bi moralo delati:
Anyway tukaj je wrapper, če ni typotov bi moralo delati:
import requests import json import os class DroidCamController: """ Controls DroidCam Pro on iPhone 16 Pro Max (hardcoded mappings). Torch states are tracked per camera index. Future configs can go into /Configurations. """ CONF_PATH = "./Configurations" TORCH_STATE_JSON = "torch_state.json" TORCH_STATE_CONF = f"{CONF_PATH}/{TORCH_STATE_JSON}" CAMERA_MAP = { 0: {"name": "Front", "torch_supported": False}, 1: {"name": "Main", "torch_supported": True}, 2: {"name": "Telephoto", "torch_supported": True}, 3: {"name": "Ultrawide", "torch_supported": True} } def __init__(self, ip, port=4747): self.base_url = f"http://{ip}:{port}" self.current_camera = 1 # Default to Main Camera self.torch_state = {} # Dict: camera_index -> torch_state self._load_torch_state() def _load_torch_state(self): if os.path.exists(self.TORCH_STATE_CONF): with open(self.TORCH_STATE_CONF, "r") as f: self.torch_state = json.load(f) else: self.torch_state = {"1": False, "2": False, "3": False} def _save_torch_state(self): os.makedirs(self.CONF_PATH, exist_ok=True) with open(self.TORCH_STATE_CONF, "w") as f: json.dump(self.torch_state, f) def _put(self, endpoint): url = f"{self.base_url}{endpoint}" try: r = requests.put(url, timeout=2) r.raise_for_status() except Exception as e: print(f"Failed PUT {url}: {e}") def select_camera(self, cam_id): if cam_id not in self.CAMERA_MAP: print(f"Camera ID {cam_id} not recognized.") return self._put(f"/v1/camera/active/{cam_id}") self.current_camera = cam_id print(f"Switched to {self.CAMERA_MAP[cam_id]['name']}") self._sync_torch_state() def _sync_torch_state(self): cam_id = str(self.current_camera) if self.CAMERA_MAP[self.current_camera]['torch_supported']: desired_state = self.torch_state.get(cam_id, False) print(f"Torch Sync for Camera {cam_id}: {'ON' if desired_state else 'OFF'}") self._put("/v1/camera/torch_toggle") # Toggle once to ensure sync if not desired_state: self._put("/v1/camera/torch_toggle") # Toggle back if OFF desired else: print("Torch not available on current camera.") def toggle_torch(self): cam_id = str(self.current_camera) if self.CAMERA_MAP[self.current_camera]['torch_supported']: self._put("/v1/camera/torch_toggle") current_state = self.torch_state.get(cam_id, False) self.torch_state[cam_id] = not current_state self._save_torch_state() print(f"Torch manually toggled to: {'ON' if self.torch_state[cam_id] else 'OFF'} for Camera {cam_id}") else: print("Torch toggle ignored: not supported on current camera.") def set_zoom(self, level): self._put(f"/v3/camera/zoom/{level}") def set_exposure(self, value): self._put(f"/v3/camera/ev/{value}") def set_white_balance(self, kelvin): self._put(f"/v3/camera/wb/{kelvin}") def set_manual_focus(self, value): self._put(f"/v3/camera/mf/{value}") def autofocus(self): self._put("/v1/camera/autofocus") def set_autofocus_mode(self, mode): self._put(f"/v1/camera/autofocus_mode/{mode}") def set_wb_mode(self, mode): self._put(f"/v1/camera/wb_mode/{mode}") def lock_exposure(self): self._put("/v1/camera/el_toggle") def lock_white_balance(self): self._put("/v1/camera/wbl_toggle") def apply_default_settings(self): """ Applies hardcoded defaults. Configurations can later be added in /Configurations. """ self.select_camera(1) # Main Camera self.set_zoom(1.5) self.set_exposure(0) self.set_white_balance(6000) self.set_autofocus_mode("auto") print("Default settings applied.") # Example Usage in detection.py (after opening stream): # cam_ctrl = DroidCamController("10.15.58.196") # cam_ctrl.apply_default_settings()
.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Katera športna kameraOddelek: Kaj kupiti | 4020 (283) | acookook |
! | [Python] PovezaveOddelek: Programiranje | 45875 (1822) | d4vid |
⊘ | Banggood nasveti, kuponi in čas pošiljanja (strani: 1 2 3 4 … 18 19 20 21 )Oddelek: Kaj kupiti | 118008 (68138) | bluefish |
» | Predstavitev dvojiškega drevesa z seznamomOddelek: Programiranje | 2100 (1700) | ktka |