diff --git a/CHANGELOG.md b/CHANGELOG.md index 571d692..8f642b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,43 @@ # Changelog +## v2.4 — 2026-06-18 + +### Added + +#### Camera Control + +A new **Camera** tab reads the dashcam's current settings and lets you adjust the safely-changeable ones over Wi-Fi — on/off toggles, drop-downs, and a recording indicator — each validated against the camera's own option list and read back to confirm it stuck. Destructive commands (format SD, factory reset, firmware update, delete, reboot) are hard-blocked and never shown, and the few record-only settings auto-pause then resume recording. Settings for 29 Viofo models are mapped from the official app's command database; the A329S is validated on hardware. Contributed by [@droomurray](https://github.com/droomurray) (#21). + +#### Three-Camera Support (Telephoto / Interior) + +Telephoto (`T`) and interior/cabin (`I`) clips are now first-class alongside front and rear. They sync, index, and pair into the same capture group, so a three-camera day shows a third thumbnail in the archive and a third track on the timeline. New exports cover them: **Join Tele** / **Join Interior**, plus picture-in-picture with the third camera fullscreen and the front camera as the inset (the front clip stays the audio source, so the microphone track is preserved). The clip viewer's camera key cycles through every camera present at a timestamp. Two-camera setups are visually unchanged. Contributed by [@jusii](https://github.com/jusii) (#18). + +#### Background Thumbnails & Filmstrips + +Thumbnails and timeline filmstrips are now produced by a background worker as clips download — and existing clips are backfilled — so the archive and timeline populate as soon as footage arrives instead of after a sync cycle finishes. A new **Thumbnails** settings section controls it: thumbnail pre-generation is on by default, while the heavier filmstrip pre-generation is opt-in and otherwise falls back to generating on demand the first time a clip is viewed. + +#### Per-Segment Picture-in-Picture in the Editor + +The timeline editor's switched-camera cut can now carry a picture-in-picture inset on a per-segment basis. With a segment selected, press the PiP button (or **P**) to cycle the inset through your other cameras — it skips the segment's own camera — and a green placeholder shows where it will sit. The choice is remembered per segment and composited into the export, in the corner set by the global picture-in-picture position setting. A segment whose chosen camera has no overlapping footage simply exports without the inset. + +#### Skip Downloads + +You can now skip clips you don't want to sync. Select them in the download queue and choose **Skip** from the **Actions** menu; skipped clips get their own badge and are never downloaded. **Clear skip** returns them to the queue with a fresh set of retry attempts. Queue selection now spans pending, failed, and skipped clips, so one Actions menu — Download next / Skip / Clear skip / Retry failed — drives the whole list. + +### Changed + +- On/off controls across the app are now toggle switches, with one tooltip style used app-wide that works on hover, keyboard focus, and tap. +- The sync **pause** state is remembered across restarts instead of resetting to running. +- The download queue's per-action buttons are now a single **Actions** menu with **Apply**; selection-based **Retry failed** replaces the old retry-all button, while **Download recent hours next** is unchanged. +- Archive thumbnails animate on hover, scrubbing the clip's filmstrip — the same preview the Export Jobs list already offered. They fall back to the static thumbnail when no filmstrip is available, and respect reduced-motion. + +### Fixed + +- Locking a clip on the dashcam between sync cycles moves it into the camera's `/RO` folder; the download queue now refreshes the clip's source path when the camera re-reports it there, instead of exhausting its retry budget against the stale path and never syncing the clip. The dashcam-delete lock guard benefits too, since it keys off the same refreshed `/RO` path. Contributed by [@jusii](https://github.com/jusii) (#17). +- The Logs view now shows the date alongside the time and stays readable on a phone — long lines wrap rather than being clipped off-screen. +- Tapping a drop-down or text field no longer zooms the page in on mobile, and the interface no longer pinch-zooms — it behaves like a fixed app viewport. +- Auto-detected journeys on the timeline no longer miss the start of a drive or cut short on arrival — the journey window is padded past the GPS stop radius to take in the pull-away and pull-in clips, bounded by the surrounding parking footage. + ## v2.3 — 2026-06-10 ### Added diff --git a/README.md b/README.md index 210618e..f5b7343 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,13 @@ Self-hosted web app for syncing, browsing, and exporting recordings from a Viofo ## Features - **Automatic Wi-Fi sync** - clips copy from the dashcam in your car when it joins your home wi-fi. -- **Archive browser** - clips grouped by day, played in your browser. Nothing to install on your phone or laptop. +- **Download control** - skip clips you don't want, retry failed ones, and prioritise recent footage, all from the download queue. +- **Archive browser** - clips grouped by day, played in your browser; hover a clip to scrub a quick preview. Nothing to install on your phone or laptop. - **Journey maps** - automatic journey detection with each trip shown on a map with stops detected and place names looked up automatically. -- **Video editor** - trim clips and cut between the front and rear cameras, then export a single video. +- **Video editor** - trim clips, cut between cameras, and add a picture-in-picture inset to any segment, then export a single video. - **Flexible exports** - original clips, joined front/rear, picture-in-picture, or edited cuts; hardware-accelerated where your system supports it. - **Storage management** - set a size or age limit and the oldest footage is pruned to fit; optional auto-delete clears the camera's SD card once a clip is safely saved. +- **Camera control** - read and adjust the dashcam's own settings (resolution-adjacent options, parking mode, watermarks, HDR, LEDs, GPS…) from a Camera tab, with destructive actions hard-blocked. - **Easy browser-based setup** - a first-run wizard, then a settings page. - **Home Assistant support** - over MQTT, with sync status, alerts, and action buttons. @@ -25,6 +27,7 @@ Self-hosted web app for syncing, browsing, and exporting recordings from a Viofo - [Getting started](#getting-started) - [Configuration](#configuration) - [Home Assistant](#home-assistant-via-mqtt) +- [Camera control](#camera-control) - [Reference](#reference) - [About](#about) @@ -41,6 +44,17 @@ Self-hosted web app for syncing, browsing, and exporting recordings from a Viofo > - **NAS or always-on host** with large storage that can run Docker > - **Optional: hardware video encoder + fast LAN** - recommended for the video editing features +### Tested cameras + +viofosync targets any Viofo Wi-Fi dashcam that uses the standard `…F` / `…R` / `…T` / `…I` recording filenames, so models beyond those listed below should work — reports of other cameras are welcome. + +| Camera | Channels | Tested by | +| --- | --- | --- | +| Viofo A229 Pro | Front + Rear | maintainer | +| Viofo A329 | Front + Rear + Telephoto | [@jusii](https://github.com/jusii) | + +Three-camera models are supported with either a telephoto (`T`) or interior/cabin (`I`) third lens. The telephoto channel was validated live on the A329; the interior channel was validated against real cabin-cam footage contributed alongside that work. + ### Quick start ```bash @@ -154,6 +168,29 @@ For "prioritize the last N hours", publish to `{node_id}/cmd/prioritize_recent` - The MQTT password is stored in `config.json` in plaintext, alongside the bcrypt hash of the admin password and the session secret. The same access controls already apply to that file. +## Camera control + +The **Camera** tab reads the dashcam's current settings and lets you change them over Wi-Fi — parking mode, watermarks, HDR, LEDs, GPS, beeps, time/date, loop length, bitrate, and so on. On/off settings are toggles; multi-choice settings are drop-downs populated with the camera's own option labels. Each change is validated, sent, and read back to confirm it applied. + +![The Camera tab](screenshots/camera_control.webp) + +This drives the undocumented Novatek **netapp** HTTP interface (`http:///?custom=1&cmd=&par=`). Because that protocol has no schema, the option labels and value enumerations come from a derived per-model command map (`viofosync_lib/data/command_map.json`); see [Command map data](#command-map-data). + +**Safety model.** On this protocol a bare command is *not* always a harmless read — some ids are destructive actions. The control layer: + +- **Hard-blocks destructive ids** (format SD, factory reset, firmware update, delete file, reboot, restart-Wi-Fi, SSD format/delete) — they are refused before any request is built and are never shown in the UI. +- **Allow-lists writes** to enumerated settings only, validates the value against the camera's option list, and **verifies** by reading the setting back. +- **Is gentle**: one request at a time with a short timeout, so it doesn't overrun the camera's single-threaded daemon. +- **Auto-pauses recording** for the few settings the camera only accepts when stopped (loop length, bitrate), then resumes — flagged in the UI as "paused recording". + +**What it won't change.** Settings the camera refuses over Wi-Fi are shown read-only with the reason — e.g. *recording resolution* (changeable on the camera, not in station mode) and *exposure*. Settings for a lens that isn't attached (rear/interior HDR, video-merge, …) are read-only with "needs the rear/interior camera" and light up automatically once that lens is connected (detected via the live sensor count). + +Only the **A329S** has been validated against real hardware; other models are mapped from the app data but untested. + +### Command map data + +`viofosync_lib/data/command_map.json` is a plain reformatting of the *factual API data* (command ids, English keys, descriptions, and option enumerations) found in the official VIOFO Android app's `device-cmd-manager.db` asset. No app code or resources are included, and the original `.db` is not redistributed. Regenerate or extend it with `scripts/build_command_map.py` (see the script header for how to pull the asset from the APK). + ## Reference ### Reverse geocoding @@ -194,6 +231,10 @@ viofosync is an open-source project built with substantial AI assistance, intend ### Credits +Camera control — reading and safely adjusting dashcam settings over Wi-Fi — was contributed by [@droomurray](https://github.com/droomurray) (#21). + +Three-camera support (telephoto and interior lenses), the single-source camera registry and other improvements were contributed by [@jusii](https://github.com/jusii) (#17, #18, #20). + The GPX extraction logic uses the method described at [https://sergei.nz/extracting-gps-data-from-viofo-a119-and-other-novatek-powered-cameras/](https://sergei.nz/extracting-gps-data-from-viofo-a119-and-other-novatek-powered-cameras/). This software is unaffiliated with Viofo or any other vendor. diff --git a/screenshots/camera_control.webp b/screenshots/camera_control.webp new file mode 100644 index 0000000..53afdaa Binary files /dev/null and b/screenshots/camera_control.webp differ diff --git a/scripts/build_command_map.py b/scripts/build_command_map.py new file mode 100644 index 0000000..dee255e --- /dev/null +++ b/scripts/build_command_map.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +"""Build ``viofosync_lib/data/command_map.json`` from the VIOFO app's +``device-cmd-manager.db``. + +The Camera-control feature needs a semantic map for the Novatek netapp HTTP +protocol (command id -> key/options), which the bare protocol doesn't provide. +That mapping is derived from the official VIOFO Android app, which ships a +SQLite asset ``assets/device-cmd-manager.db``. + +This script reformats only the *factual API data* (command ids, English keys, +descriptions and option enumerations) into a plain JSON file we can ship and +diff. It does not copy any app code or resources. We do not redistribute the +``.db`` itself. + +To regenerate (e.g. for a newer app version, or to add a model): + + # obtain the app's base APK, then: + unzip -o com.viofo.dashcam.apk 'assets/device-cmd-manager.db' -d /tmp/viofo + python3 scripts/build_command_map.py \ + --db /tmp/viofo/assets/device-cmd-manager.db \ + --out viofosync_lib/data/command_map.json + +Only the A329S has been validated against real hardware; other models are +reformatted as-is and untested. +""" +from __future__ import annotations + +import argparse +import json +import os +import sqlite3 + + +def build(db_path: str) -> dict: + db = sqlite3.connect(db_path) + db.row_factory = sqlite3.Row + models = [r[0] for r in db.execute( + "SELECT DISTINCT DEVICE_MODEL FROM CMD_DEVICE_MANAGER ORDER BY DEVICE_MODEL")] + out: dict = { + "_provenance": ( + "Command ids, keys and option enumerations reformatted from the " + "VIOFO dashcam Android app asset (device-cmd-manager.db). Factual " + "API data only. A329S validated against hardware; other models " + "reformatted as-is and untested. See scripts/build_command_map.py." + ), + "models": {}, + } + for m in models: + commands: dict = {} + rows = db.execute( + "SELECT m.CMD cmd, m.CMD_KEY key, m.DESCRIPTION descr " + "FROM CMD_MANAGER m JOIN CMD_DEVICE_MANAGER d ON d.CMD_ID=m._ID " + "WHERE d.DEVICE_MODEL=? GROUP BY m.CMD, m.CMD_KEY " + "ORDER BY CAST(m.CMD AS INTEGER)", (m,)) + for r in rows: + opts = [ + {"index": int(o["_INDEX"]), "value": o["_VALUE"], + "camera_tag": o["CAMERA_TAG"]} + for o in db.execute( + "SELECT o._INDEX, o._VALUE, o.CAMERA_TAG " + "FROM DASHCAM_MENU_OPTION_INFO o " + "JOIN CMD_MANAGER m ON o.CMD_ID=m._ID " + "WHERE o.DEVICE_MODEL=? AND m.CMD=? " + "ORDER BY CAST(o._INDEX AS INTEGER)", (m, r["cmd"])) + if str(o["_INDEX"]).lstrip("-").isdigit()] + commands.setdefault(str(r["cmd"]), { + "key": r["key"], "description": r["descr"], "options": opts}) + out["models"][m] = {"commands": commands} + return out + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("--db", required=True, help="path to device-cmd-manager.db") + ap.add_argument("--out", default=os.path.join( + os.path.dirname(__file__), "..", "viofosync_lib", "data", + "command_map.json")) + args = ap.parse_args() + data = build(args.db) + os.makedirs(os.path.dirname(os.path.abspath(args.out)), exist_ok=True) + with open(args.out, "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=1) + print(f"wrote {args.out}: {len(data['models'])} models") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/test_control.py b/tests/test_control.py new file mode 100644 index 0000000..32767de --- /dev/null +++ b/tests/test_control.py @@ -0,0 +1,124 @@ +"""Unit tests for the camera-control layer (viofosync_lib._control). + +All hardware I/O is monkeypatched, so these run without a camera. They cover +the parts that protect the device: the destructive denylist, value validation, +the support classification (lens / Wi-Fi limits), the read-back verification, +and the record-gated retry. +""" +from __future__ import annotations + +import pytest + +from viofosync_lib import _control as control + +# --------------------------------------------------------------------------- # +# Pure data layer (uses the shipped command_map.json; no camera) +# --------------------------------------------------------------------------- # + +def test_detect_model_longest_match(): + assert control.detect_model("VIOFO_A329S_V2.0_260313") == "A329S" + # 'A329S' must beat the shorter 'A329' + assert control.detect_model("A329") == "A329" + assert control.detect_model(None) == control.DEFAULT_MODEL + + +def test_resolve_cmd_by_key_and_number(): + assert control._resolve_cmd("A329S", "CMD_GPS_SWITCH")[0] == 8208 + assert control._resolve_cmd("A329S", 8208)[1] == "CMD_GPS_SWITCH" + + +def test_resolve_cmd_unknown_raises(): + with pytest.raises(control.ValidationError): + control._resolve_cmd("A329S", "CMD_NOPE") + with pytest.raises(control.ValidationError): + control._resolve_cmd("A329S", 999999) + + +def test_options_have_unique_sorted_indices(): + opts = control._options("A329S", 8222, "F") + idx = [int(o["index"]) for o in opts] + assert idx == sorted(idx) + assert len(idx) == len(set(idx)) + + +def test_support_station_locked_and_lenses(): + # Resolution is not changeable over Wi-Fi. + ok, reason = control._support(8222, "F") + assert not ok and "Wi-Fi" in reason + # Rear-HDR needs the rear lens: blocked on 'F', allowed on 'F+R'. + assert control._support(9319, "F") == (False, "Needs the rear camera") + assert control._support(9319, "F+R") == (True, None) + # A plain setting is supported. + assert control._support(8208, "F") == (True, None) + + +# --------------------------------------------------------------------------- # +# Transport helpers +# --------------------------------------------------------------------------- # + +def test_base_url_normalisation(): + assert control.base_url("192.168.1.254") == "http://192.168.1.254" + assert control.base_url("http://cam/") == "http://cam" + + +def test_parser_reads_pairs_and_leaf_tags(): + xml = ('30120' + 'VIOFO_A329S_V2.0') + assert control._flat_tags(xml)["String"] == "VIOFO_A329S_V2.0" + dump = "2001182080" + pairs = control._PAIR_RE.findall(dump) + assert [(int(c), int(s)) for c, s in pairs] == [(2001, 1), (8208, 0)] + + +# --------------------------------------------------------------------------- # +# Write path (monkeypatched transport) +# --------------------------------------------------------------------------- # + +def test_set_setting_refuses_destructive(): + with pytest.raises(control.DestructiveCommandError): + control.set_setting("cam", 3010, 0, model="A329S") # format SD + + +def test_set_setting_validates_value(): + with pytest.raises(control.ValidationError): + control.set_setting("cam", "CMD_GPS_SWITCH", "banana", model="A329S") + + +def test_set_setting_happy_path(monkeypatch): + sent = {} + + def fake_send(address, cmd, par=None, s=None): + sent["cmd"], sent["par"] = cmd, par + return {"Cmd": str(cmd), "Status": "0"} + + # Read-back reports the value we just wrote -> verified. + monkeypatch.setattr(control, "_send", fake_send) + monkeypatch.setattr(control, "read_status_pairs", + lambda addr: [(8208, 1)]) + monkeypatch.setattr(control, "VERIFY_SETTLE", 0) + + r = control.set_setting("cam", "CMD_GPS_SWITCH", "1", model="A329S") + assert sent == {"cmd": 8208, "par": 1} + assert r["ok"] and r["verified"] is True and r["applied_index"] == 1 + assert r["record_cycled"] is False + + +def test_record_gated_retry_cycles_recording(monkeypatch): + calls = [] + + def fake_send(address, cmd, par=None, s=None): + calls.append((cmd, par)) + return {"Status": "0"} + + # First verify fails, second (after stopping recording) succeeds. + results = iter([(True, False, 3, "0"), (True, True, 2, "0")]) + monkeypatch.setattr(control, "_send", fake_send) + monkeypatch.setattr(control, "_apply_and_verify", + lambda a, c, i: next(results)) + monkeypatch.setattr(control, "_record_state", lambda a: 1) + monkeypatch.setattr(control, "RECORD_SETTLE", 0) + + r = control.set_setting("cam", 8222, 2, model="A329S") # resolution (gated) + assert r["record_cycled"] is True and r["verified"] is True + # Recording was stopped (par=0) and restarted (par=1). + assert (control.RECORD_CMD, 0) in calls and (control.RECORD_CMD, 1) in calls diff --git a/tests/test_derive_producers.py b/tests/test_derive_producers.py new file mode 100644 index 0000000..0ead6e5 --- /dev/null +++ b/tests/test_derive_producers.py @@ -0,0 +1,46 @@ +# tests/test_derive_producers.py +from __future__ import annotations + +from web.db import Database +from web.services import derive_queue as dq +from web.services import retention, scanner + + +def test_scan_enqueues_indexed_clips(tmp_path, tmp_recordings_dir): + db = Database(str(tmp_path / "t.db")) + # "daily" grouping puts files under /YYYY-MM-DD/ + day = tmp_recordings_dir / "2026-06-16" + day.mkdir(parents=True) + (day / "2026_0616_120000_0001F.MP4").write_bytes(b"x") + scanner.scan(db, str(tmp_recordings_dir), "daily", None, None) + assert dq.pending_count(db) >= 1 + + +def test_retention_removes_derive_row(tmp_path): + """When retention prunes a clip, its derive_queue row must be removed.""" + db = Database(str(tmp_path / "t.db")) + clip_path = str(tmp_path / "2024_0101_120000_0001F.MP4") + open(clip_path, "wb").close() # create an actual file so _delete_clip_files can run + + # Insert a clip_index row with an old timestamp (epoch 0 → always older than max_days=1) + with db.write() as c: + c.execute( + "INSERT INTO clip_index (id, path, basename, timestamp, camera, " + "sequence, scanned_at) VALUES (42, ?, '2024_0101_120000_0001F.MP4', " + "0, 'F', 1, 0)", + (clip_path,), + ) + + dq.enqueue(db, 42, priority=1, now=1) + assert dq.pending_count(db) == 1 + + retention.sweep( + db, + str(tmp_path), + max_days=1, + disk_pct=0, + protect_ro=False, + _now=9999999999, # far future so epoch-0 clip is definitely old + ) + + assert dq.pending_count(db) == 0 diff --git a/tests/test_derive_queue.py b/tests/test_derive_queue.py new file mode 100644 index 0000000..395d3da --- /dev/null +++ b/tests/test_derive_queue.py @@ -0,0 +1,123 @@ +"""Tests for the derive_queue table.""" +from __future__ import annotations + +from web.db import Database +from web.services import derive_queue as dq + + +def test_derive_queue_table_exists(tmp_path): + db = Database(str(tmp_path / "t.db")) + with db.conn() as c: + cols = {r["name"] for r in c.execute("PRAGMA table_info(derive_queue)")} + assert cols == { + "clip_id", "priority", "state", "attempts", + "last_error", "enqueued_at", "updated_at", + } + + +def test_enqueue_and_claim_order(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 10, priority=1, now=100) # backfill + dq.enqueue(db, 11, priority=0, now=100) # live + dq.enqueue(db, 12, priority=0, now=100) # live, newer id + # priority ASC, clip_id DESC -> live newest first, backfill last + assert dq.claim_next(db, now=101) == 12 + assert dq.claim_next(db, now=102) == 11 + assert dq.claim_next(db, now=103) == 10 + assert dq.claim_next(db, now=104) is None # all running + + +def test_mark_done(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 5, priority=0, now=1) + dq.claim_next(db, now=2) + dq.mark_done(db, 5, now=3) + with db.conn() as c: + row = c.execute( + "SELECT state FROM derive_queue WHERE clip_id=5" + ).fetchone() + assert row["state"] == "done" + + +def test_transient_failure_requeues_then_fails(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 7, priority=0, now=1) + dq.claim_next(db, now=2) + # First failure -> back to pending, attempts=1 + assert dq.mark_transient_failure(db, 7, "boom", max_attempts=2, now=3) == "pending" + assert dq.claim_next(db, now=4) == 7 + # Second failure hits the cap -> failed + assert dq.mark_transient_failure(db, 7, "boom", max_attempts=2, now=5) == "failed" + assert dq.claim_next(db, now=6) is None + + +def test_enqueue_reactivates_failed(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 9, priority=0, now=1) + dq.claim_next(db, now=2) + dq.mark_transient_failure(db, 9, "x", max_attempts=1, now=3) # -> failed + dq.enqueue(db, 9, priority=0, now=4) # manual re-enqueue resets it + assert dq.claim_next(db, now=5) == 9 + + +def test_reconcile_orphans(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 3, priority=0, now=1) + dq.claim_next(db, now=2) # -> running + assert dq.reconcile_orphans(db, now=3) == 1 + assert dq.claim_next(db, now=4) == 3 # back to pending, claimable + + +def test_remove_clip(tmp_path): + db = Database(str(tmp_path / "t.db")) + dq.enqueue(db, 4, priority=0, now=1) + dq.remove_clip(db, 4) + with db.conn() as c: + assert c.execute( + "SELECT COUNT(*) FROM derive_queue WHERE clip_id=4" + ).fetchone()[0] == 0 + + +def test_enqueue_missing_skips_done(tmp_path): + db = Database(str(tmp_path / "t.db")) + with db.write() as c: + for cid in (1, 2): + c.execute( + "INSERT INTO clip_index (id, path, basename, timestamp, " + "camera, sequence, scanned_at) VALUES (?,?,?,?,?,?,?)", + (cid, f"/x/{cid}.mp4", f"{cid}.mp4", 0, "F", 0, 0), + ) + dq.enqueue(db, 1, priority=0, now=1) + dq.mark_done(db, 1, now=2) # clip 1 already derived + n = dq.enqueue_missing(db, priority=1, now=3) + assert n == 1 # only clip 2 enqueued + assert dq.claim_next(db, now=4) == 2 + + +def test_enqueue_does_not_downgrade_priority(tmp_path): + db = Database(str(tmp_path / "t.db")) + # A clip enqueued live (priority 0)... + dq.enqueue(db, 1, priority=0, now=1) + # ...must not be downgraded to backfill priority by a later scan. + dq.enqueue(db, 1, priority=1, now=2) + with db.conn() as c: + p = c.execute( + "SELECT priority FROM derive_queue WHERE clip_id=1" + ).fetchone()["priority"] + assert p == 0 + + +def test_enqueue_missing_does_not_downgrade(tmp_path): + db = Database(str(tmp_path / "t.db")) + with db.write() as c: + c.execute( + "INSERT INTO clip_index (id, path, basename, timestamp, camera, " + "sequence, scanned_at) VALUES (1,'/x/c.mp4','c.mp4',0,'F',0,0)" + ) + dq.enqueue(db, 1, priority=0, now=1) # live, still pending + dq.enqueue_missing(db, priority=1, now=2) # post-cycle scan + with db.conn() as c: + p = c.execute( + "SELECT priority FROM derive_queue WHERE clip_id=1" + ).fetchone()["priority"] + assert p == 0 diff --git a/tests/test_derive_step.py b/tests/test_derive_step.py new file mode 100644 index 0000000..bdbb3d0 --- /dev/null +++ b/tests/test_derive_step.py @@ -0,0 +1,97 @@ +# tests/test_derive_step.py +from __future__ import annotations + +import os +from types import SimpleNamespace +from unittest.mock import AsyncMock + +from web.services import derive_worker, filmstrip + + +def test_filmstrip_failed_marker_roundtrip(tmp_path, monkeypatch): + recordings = str(tmp_path) + video = tmp_path / "clip.mp4" + video.write_bytes(b"x") + cid = 42 + assert filmstrip.failed_recently(recordings, cid, str(video)) is False + filmstrip.mark_failed(recordings, cid) + assert filmstrip.failed_recently(recordings, cid, str(video)) is True + # A newer video (mtime moves past the marker) clears the skip. + os.utime(video, (1 << 31, 1 << 31)) + assert filmstrip.failed_recently(recordings, cid, str(video)) is False + + +def test_derive_settings_defaults(tmp_config_dir): + from web.settings import SettingsProvider + snap = SettingsProvider().get() + # Thumbs pre-generate by default; filmstrips are opt-in (heavy). + assert snap.derive_thumbs_eager is True + assert snap.derive_filmstrips_eager is False + + +def test_every_editable_key_is_projected_to_the_ui(tmp_config_dir): + # _editable_values is a hand-written projection separate from + # EDITABLE_KEYS; a key validated/persisted on write but absent here + # is invisible in the UI (the checkbox can't reflect its value). Pin + # the invariant so the two lists can't drift again. + from web.routers.settings import _editable_values + from web.settings import SettingsProvider + from web.settings_schema import EDITABLE_KEYS + snap = SettingsProvider().get() + projected = set(_editable_values(snap).keys()) + missing = set(EDITABLE_KEYS) - projected + assert not missing, f"editable keys not projected to the UI: {missing}" + + +class MagicMockDB: + """Minimal stand-in: derive_one only writes via the durations helpers, + which these tests avoid by pre-setting duration_s and disabling GPS.""" + def write(self): # pragma: no cover - not exercised here + raise AssertionError("derive_one should not write in these tests") + + +def _snap(recordings, **over): + base = dict( + recordings=recordings, gps_extract=False, + derive_thumbs_eager=True, derive_filmstrips_eager=True, + ) + base.update(over) + return SimpleNamespace(**base) + + +def _clip(tmp_path, dur=60.0): + v = tmp_path / "c.mp4" + v.write_bytes(b"x") + return {"id": 1, "path": str(v), "duration_s": dur} + + +async def test_derive_one_generates_enabled_artifacts(tmp_path, monkeypatch): + snap = _snap(str(tmp_path)) + clip = _clip(tmp_path) + thumb = AsyncMock(return_value="thumb.jpg") + film = AsyncMock(return_value=object()) + monkeypatch.setattr(derive_worker.thumbs, "ensure_thumb", thumb) + monkeypatch.setattr(derive_worker.filmstrip, "ensure_filmstrip", film) + res = await derive_worker.derive_one(MagicMockDB(), snap, clip) + assert res.transient_failed is False + thumb.assert_awaited_once() + film.assert_awaited_once() + + +async def test_derive_one_respects_toggles(tmp_path, monkeypatch): + snap = _snap(str(tmp_path), derive_filmstrips_eager=False) + clip = _clip(tmp_path) + thumb = AsyncMock(return_value="thumb.jpg") + film = AsyncMock(return_value=object()) + monkeypatch.setattr(derive_worker.thumbs, "ensure_thumb", thumb) + monkeypatch.setattr(derive_worker.filmstrip, "ensure_filmstrip", film) + await derive_worker.derive_one(MagicMockDB(), snap, clip) + thumb.assert_awaited_once() + film.assert_not_awaited() + + +async def test_derive_one_missing_file_is_gone(tmp_path): + snap = _snap(str(tmp_path)) + clip = {"id": 1, "path": str(tmp_path / "nope.mp4"), "duration_s": 60.0} + res = await derive_worker.derive_one(MagicMockDB(), snap, clip) + assert res.gone is True diff --git a/tests/test_derive_worker.py b/tests/test_derive_worker.py new file mode 100644 index 0000000..c44da8f --- /dev/null +++ b/tests/test_derive_worker.py @@ -0,0 +1,62 @@ +# tests/test_derive_worker.py +from __future__ import annotations + +import asyncio +from types import SimpleNamespace +from unittest.mock import AsyncMock, MagicMock + +from web.db import Database +from web.services import derive_queue as dq +from web.services import derive_worker +from web.services.derive_worker import DeriveWorker + + +def _index_clip(db, clip_id, path): + # scanned_at is NOT NULL with no default, so it must be supplied. + with db.write() as c: + c.execute( + "INSERT INTO clip_index (id, path, basename, timestamp, camera, " + "sequence, duration_s, scanned_at) VALUES (?,?,?,?,?,?,?,?)", + (clip_id, path, "c.mp4", 0, "F", 0, 60.0, 0), + ) + + +async def test_boot_backfill_enqueues_existing(tmp_path): + db = Database(str(tmp_path / "t.db")) + v = tmp_path / "c.mp4" + v.write_bytes(b"x") + _index_clip(db, 1, str(v)) + from web.services.derive_worker import enqueue_backfill + n = enqueue_backfill(db, now=1) + assert n == 1 + from web.services import derive_queue as dq + assert dq.pending_count(db) == 1 + + +async def test_worker_drains_queue(tmp_path, monkeypatch): + db = Database(str(tmp_path / "t.db")) + v = tmp_path / "c.mp4" + v.write_bytes(b"x") + _index_clip(db, 1, str(v)) + dq.enqueue(db, 1, priority=0, now=1) + + monkeypatch.setattr(derive_worker, "derive_one", + AsyncMock(return_value=derive_worker.DeriveResult())) + provider = MagicMock() + provider.get.return_value = SimpleNamespace( + recordings=str(tmp_path), + derive_thumbs_eager=True, derive_filmstrips_eager=True, + gps_extract=False, max_attempts=3, + ) + hub = SimpleNamespace(broadcast=AsyncMock()) + w = DeriveWorker(db, provider, hub) + w.bind_loop(asyncio.get_running_loop()) + w.start() + for _ in range(50): + if dq.pending_count(db) == 0: + break + await asyncio.sleep(0.02) + await w.stop() + assert dq.pending_count(db) == 0 + derive_worker.derive_one.assert_awaited() + hub.broadcast.assert_awaited() # clip_derived emitted diff --git a/tests/test_durations.py b/tests/test_durations.py index 75714df..c9d1a22 100644 --- a/tests/test_durations.py +++ b/tests/test_durations.py @@ -1,27 +1,11 @@ -"""Tests for the clip duration ffprobe sweep.""" +"""Tests for clip duration probing.""" from __future__ import annotations -import asyncio -from pathlib import Path - import pytest -from web.db import Database from web.services import durations -def _insert_clip(db, clip_id, path, duration_s=None): - with db.write() as c: - c.execute( - "INSERT INTO clip_index " - "(id, path, basename, group_name, timestamp, camera, " - " sequence, event_type, has_gpx, gps_examined, scanned_at, duration_s) " - "VALUES (?,?,?,?,?,?,?,?,0,0,?,?)", - (clip_id, path, f"{clip_id}.MP4", "2026-06-02", - 1_717_312_440, "F", clip_id, "normal", 1_717_312_440, duration_s), - ) - - async def test_probe_duration_parses_ffprobe(monkeypatch): class _P: async def communicate(self): @@ -36,119 +20,3 @@ async def fake_exec(*a, **k): async def test_probe_duration_none_without_ffprobe(monkeypatch): monkeypatch.setattr(durations.shutil, "which", lambda _n: None) assert await durations.probe_duration("/x.mp4") is None - - -async def test_sweep_updates_null_durations(tmp_path: Path, monkeypatch): - db = Database(str(tmp_path / "t.db")) - f1 = tmp_path / "clip1.mp4" - f1.write_bytes(b"\0") - f2 = tmp_path / "clip2.mp4" - f2.write_bytes(b"\0") - _insert_clip(db, 1, str(f1), duration_s=None) # needs probe - _insert_clip(db, 2, str(f2), duration_s=60.0) # already has one -> skipped - - async def fake_probe(path): - return 42.0, "mvhd" - monkeypatch.setattr(durations, "_probe_with_method", fake_probe) - - updated = await durations.sweep_missing_durations(db) - assert updated == 1 - with db.conn() as c: - d1 = c.execute("SELECT duration_s FROM clip_index WHERE id=1").fetchone()["duration_s"] - d2 = c.execute("SELECT duration_s FROM clip_index WHERE id=2").fetchone()["duration_s"] - assert d1 == pytest.approx(42.0) - assert d2 == pytest.approx(60.0) # untouched - - -async def test_sweep_skips_missing_files(tmp_path: Path, monkeypatch): - db = Database(str(tmp_path / "t.db")) - _insert_clip(db, 1, str(tmp_path / "gone.mp4"), duration_s=None) # file absent - async def fake_probe(path): - raise AssertionError("should not probe a missing file") - monkeypatch.setattr(durations, "_probe_with_method", fake_probe) - assert await durations.sweep_missing_durations(db) == 0 - - -async def test_sweep_persists_incrementally_when_interrupted( - tmp_path: Path, monkeypatch -): - """A sweep cancelled partway (e.g. server shutdown) must have already - persisted the clips it probed before the interruption — otherwise a - restart loses all progress and the sweep can never finish.""" - db = Database(str(tmp_path / "t.db")) - f1 = tmp_path / "clip1.mp4" - f1.write_bytes(b"\0") - f2 = tmp_path / "clip2.mp4" - f2.write_bytes(b"\0") - _insert_clip(db, 1, str(f1), duration_s=None) - _insert_clip(db, 2, str(f2), duration_s=None) - - async def fake_probe(path): - if path == str(f1): - return 42.0, "mvhd" - raise asyncio.CancelledError # shutdown hits while probing clip 2 - - monkeypatch.setattr(durations, "_probe_with_method", fake_probe) - - # concurrency=1 -> clip 1 is fully probed (and must be flushed) before - # clip 2 runs; batch_size=1 -> each result is persisted as it lands. - with pytest.raises(asyncio.CancelledError): - await durations.sweep_missing_durations(db, concurrency=1, batch_size=1) - - with db.conn() as c: - d1 = c.execute( - "SELECT duration_s FROM clip_index WHERE id=1" - ).fetchone()["duration_s"] - assert d1 == pytest.approx(42.0) # survived the interruption - - -async def test_sweep_logs_method_breakdown(tmp_path: Path, monkeypatch, caplog): - """The sweep reports how many clips it resolved via the fast mvhd path - vs the ffprobe fallback, so the fast path is visible in the Logs tab.""" - import logging - - db = Database(str(tmp_path / "t.db")) - for i in (1, 2, 3): - f = tmp_path / f"clip{i}.mp4" - f.write_bytes(b"\0") - _insert_clip(db, i, str(f), duration_s=None) - - async def fake(path): - # clip3 needs the ffprobe fallback; the rest resolve via mvhd - return (30.0, "ffprobe") if path.endswith("clip3.mp4") else (15.0, "mvhd") - monkeypatch.setattr(durations, "_probe_with_method", fake) - - with caplog.at_level(logging.INFO, logger="viofosync.durations"): - updated = await durations.sweep_missing_durations(db) - - assert updated == 3 - msgs = " ".join(r.getMessage() for r in caplog.records) - assert "2 via mvhd" in msgs - assert "1 via ffprobe" in msgs - - -async def test_sweep_writes_all_with_small_batches(tmp_path: Path, monkeypatch): - """Batched flushing must not drop rows: every probed clip is written - even when the batch size is smaller than the number of clips.""" - db = Database(str(tmp_path / "t.db")) - paths = [] - for i in range(1, 6): - f = tmp_path / f"clip{i}.mp4" - f.write_bytes(b"\0") - paths.append(str(f)) - _insert_clip(db, i, str(f), duration_s=None) - - async def fake_probe(path): - return 10.0, "mvhd" - - monkeypatch.setattr(durations, "_probe_with_method", fake_probe) - updated = await durations.sweep_missing_durations(db, batch_size=2) - assert updated == 5 - with db.conn() as c: - vals = [ - r["duration_s"] - for r in c.execute( - "SELECT duration_s FROM clip_index ORDER BY id" - ).fetchall() - ] - assert vals == [pytest.approx(10.0)] * 5 diff --git a/tests/test_queue_skip.py b/tests/test_queue_skip.py new file mode 100644 index 0000000..0b6edb5 --- /dev/null +++ b/tests/test_queue_skip.py @@ -0,0 +1,148 @@ +"""Tests for queue.skip / queue.unskip and the skip/unskip routes.""" +from __future__ import annotations + +import time +from pathlib import Path + +import pytest +from fastapi.testclient import TestClient + + +def _insert(c, filename, state, attempts=0, last_error=None): + now = int(time.time()) + c.execute( + "INSERT INTO download_queue " + "(filename, source_dir, state, enqueued_at, attempts, last_error) " + "VALUES (?, ?, ?, ?, ?, ?)", + (filename, "/DCIM", state, now, attempts, last_error), + ) + + +def test_skip_marks_pending_and_failed(tmp_path): + from web.db import Database + from web.services.queue import skip + db = Database(str(tmp_path / "v.db")) + with db.write() as c: + _insert(c, "p.MP4", "pending") + _insert(c, "f.MP4", "failed", attempts=3, last_error="boom") + _insert(c, "d.MP4", "done") + _insert(c, "g.MP4", "gone") + n = skip(db, ["p.MP4", "f.MP4", "d.MP4", "g.MP4"]) + assert n == 2 + with db.conn() as c: + rows = {r["filename"]: r["state"] for r in c.execute( + "SELECT filename, state FROM download_queue").fetchall()} + assert rows["p.MP4"] == "skipped" + assert rows["f.MP4"] == "skipped" + assert rows["d.MP4"] == "done" # untouched + assert rows["g.MP4"] == "gone" # untouched + + +def test_skip_empty_is_noop(tmp_path): + from web.db import Database + from web.services.queue import skip + db = Database(str(tmp_path / "v.db")) + assert skip(db, []) == 0 + + +def test_unskip_restores_to_pending_and_resets(tmp_path): + from web.db import Database + from web.services.queue import unskip + db = Database(str(tmp_path / "v.db")) + with db.write() as c: + _insert(c, "s.MP4", "skipped", attempts=4, last_error="boom") + _insert(c, "p.MP4", "pending") + n = unskip(db, ["s.MP4", "p.MP4"]) + assert n == 1 + with db.conn() as c: + rows = {r["filename"]: dict(r) for r in c.execute( + "SELECT * FROM download_queue").fetchall()} + assert rows["s.MP4"]["state"] == "pending" + assert rows["s.MP4"]["attempts"] == 0 + assert rows["s.MP4"]["last_error"] is None + assert rows["p.MP4"]["state"] == "pending" # untouched + + +def test_unskip_empty_is_noop(tmp_path): + from web.db import Database + from web.services.queue import unskip + db = Database(str(tmp_path / "v.db")) + assert unskip(db, []) == 0 + + +def test_next_pending_ignores_skipped(tmp_path): + from web.db import Database + from web.services.queue import next_pending + db = Database(str(tmp_path / "v.db")) + with db.write() as c: + _insert(c, "s.MP4", "skipped") + assert next_pending(db) is None + + +def test_list_days_reports_skipped_count(tmp_path): + from web.db import Database + from web.services.queue import list_days + db = Database(str(tmp_path / "v.db")) + with db.write() as c: + _insert(c, "p.MP4", "pending") + _insert(c, "s.MP4", "skipped") + days = list_days(db) + assert days, "expected at least one day summary" + assert days[0]["skipped_count"] == 1 + + +@pytest.fixture +def authed_client(tmp_config_dir: Path, tmp_recordings_dir: Path, monkeypatch): + from web import app as app_mod + from web import settings as settings_mod + monkeypatch.setenv("VIOFOSYNC_RESTART_DISABLED", "1") + settings_mod.reset_for_tests() + application = app_mod.create_app() + with TestClient(application) as c: + c.post("/setup", data={ + "address": "192.168.1.230", + "password": "twelve-chars-min!", + "confirm": "twelve-chars-min!", + }) + csrf = c.get("/api/auth/csrf").json()["csrf"] + c.headers.update({"x-csrf-token": csrf}) + yield c + + +def _seed(client): + with client.app.state.db.write() as c: + _insert(c, "p.MP4", "pending") + _insert(c, "f.MP4", "failed", attempts=3, last_error="boom") + _insert(c, "s.MP4", "skipped") + + +def _states(client): + with client.app.state.db.conn() as c: + return {r["filename"]: r["state"] for r in c.execute( + "SELECT filename, state FROM download_queue").fetchall()} + + +def test_skip_endpoint(authed_client): + _seed(authed_client) + r = authed_client.post("/api/queue/skip", + json={"filenames": ["p.MP4", "f.MP4"]}) + assert r.status_code == 200 + assert r.json()["updated"] == 2 + st = _states(authed_client) + assert st["p.MP4"] == "skipped" + assert st["f.MP4"] == "skipped" + + +def test_unskip_endpoint(authed_client): + _seed(authed_client) + r = authed_client.post("/api/queue/unskip", json={"filenames": ["s.MP4"]}) + assert r.status_code == 200 + assert r.json()["updated"] == 1 + assert _states(authed_client)["s.MP4"] == "pending" + + +def test_skip_endpoint_empty_body(authed_client): + _seed(authed_client) + r = authed_client.post("/api/queue/skip", json={}) + assert r.status_code == 200 + assert r.json()["updated"] == 0 diff --git a/tests/test_switch_pieces.py b/tests/test_switch_pieces.py index 25fab59..a11f23b 100644 --- a/tests/test_switch_pieces.py +++ b/tests/test_switch_pieces.py @@ -15,15 +15,17 @@ def _clips(): def test_single_segment_within_one_clip(): segs = [{"channel": "rear", "start_ts": 1010, "end_ts": 1040}] pieces = build_switch_pieces(segs, _clips()) - assert pieces == [{"path": "/r0.mp4", "ss": 10.0, "t": 30.0}] + assert pieces == [ + {"path": "/r0.mp4", "ss": 10.0, "t": 30.0, "ts": 1010.0, "pip": None}, + ] def test_segment_spans_two_clips(): segs = [{"channel": "front", "start_ts": 1030, "end_ts": 1090}] pieces = build_switch_pieces(segs, _clips()) assert pieces == [ - {"path": "/f0.mp4", "ss": 30.0, "t": 30.0}, - {"path": "/f1.mp4", "ss": 0.0, "t": 30.0}, + {"path": "/f0.mp4", "ss": 30.0, "t": 30.0, "ts": 1030.0, "pip": None}, + {"path": "/f1.mp4", "ss": 0.0, "t": 30.0, "ts": 1060.0, "pip": None}, ] @@ -34,8 +36,8 @@ def test_switch_between_cameras_in_order(): ] pieces = build_switch_pieces(segs, _clips()) assert pieces == [ - {"path": "/r0.mp4", "ss": 0.0, "t": 20.0}, - {"path": "/f0.mp4", "ss": 20.0, "t": 30.0}, + {"path": "/r0.mp4", "ss": 0.0, "t": 20.0, "ts": 1000.0, "pip": None}, + {"path": "/f0.mp4", "ss": 20.0, "t": 30.0, "ts": 1020.0, "pip": None}, ] @@ -45,3 +47,11 @@ def test_zero_width_and_missing_channel_skipped(): {"channel": "interior", "start_ts": 1000, "end_ts": 1030}, ] assert build_switch_pieces(segs, _clips()) == [] + + +def test_pip_channel_propagates_to_pieces(): + segs = [{"channel": "front", "start_ts": 1010, "end_ts": 1040, "pip": "rear"}] + pieces = build_switch_pieces(segs, _clips()) + assert pieces == [ + {"path": "/f0.mp4", "ss": 10.0, "t": 30.0, "ts": 1010.0, "pip": "rear"}, + ] diff --git a/tests/test_sync_pause_persist.py b/tests/test_sync_pause_persist.py new file mode 100644 index 0000000..81cd7f9 --- /dev/null +++ b/tests/test_sync_pause_persist.py @@ -0,0 +1,48 @@ +"""Sync pause state survives a restart. + +The pause toggle used to live only in an in-memory ``threading.Event``, +so pausing sync and restarting the app (or container) silently resumed +it. It's now persisted in the ``kv`` table and restored when the worker +is constructed, so the last-used state is remembered. ``ENABLE_SCHEDULED_SYNC`` +still governs whether the schedule runs at all — this only remembers the +pause toggle. +""" +from __future__ import annotations + +from unittest.mock import MagicMock + +from web.db import Database +from web.services.hub import Hub +from web.services.sync_worker import SyncWorker + + +def _worker(db: Database) -> SyncWorker: + # A fresh SyncWorker on the same DB stands in for a process restart. + return SyncWorker(db, MagicMock(), Hub()) + + +def test_fresh_db_defaults_to_running(tmp_path): + db = Database(str(tmp_path / "t.db")) + assert not _worker(db).paused + + +def test_pause_persists_across_restart(tmp_path): + db = Database(str(tmp_path / "t.db")) + w1 = _worker(db) + assert not w1.paused + w1.pause() + assert w1.paused + + # A new worker on the same DB restores the paused state. + assert _worker(db).paused + + +def test_resume_persists_across_restart(tmp_path): + db = Database(str(tmp_path / "t.db")) + w1 = _worker(db) + w1.pause() + w1.resume() + assert not w1.paused + + # And the resumed state is remembered too. + assert not _worker(db).paused diff --git a/tests/test_sync_worker_cancel.py b/tests/test_sync_worker_cancel.py index caa98cd..33cb187 100644 --- a/tests/test_sync_worker_cancel.py +++ b/tests/test_sync_worker_cancel.py @@ -119,8 +119,9 @@ async def test_cycle_skipped_while_paused(tmp_path): # ---- lifecycle logging ---- -def test_pause_resume_logged(caplog): +def test_pause_resume_logged(caplog, tmp_path): sw = _bare_worker() + sw.db = Database(str(tmp_path / "v.db")) # pause/resume persist the toggle with caplog.at_level(logging.INFO, logger="viofosync.sync_worker"): sw.pause() sw.resume() diff --git a/tests/test_thumb_failcache.py b/tests/test_thumb_failcache.py index 2c0f0c3..e656363 100644 --- a/tests/test_thumb_failcache.py +++ b/tests/test_thumb_failcache.py @@ -1,4 +1,4 @@ -"""Thumbnail sweep must not re-attempt clips that can't produce a thumb. +"""Thumbnail fail-cache: mark_failed / failed_recently behaviour. Regression: ``ensure_thumb`` returned None on ffmpeg failure and left no marker, so un-thumbable clips (short/corrupt/partial) were re-selected and @@ -11,25 +11,7 @@ import time from pathlib import Path -import pytest - -from web.db import Database -from web.services import scanner, thumbs - - -@pytest.fixture -def db(tmp_path: Path) -> Database: - return Database(str(tmp_path / ".viofosync.db")) - - -def _add_clip(db: Database, path: str, clip_id: int = 1) -> int: - with db.write() as c: - c.execute( - "INSERT INTO clip_index (id, path, basename, timestamp, camera, " - "sequence, scanned_at) VALUES (?,?,?,?,?,?,?)", - (clip_id, path, os.path.basename(path), 0, "F", 0, 0), - ) - return clip_id +from web.services import thumbs def test_mark_failed_then_skipped(tmp_path: Path): @@ -54,26 +36,3 @@ def test_stale_marker_retried_after_file_changes(tmp_path: Path): time.sleep(0.01) os.utime(str(video), None) assert thumbs.failed_recently(str(rec), 1, str(video)) is False - - -async def test_sweep_skips_failed_clip_on_next_pass(tmp_path: Path, db: Database): - rec = tmp_path / "rec" - rec.mkdir() - video = rec / "clip.MP4" - video.write_bytes(b"not a real video") - _add_clip(db, str(video)) - - calls = {"n": 0} - - async def _fake_ensure(recordings, clip_id, path): - calls["n"] += 1 - thumbs.mark_failed(recordings, clip_id) # simulate ffmpeg failure - return None - - import unittest.mock as _m - with _m.patch.object(thumbs, "ensure_thumb", _fake_ensure): - await scanner.sweep_missing_thumbs(db, str(rec)) - await scanner.sweep_missing_thumbs(db, str(rec)) - - # First sweep attempts it once; the second must skip it. - assert calls["n"] == 1 diff --git a/tests/test_timeline_endpoint.py b/tests/test_timeline_endpoint.py index 4fbbf41..5d4e502 100644 --- a/tests/test_timeline_endpoint.py +++ b/tests/test_timeline_endpoint.py @@ -58,7 +58,10 @@ def logged_in_client(tmp_config_dir, tmp_recordings_dir, monkeypatch): settings_mod.reset_for_tests() -def _insert_clip(app, clip_id, ts, camera, duration_s, date="2026-06-02"): +def _insert_clip( + app, clip_id, ts, camera, duration_s, date="2026-06-02", + event_type="normal", +): with app.state.db.write() as c: c.execute( "INSERT INTO clip_index " @@ -66,7 +69,7 @@ def _insert_clip(app, clip_id, ts, camera, duration_s, date="2026-06-02"): " sequence, event_type, has_gpx, gps_examined, scanned_at, duration_s) " "VALUES (?,?,?,?,?,?,?,?,0,0,?,?)", (clip_id, f"/rec/{clip_id}.MP4", f"{clip_id}.MP4", date, - ts, camera, clip_id, "normal", ts, duration_s), + ts, camera, clip_id, event_type, ts, duration_s), ) @@ -221,3 +224,99 @@ def test_timeline_keeps_real_duration(logged_in_client): _insert_clip(app, 1, 1_717_312_440, "F", 42.0) body = logged_in_client.get("/api/archive/timeline?date=2026-06-02").json() assert body["clips"][0]["duration_s"] == 42.0 + + +# --- journey buffer: a GPS journey window sits ~50m inside the real drive +# (the stop radius), so the pull-away clip at the start and the pull-in clip +# at the end fall outside it. Pad each edge outward, but no further than the +# nearest parking-mode clip (the real "car is parked" boundary) and never more +# than MAX_JOURNEY_BUFFER_S — the dashcam can be knocked out of parking mode by +# the car's electrics, so an arbitrary parking->driving switch isn't trusted. + + +def test_expand_journey_window_no_parking_uses_cap(): + cap = archive.MAX_JOURNEY_BUFFER_S + s, e = archive._expand_journey_window(1000.0, 2000.0, []) + assert s == 1000.0 - cap + assert e == 2000.0 + cap + + +def test_expand_journey_window_parking_bounds_each_side(): + # Parking ends 30s before the window and starts 40s after it — both + # inside the cap, so they bound the expansion instead of the cap. + spans = [(800.0, 970.0), (2040.0, 2200.0)] + s, e = archive._expand_journey_window(1000.0, 2000.0, spans) + assert s == 970.0 + assert e == 2040.0 + + +def test_expand_journey_window_distant_parking_falls_back_to_cap(): + cap = archive.MAX_JOURNEY_BUFFER_S + # Parking is more than the cap away on both sides -> the cap wins. + spans = [(0.0, 100.0), (5000.0, 5100.0)] + s, e = archive._expand_journey_window(1000.0, 2000.0, spans) + assert s == 1000.0 - cap + assert e == 2000.0 + cap + + +def test_expand_journey_window_overlapping_parking_no_expansion(): + # A parking clip straddling an edge means we're already at the boundary; + # don't expand into parked footage. + spans = [(950.0, 1050.0), (1950.0, 2050.0)] + s, e = archive._expand_journey_window(1000.0, 2000.0, spans) + assert s == 1000.0 + assert e == 2000.0 + + +def _fake_journey_route(j0, j1): + return { + "date": "2026-06-02", + "point_count": 5, + "journeys": [{"start_ts": j0, "end_ts": j1}], + "stops": [], + } + + +def test_timeline_journey_buffer_includes_adjacent_clips( + logged_in_client, monkeypatch, +): + """The pull-away and pull-in clips, which fall just outside the raw GPS + window, are pulled in by the buffer and the bounds grow to cover them.""" + app = logged_in_client.app + j0, j1 = 1_000_000, 1_000_300 + _insert_clip(app, 1, j0 - 60, "F", 30.0) # pull-away [j0-60, j0-30] + _insert_clip(app, 2, j0, "F", 300.0) # the journey itself [j0, j1] + _insert_clip(app, 3, j1 + 30, "F", 40.0) # pull-in [j1+30, j1+70] + monkeypatch.setattr( + "web.routers.archive.build_route_payload", + lambda db, recordings, date, geocoder: _fake_journey_route(j0, j1), + ) + + body = logged_in_client.get( + "/api/archive/timeline?date=2026-06-02&journey=0" + ).json() + assert sorted(c["id"] for c in body["clips"]) == [1, 2, 3] + assert body["bounds"]["start_ts"] == j0 - 60 # back to pull-away start + assert body["bounds"]["end_ts"] == j1 + 70 # forward to pull-in end + + +def test_timeline_journey_buffer_stops_at_parking_clip( + logged_in_client, monkeypatch, +): + """A parking-mode clip caps how far the start expands — it reaches the + parking boundary (80s back), not the full cap.""" + app = logged_in_client.app + j0, j1 = 1_000_000, 1_000_300 + _insert_clip(app, 1, j0 - 150, "F", 70.0, event_type="parking") # [-150,-80] + _insert_clip(app, 2, j0 - 80, "F", 50.0) # pull-away [j0-80, j0-30] + _insert_clip(app, 3, j0, "F", 300.0) # the journey itself + monkeypatch.setattr( + "web.routers.archive.build_route_payload", + lambda db, recordings, date, geocoder: _fake_journey_route(j0, j1), + ) + + body = logged_in_client.get( + "/api/archive/timeline?date=2026-06-02&journey=0" + ).json() + # Expansion stops at the parking boundary, not the 120s cap. + assert body["bounds"]["start_ts"] == j0 - 80 diff --git a/tests/test_timeline_export.py b/tests/test_timeline_export.py index 256bf3f..370ecba 100644 --- a/tests/test_timeline_export.py +++ b/tests/test_timeline_export.py @@ -252,6 +252,36 @@ def test_post_timeline_export_creates_job(logged_in_client, monkeypatch): assert "job_id" in r.json() +def test_post_timeline_export_accepts_pip_in_segment(logged_in_client, monkeypatch): + monkeypatch.setattr("web.services.exporter.ffmpeg_available", lambda: True) + logged_in_client.app.state.export_encoders = {"software": True} + csrf = logged_in_client.get("/api/auth/csrf").json()["csrf"] + r = logged_in_client.post("/api/exports", json={ + "type": "timeline", + "segments": [ + {"channel": "front", "start_ts": 1000.0, "end_ts": 1050.0, + "pip": "rear"}, + ], + "encoder": "software", + }, headers={"x-csrf-token": csrf}) + assert r.status_code == 200, r.text + + +def test_post_timeline_export_rejects_bad_pip(logged_in_client, monkeypatch): + monkeypatch.setattr("web.services.exporter.ffmpeg_available", lambda: True) + logged_in_client.app.state.export_encoders = {"software": True} + csrf = logged_in_client.get("/api/auth/csrf").json()["csrf"] + r = logged_in_client.post("/api/exports", json={ + "type": "timeline", + "segments": [ + {"channel": "front", "start_ts": 1000.0, "end_ts": 1050.0, + "pip": "nonsense"}, + ], + "encoder": "software", + }, headers={"x-csrf-token": csrf}) + assert r.status_code == 422 + + def test_post_timeline_requires_segments(logged_in_client, monkeypatch): monkeypatch.setattr("web.services.exporter.ffmpeg_available", lambda: True) logged_in_client.app.state.export_encoders = {"software": True} @@ -260,3 +290,93 @@ def test_post_timeline_requires_segments(logged_in_client, monkeypatch): "type": "timeline", "clip_ids": [], "encoder": "software"}, headers={"x-csrf-token": csrf}) assert r.status_code in (400, 422) + + +async def test_run_timeline_pip_segment_emits_overlay(db, tmp_path, monkeypatch): + """A segment with a pip channel encodes a 2-input overlay sourced from + both the main and the partner camera files.""" + monkeypatch.setattr("web.services.exporter.ffmpeg_available", lambda: True) + _insert_clip(db, 1, 1000, "F", 60.0, "/rec/f0.mp4") + _insert_clip(db, 2, 1000, "R", 60.0, "/rec/r0.mp4") + snap = MagicMock() + snap.recordings = str(tmp_path) + snap.pip_position = "top_right" + provider = MagicMock() + provider.get.return_value = snap + worker = ExportWorker(db=db, provider=provider, broadcast=_noop) + + calls = [] + + async def fake_run_ffmpeg(job_id, args, total, **kw): + calls.append(list(args)) + Path(args[-1]).write_bytes(b"\0") + return 0, "" + + async def fake_probe_res(path): + return (1920, 1080) + + monkeypatch.setattr(worker, "_run_ffmpeg", fake_run_ffmpeg) + monkeypatch.setattr(worker, "_probe_resolution", fake_probe_res) + finishes = [] + monkeypatch.setattr(worker, "_finish", + lambda jid, ok, err, out: finishes.append((ok, err, out))) + + segs = [{"channel": "front", "start_ts": 1000, "end_ts": 1020, "pip": "rear"}] + import json as _json + job = {"id": 8, "type": "timeline", + "clip_ids": _json.dumps({"segments": segs, "encoder": "software"})} + await worker._run_job(job) + + assert finishes and finishes[-1][0] is True, finishes + video = [a for a in calls if "-an" in a] + assert len(video) == 1 + fc = video[0][video[0].index("-filter_complex") + 1] + assert "overlay=" in fc + # Two inputs: main (front) is input 0, partner (rear) is input 1. + assert video[0].count("-i") == 2 + assert "/rec/f0.mp4" in video[0] + assert "/rec/r0.mp4" in video[0] + + +async def test_run_timeline_pip_falls_back_without_partner(db, tmp_path, monkeypatch): + """A pip channel with no partner footage degrades to a plain single-input + scale encode rather than failing the export.""" + monkeypatch.setattr("web.services.exporter.ffmpeg_available", lambda: True) + _insert_clip(db, 1, 1000, "F", 60.0, "/rec/f0.mp4") + snap = MagicMock() + snap.recordings = str(tmp_path) + snap.pip_position = "top_right" + provider = MagicMock() + provider.get.return_value = snap + worker = ExportWorker(db=db, provider=provider, broadcast=_noop) + + calls = [] + + async def fake_run_ffmpeg(job_id, args, total, **kw): + calls.append(list(args)) + Path(args[-1]).write_bytes(b"\0") + return 0, "" + + async def fake_probe_res(path): + return (1920, 1080) + + monkeypatch.setattr(worker, "_run_ffmpeg", fake_run_ffmpeg) + monkeypatch.setattr(worker, "_probe_resolution", fake_probe_res) + finishes = [] + monkeypatch.setattr(worker, "_finish", + lambda jid, ok, err, out: finishes.append((ok, err, out))) + + # pip points at 'interior', but no interior clip exists in the window. + segs = [{"channel": "front", "start_ts": 1000, "end_ts": 1020, + "pip": "interior"}] + import json as _json + job = {"id": 9, "type": "timeline", + "clip_ids": _json.dumps({"segments": segs, "encoder": "software"})} + await worker._run_job(job) + + assert finishes and finishes[-1][0] is True, finishes + video = [a for a in calls if "-an" in a] + assert len(video) == 1 + assert "-filter_complex" not in video[0] # plain scale, no overlay + assert "-vf" in video[0] + assert video[0].count("-i") == 1 diff --git a/tests/test_timeline_pip.py b/tests/test_timeline_pip.py new file mode 100644 index 0000000..c16c13e --- /dev/null +++ b/tests/test_timeline_pip.py @@ -0,0 +1,66 @@ +"""Tests for the timeline PiP overlay filter + partner-clip resolver.""" +from __future__ import annotations + +from web.services.exporter import _find_clip_at, _timeline_pip_filter + +# --- _timeline_pip_filter (software dialect) --- + +def _sw(coords: str) -> str: + return ( + "[0:v]scale=1920:1080,setsar=1[base];" + "[1:v]scale=480:270,setsar=1[pip];" + f"[base][pip]overlay={coords}" + ) + + +def test_software_top_right_default(): + assert _timeline_pip_filter(1920, 1080, "top_right") == _sw("W-w-20:20") + + +def test_software_top_left(): + assert _timeline_pip_filter(1920, 1080, "top_left") == _sw("20:20") + + +def test_software_bottom_right(): + assert _timeline_pip_filter(1920, 1080, "bottom_right") == _sw("W-w-20:H-h-20") + + +def test_software_bottom_left(): + assert _timeline_pip_filter(1920, 1080, "bottom_left") == _sw("20:H-h-20") + + +def test_unknown_position_falls_back_to_top_right(): + assert _timeline_pip_filter(1920, 1080, "middle") == _sw("W-w-20:20") + + +def test_qsv_dialect_uses_gpu_filters_and_xy_coords(): + assert _timeline_pip_filter(1920, 1080, "top_right", encoder="qsv") == ( + "[0:v]scale_qsv=w=1920:h=1080[base];" + "[1:v]scale_qsv=w=480:h=270[pip];" + "[base][pip]overlay_qsv=x=W-w-20:y=20" + ) + + +# --- _find_clip_at --- + +def _clips(): + return [ + {"path": "/f0.mp4", "channel": "front", "start_ts": 1000, "duration_s": 60}, + {"path": "/r0.mp4", "channel": "rear", "start_ts": 1000, "duration_s": 60}, + {"path": "/r1.mp4", "channel": "rear", "start_ts": 1060, "duration_s": 60}, + ] + + +def test_find_clip_at_returns_covering_clip(): + c = _find_clip_at(_clips(), "rear", 1075) + assert c is not None and c["path"] == "/r1.mp4" + + +def test_find_clip_at_respects_channel(): + c = _find_clip_at(_clips(), "front", 1030) + assert c is not None and c["path"] == "/f0.mp4" + + +def test_find_clip_at_none_when_no_coverage(): + assert _find_clip_at(_clips(), "rear", 5000) is None + assert _find_clip_at(_clips(), "interior", 1030) is None diff --git a/viofosync_lib/_control.py b/viofosync_lib/_control.py new file mode 100644 index 0000000..56c7e00 --- /dev/null +++ b/viofosync_lib/_control.py @@ -0,0 +1,498 @@ +"""Camera control layer for the Viofo Novatek *netapp* HTTP interface. + +Reads the camera's current settings (``cmd=3014``) and applies *validated* +setting changes, decoding everything against a bundled per-model command map +(``data/command_map.json`` — command ids, keys and option enumerations derived +from the official VIOFO app; see ``scripts/build_command_map.py``). This is the +semantic map the bare HTTP protocol lacks. + +SAFETY MODEL — read this before touching the write path +------------------------------------------------------- +On this protocol a *bare* ``?custom=1&cmd=NNNN`` call is **not** a guaranteed +harmless read: low command ids are a mix of getters, setters and destructive +*actions*. Two ids (``3010`` format-SD, ``3013``) are known to wedge the +single-threaded camera daemon on a bare call. Therefore: + +* Reads use only the explicit, known-safe GET commands defined here. +* A hard denylist of destructive/disruptive ids (:data:`DESTRUCTIVE_CMDS`) is + refused before any request is built — they are never sent, under any path. +* Writes are allowlisted: a setting is writable only if the vendor DB gives it + an enumerated option table for this model; the requested value is validated + against those options, sent as ``&par=``, then **read back and + verified** via ``cmd=3014``. +* Transport is deliberately gentle: one request at a time, 10s timeout, no + sweeps — so we never overrun the daemon. +""" +from __future__ import annotations + +import functools +import http.client +import json +import logging +import os +import re +import socket +import time +import urllib.error +import urllib.parse +import urllib.request + +logger = logging.getLogger("viofosync_lib.control") + +# --------------------------------------------------------------------------- # +# Configuration +# --------------------------------------------------------------------------- # + +_DEFAULT_MAP = os.path.join(os.path.dirname(__file__), "data", + "command_map.json") +MAP_PATH = os.environ.get("CAMERA_CMD_MAP", _DEFAULT_MAP) +DEFAULT_MODEL = os.environ.get("CAMERA_MODEL", "A329S") +HTTP_TIMEOUT = float(os.environ.get("CAMERA_HTTP_TIMEOUT", "10.0")) +UA = "viofosync-control/1.0" + +# Write read-back: the camera can lag a freshly-written value in cmd=3014, so +# verification polls a few times before giving up (avoids false negatives). +VERIFY_ATTEMPTS = int(os.environ.get("CAMERA_VERIFY_ATTEMPTS", "3")) +VERIFY_SETTLE = float(os.environ.get("CAMERA_VERIFY_SETTLE", "0.4")) + +# Some settings are rejected while the camera is actively recording. For these +# we (only if a direct write fails) briefly stop recording, re-apply, and +# restart recording — restoring the prior record state. CMD_RECORD = 2001, +# par 1=start/0=stop. Confirmed gated on the A329S: loop length, bitrate, +# resolution. (Resolution may still reject specific modes for other reasons.) +RECORD_CMD = 2001 +RECORD_GATED_CMDS = { + int(x) for x in os.environ.get( + "CAMERA_RECORD_GATED", "2003,8200,8222").split(",") if x.strip() +} +RECORD_SETTLE = float(os.environ.get("CAMERA_RECORD_SETTLE", "1.0")) + +# Settings the camera won't accept over the Wi-Fi (station) HTTP interface, or +# that this control layer can't encode yet. The UI shows these read-only with +# the note, rather than offering a control that silently fails. +UNSUPPORTED_CMDS: dict[int, str] = { + 8222: "Resolution can't be changed over Wi-Fi", + 8220: "Exposure isn't adjustable through this interface", +} +# Settings that need a specific lens physically attached — the camera rejects +# them until it is. Value is the CAMERA_TAG letter that lens contributes. +LENS_DEPENDENT_CMDS: dict[int, str] = { + 9319: "R", # HDR rear + 9322: "I", # interior-camera enable + 9333: "I", # HDR interior + 9339: "I", # interior fisheye / dewarp +} +MULTI_LENS_CMDS = {9342} # video merge — needs >=2 lenses + + +def _support(cmd: int, camera_tag: str | None) -> tuple[bool, str | None]: + """Whether a setting is adjustable right now: (supported, reason). + + Reasons cover the Wi-Fi/encoding limits above and lenses that aren't + attached (so e.g. rear/interior settings light up once the lens is + connected, rather than being permanently hidden).""" + if cmd in UNSUPPORTED_CMDS: + return False, UNSUPPORTED_CMDS[cmd] + tag = (camera_tag or "").upper() + need = LENS_DEPENDENT_CMDS.get(cmd) + if need and need not in tag: + lens = {"R": "rear", "I": "interior"}.get(need, need) + return False, f"Needs the {lens} camera" + if cmd in MULTI_LENS_CMDS and sum(ch.isalpha() for ch in tag) < 2: + return False, "Needs a second camera" + return True, None + +# Explicit read-only GET commands (safe to call bare on this protocol). +CMD_SYSTEM_INFO = 3012 # firmware version +CMD_QUERY_CUR_STATUS = 3014 # all setting states: repeated / +CMD_DISK_FREE_SPACE = 3017 # bytes free +CMD_GET_CARD_STATUS = 3024 # 0=removed 1=inserted 2=locked +CMD_GET_SENSOR_NUMBER = 8260 # /// + +# Destructive / disruptive command ids — REFUSED before a request is built. +# Names from the vendor DB (DEVICE_MODEL='A329S'); 3013 is undocumented there +# but empirically wedges the daemon, so it stays blocked. +DESTRUCTIVE_CMDS: dict[int, str] = { + 3010: "CMD_FORMAT_SD_CARD — formats the SD card", + 3011: "CMD_RESET_FACTORY — factory-resets settings", + 3013: "undocumented; wedges the camera daemon", + 3018: "CMD_RESTART_WIFI — drops the Wi-Fi connection", + 3023: "CMD_REMOVE_USER — kicks the connected client", + 4003: "CMD_DELETE_FILE — deletes a recording", + 8230: "CMD_REBOOT_DEVICE — reboots the camera", + 9316: "CMD_DELETE_SSD_FILE — deletes SSD files", + 9317: "CMD_FORMAT_SSD — formats the external SSD", +} + + +# --------------------------------------------------------------------------- # +# Errors +# --------------------------------------------------------------------------- # + +class ControlError(Exception): + """Base class for control-layer errors.""" + + +class CameraUnreachable(ControlError): + """No usable HTTP response from the camera (reset / timeout / refused).""" + + +class DestructiveCommandError(ControlError): + """A destructive/disruptive command id was requested; refused.""" + + +class ValidationError(ControlError): + """A setting key/value failed validation against the command map.""" + + +# --------------------------------------------------------------------------- # +# DB access (read-only) +# --------------------------------------------------------------------------- # + +@functools.lru_cache(maxsize=1) +def _load_map() -> dict: + """Load and cache the derived command map (data/command_map.json).""" + if not os.path.exists(MAP_PATH): + raise ControlError(f"command map not found at {MAP_PATH}") + with open(MAP_PATH, encoding="utf-8") as f: + return json.load(f) + + +def _model_commands(model: str) -> dict: + """``{cmd_str: {key, description, options[]}}`` for a model (or empty).""" + m = _load_map().get("models", {}).get(model) + return m["commands"] if m else {} + + +def detect_model(version_string: str | None) -> str: + """Pick the map's device model whose name appears in a firmware version + string (e.g. 'VIOFO_A329S_V2.0_260313' -> 'A329S'). Longest match wins so + 'A329S' beats 'A329'. Falls back to :data:`DEFAULT_MODEL`.""" + if not version_string: + return DEFAULT_MODEL + vs = version_string.upper() + models = list(_load_map().get("models", {}).keys()) + hits = sorted((m for m in models if m and m.upper() in vs), + key=len, reverse=True) + return hits[0] if hits else DEFAULT_MODEL + + +def _cmd_key(model: str, cmd: int) -> str | None: + entry = _model_commands(model).get(str(cmd)) + return entry["key"] if entry else None + + +def _resolve_cmd(model: str, key_or_cmd) -> tuple[int, str]: + """Resolve a setting identifier (numeric cmd or CMD_KEY) to (cmd, key).""" + s = str(key_or_cmd).strip() + cmds = _model_commands(model) + if s.isdigit(): + entry = cmds.get(s) + if entry is None: + raise ValidationError(f"cmd {s} not in map for model {model}") + return int(s), entry["key"] + for c, entry in cmds.items(): + if entry["key"] == s: + return int(c), entry["key"] + raise ValidationError(f"unknown setting '{s}' for model {model}") + + +def _options(model: str, cmd: int, camera_tag: str | None = None + ) -> list[dict]: + """Enumerated options for a setting: ``[{index, value, camera_tag}]``. + + Options can be replicated per camera configuration (camera_tag); when a + tag is given we prefer its label, but the *index set* (what gets sent as + ``par``) is the union across tags — different configs share indices and + only differ in label.""" + entry = _model_commands(model).get(str(cmd)) + if not entry: + return [] + by_index: dict[str, dict] = {} + for o in entry["options"]: + idx = str(o["index"]) + # First wins, unless a later row matches the requested camera tag. + if idx not in by_index or (camera_tag and o.get("camera_tag") == camera_tag): + by_index[idx] = {"index": idx, "value": o["value"], + "camera_tag": o.get("camera_tag")} + return sorted(by_index.values(), key=lambda o: int(o["index"])) + + +# --------------------------------------------------------------------------- # +# Transport (single gentle request) +# --------------------------------------------------------------------------- # + +def base_url(address: str) -> str: + """Normalise an ``ADDRESS`` (host or URL) to an ``http://host`` base.""" + address = address.strip().rstrip("/") + if address.startswith(("http://", "https://")): + return address + return f"http://{address}" + + +def _http_get(url: str) -> str: + req = urllib.request.Request(url, headers={"User-Agent": UA}) + try: + with urllib.request.urlopen(req, timeout=HTTP_TIMEOUT) as resp: + return resp.read().decode("utf-8", errors="replace") + except (urllib.error.URLError, socket.timeout, http.client.HTTPException, + ConnectionError, OSError) as e: + raise CameraUnreachable(f"{type(e).__name__}: {e}") from e + + +_TAG_RE = re.compile(r"<(\w+)>([^<]*)") +_PAIR_RE = re.compile(r"(\d+)\s*(-?\d+)") + + +def _flat_tags(raw: str) -> dict[str, str]: + """First value of each leaf tag in a (possibly multi-root/malformed) + netapp body. Tolerant of the nested quirk cardv emits.""" + out: dict[str, str] = {} + for tag, val in _TAG_RE.findall(raw): + out.setdefault(tag, val.strip()) + return out + + +def _send(address: str, cmd: int, par=None, s=None) -> dict[str, str]: + """Issue one ``?custom=1&cmd=`` request. Refuses destructive ids.""" + if int(cmd) in DESTRUCTIVE_CMDS: + raise DestructiveCommandError( + f"cmd {cmd} is destructive ({DESTRUCTIVE_CMDS[int(cmd)]}); refused") + params = {"custom": "1", "cmd": str(cmd)} + if par is not None: + params["par"] = str(par) + if s is not None: + params["str"] = str(s) + url = f"{base_url(address)}/?{urllib.parse.urlencode(params)}" + return _flat_tags(_http_get(url)) + + +# --------------------------------------------------------------------------- # +# Reads +# --------------------------------------------------------------------------- # + +def read_info(address: str) -> dict: + """Quick device facts via explicit GET commands (all read-only).""" + info: dict = {} + try: + info["firmware"] = _send(address, CMD_SYSTEM_INFO).get("String") + except CameraUnreachable: + raise + for key, cmd, tag in ( + ("free_space_bytes", CMD_DISK_FREE_SPACE, "Value"), + ("card_status", CMD_GET_CARD_STATUS, "Value"), + ): + try: + v = _send(address, cmd).get(tag) + info[key] = int(v) if v and v.lstrip("-").isdigit() else v + except CameraUnreachable: + info[key] = None + info["card_status_label"] = {0: "removed", 1: "inserted", + 2: "locked"}.get(info.get("card_status")) + try: + sensors = _send(address, CMD_GET_SENSOR_NUMBER) + info["sensors"] = { + "front": sensors.get("FrontSensor"), + "interior": sensors.get("InteriorSensor"), + "rear": sensors.get("RearSensor"), + "total": sensors.get("Total"), + } + info["camera_tag"] = _camera_tag_from_sensors(sensors) + except CameraUnreachable: + info["sensors"] = None + info["camera_tag"] = None + return info + + +def _camera_tag_from_sensors(sensors: dict) -> str: + """Build the CAMERA_TAG (e.g. 'F', 'F+R', 'F+R+I') from a 8260 reply.""" + parts = [] + if (sensors.get("FrontSensor") or "0") != "0": + parts.append("F") + if (sensors.get("RearSensor") or "0") != "0": + parts.append("R") + if (sensors.get("InteriorSensor") or "0") != "0": + parts.append("I") + return "+".join(parts) or "F" + + +def read_status_pairs(address: str) -> list[tuple[int, int]]: + """Raw (cmd, status_value) pairs from ``cmd=3014``.""" + raw = _http_get(f"{base_url(address)}/?custom=1&cmd={CMD_QUERY_CUR_STATUS}") + return [(int(c), int(s)) for c, s in _PAIR_RE.findall(raw)] + + +def read_settings(address: str, model: str | None = None) -> dict: + """Decode the live ``cmd=3014`` dump into labelled settings. + + Returns ``{"model", "camera_tag", "settings": [ {cmd, key, value, + label, writable, description}, ... ]}``. ``value`` is the raw status + integer; ``label`` is the option text for that value when known.""" + info = read_info(address) + if model is None: + model = detect_model(info.get("firmware")) + camera_tag = info.get("camera_tag") + pairs = read_status_pairs(address) + settings = [] + commands = _model_commands(model) + for cmd, value in pairs: + entry = commands.get(str(cmd)) + if entry is None: + # Present in the live dump but not in this model's documented + # map — surface it raw rather than hide it. + settings.append({"cmd": cmd, "key": None, "value": value, + "label": None, "writable": False, + "destructive": cmd in DESTRUCTIVE_CMDS, + "description": None}) + continue + opts = _options(model, cmd, camera_tag) + label = next((o["value"] for o in opts + if int(o["index"]) == value), None) + settings.append({ + "cmd": cmd, "key": entry["key"], "value": value, "label": label, + "writable": bool(opts) and cmd not in DESTRUCTIVE_CMDS, + "destructive": cmd in DESTRUCTIVE_CMDS, + "description": entry.get("description"), + }) + recording = next((s["value"] for s in settings if s["cmd"] == RECORD_CMD), + None) + return {"model": model, "camera_tag": camera_tag, "recording": recording, + "settings": settings} + + +def writable_catalog(address: str, model: str | None = None) -> dict: + """All safely-writable settings for the UI: each with its option list and + current value. Only enumerated, non-destructive settings are included.""" + snap = read_settings(address, model) + cur = {s["cmd"]: s for s in snap["settings"]} + model = snap["model"] + tag = snap["camera_tag"] + items = [] + for cmd_str, entry in sorted(_model_commands(model).items(), + key=lambda kv: int(kv[0])): + cmd = int(cmd_str) + if cmd in DESTRUCTIVE_CMDS: + continue + opts = _options(model, cmd, tag) + if not opts: + continue # not an enumerated setter — not in the safe UI set + c = cur.get(cmd) + supported, reason = _support(cmd, tag) + items.append({ + "cmd": cmd, "key": entry["key"], "description": entry.get("description"), + "options": [{"index": int(o["index"]), "value": o["value"]} + for o in opts], + "current": (c["value"] if c else None), + "current_label": (c["label"] if c else None), + "supported": supported, + "unsupported_reason": reason, + }) + return {"model": model, "camera_tag": tag, "recording": snap.get("recording"), + "settings": items} + + +# --------------------------------------------------------------------------- # +# Writes (allowlisted, validated, verified) +# --------------------------------------------------------------------------- # + +def set_setting(address: str, key_or_cmd, value, model: str | None = None + ) -> dict: + """Validate and apply one enumerated setting, then read back to verify. + + ``value`` may be the option index (int/str) or its exact label text. + Raises :class:`ValidationError` for unknown settings/values, + :class:`DestructiveCommandError` for blocked ids. Returns a result dict + with ``ok``/``verified`` and the applied value.""" + if model is None: + model = detect_model(read_info(address).get("firmware")) + cmd, key = _resolve_cmd(model, key_or_cmd) + if cmd in DESTRUCTIVE_CMDS: + raise DestructiveCommandError( + f"{key} (cmd {cmd}) is destructive; refused") + opts = _options(model, cmd) + if not opts: + raise ValidationError( + f"{key} (cmd {cmd}) is not an enumerated setting; not writable " + f"via this safe interface") + # Resolve value -> index. + want = str(value).strip() + index = None + for o in opts: + if want == str(o["index"]) or want.lower() == str(o["value"]).lower(): + index = int(o["index"]) + break + if index is None: + allowed = ", ".join(f"{o['index']}={o['value']}" for o in opts) + raise ValidationError( + f"value '{value}' invalid for {key}; allowed: {allowed}") + + sent_ok, verified, applied, status = _apply_and_verify(address, cmd, index) + + # Some settings the camera silently refuses while recording. If a gated + # setting didn't take and recording is active, briefly stop recording, + # re-apply, and restore the prior record state. + record_cycled = False + if (not verified and cmd in RECORD_GATED_CMDS and cmd != RECORD_CMD): + if _record_state(address) == 1: + record_cycled = True + try: + _send(address, RECORD_CMD, par=0) # stop recording + time.sleep(RECORD_SETTLE) + sent_ok, verified, applied, status = _apply_and_verify( + address, cmd, index) + finally: + # Always resume recording, even if the re-apply raised. + try: + _send(address, RECORD_CMD, par=1) + except CameraUnreachable: + logger.warning("failed to resume recording after a gated " + "write to cmd %s", cmd) + + return { + "ok": bool(sent_ok), + "cmd": cmd, "key": key, + "requested_index": index, "requested_value": value, + "applied_index": applied, + "verified": verified, + "raw_status": status, + "record_cycled": record_cycled, + } + + +def _record_state(address: str) -> int | None: + """Current recording state (1=recording, 0=stopped) from cmd=3014.""" + try: + for cmd, v in read_status_pairs(address): + if cmd == RECORD_CMD: + return v + except CameraUnreachable: + return None + return None + + +def _apply_and_verify(address: str, cmd: int, index: int): + """Send ``cmd&par=index`` then poll cmd=3014 to confirm it applied. + + Returns ``(sent_ok, verified, applied_index, raw_status)``. The poll + tolerates the camera lagging a freshly-written value in its status dump + (otherwise a successful write reads back as a false negative).""" + reply = _send(address, cmd, par=index) + status = reply.get("Status") + sent_ok = (status is not None and status.lstrip("-").isdigit() + and int(status) == 0) + verified = None + applied = None + for _ in range(VERIFY_ATTEMPTS): + time.sleep(VERIFY_SETTLE) + try: + pairs = read_status_pairs(address) + except CameraUnreachable: + break + for c, v in pairs: + if c == cmd: + applied = v + verified = (v == index) + break + if verified: + break + return sent_ok, verified, applied, status diff --git a/viofosync_lib/data/command_map.json b/viofosync_lib/data/command_map.json new file mode 100644 index 0000000..2acf16a --- /dev/null +++ b/viofosync_lib/data/command_map.json @@ -0,0 +1,50933 @@ +{ + "_provenance": "Command IDs, keys, and option enumerations reformatted from the VIOFO dashcam Android app asset (device-cmd-manager.db). Factual API data only (no app code/resources). A329S validated against hardware; other models reformatted as-is and untested. Regenerate with scripts/build_command_map.py.", + "models": { + "A119 M2CD": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "2592x1944P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2560x1600P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2560x1440P60", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2560x1080P60", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2560x1080P30", + "camera_tag": "F" + }, + { + "index": 6, + "value": "2304x1296P30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1920x1080P30", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2026": { + "key": "CMD_SET_HDR", + "description": "设置HDR[A119/A129Plus]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2027": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间[A119/A129Plus](仅在设置HDR指令为AUTO时有效", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "500ms", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 9, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 11, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "High", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Low", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [ + { + "index": 0, + "value": "Take Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Video Start", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Video Stop", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Turn on audio", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Turn off audio", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn on screen", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Turn off screen", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Lock the video", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn on Wi-Fi", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Turn off Wi-Fi", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9407": { + "key": "CMD_A119M2_COSTDOWN", + "description": "A119M2判断是否为costdown版本,首次适配:06.1.19", + "options": [] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9414": { + "key": "CMD_LED_SWITCH", + "description": "LED开关[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9447": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小[A119]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9448": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G[A119]", + "options": [ + { + "index": 0, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5.8GHz", + "camera_tag": "F" + } + ] + }, + "9449": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9451": { + "key": "CMD_WIFI_PARKING_OFF_GPS", + "description": "停车监控下禁用GPS[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9453": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9467": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9486": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A119MPro)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9488": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9490": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息A119MPro],首次适配时间2025.11.28", + "options": [] + } + } + }, + "A119 MINI": { + "commands": { + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "2592x1944P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2560x1600P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2560x1440P60", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2560x1080P60", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2560x1080P30", + "camera_tag": "F" + }, + { + "index": 6, + "value": "2304x1296P30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1920x1080P30", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2026": { + "key": "CMD_SET_HDR", + "description": "设置HDR[A119/A129Plus]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2027": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间[A119/A129Plus](仅在设置HDR指令为AUTO时有效", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3028": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "画面镜头显示方式[A129/MT1]", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "500ms", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 9, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 11, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "High", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Low", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9447": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小[A119]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9448": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G[A119]", + "options": [ + { + "index": 0, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5.8GHz", + "camera_tag": "F" + } + ] + }, + "9449": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9453": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关[A119]", + "options": [] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + } + } + }, + "A119 MINI2": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "2592x1944P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2560x1600P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2560x1440P60", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2560x1080P60", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2560x1080P30", + "camera_tag": "F" + }, + { + "index": 6, + "value": "2304x1296P30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1920x1080P30", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2026": { + "key": "CMD_SET_HDR", + "description": "设置HDR[A119/A129Plus]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2027": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间[A119/A129Plus](仅在设置HDR指令为AUTO时有效", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "500ms", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 9, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 11, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "High", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Low", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [ + { + "index": 0, + "value": "Take Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Video Start", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Video Stop", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Turn on audio", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Turn off audio", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn on screen", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Turn off screen", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Lock the video", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn on Wi-Fi", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Turn off Wi-Fi", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9407": { + "key": "CMD_A119M2_COSTDOWN", + "description": "A119M2判断是否为costdown版本,首次适配:06.1.19", + "options": [] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9414": { + "key": "CMD_LED_SWITCH", + "description": "LED开关[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9447": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小[A119]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9448": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G[A119]", + "options": [ + { + "index": 0, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5.8GHz", + "camera_tag": "F" + } + ] + }, + "9449": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9451": { + "key": "CMD_WIFI_PARKING_OFF_GPS", + "description": "停车监控下禁用GPS[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9453": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9467": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A119M Pro": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1080P 30fps", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2026": { + "key": "CMD_SET_HDR", + "description": "设置HDR[A119/A129Plus]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2027": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间[A119/A129Plus](仅在设置HDR指令为AUTO时有效", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "500ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 9, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 11, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "High", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Low", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [ + { + "index": 0, + "value": "Take Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Video Start", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Turn on audio", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Turn off audio", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn on screen", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Turn off screen", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Lock the video", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn on Wi-Fi", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Turn off Wi-Fi", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9414": { + "key": "CMD_LED_SWITCH", + "description": "LED开关[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9429": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9447": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小[A119]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9448": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G[A119]", + "options": [ + { + "index": 0, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5.8GHz", + "camera_tag": "F" + } + ] + }, + "9449": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9451": { + "key": "CMD_WIFI_PARKING_OFF_GPS", + "description": "停车监控下禁用GPS[A119Mini2]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9453": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9467": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9486": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A119MPro)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9488": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9489": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9490": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息A119MPro],首次适配时间2025.11.28", + "options": [] + } + } + }, + "A129": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1920x1080P 55fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1080P + 1080P", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "1080P + 1080P", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "1920x1080P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1920x1080P 27.5fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1280x720P60", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1280x720,60P", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1280x720P30", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1280x720,30P", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1080P + 1080P", + "camera_tag": "F+R" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3028": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "画面镜头显示方式[A129/MT1]", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 9, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9217": { + "key": "CMD_SET_EXPOSURE_REAR", + "description": "曝光补偿后镜头[A129]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "9218": { + "key": "CMD_IR_LED", + "description": "红外灯设置[A129IR/A129PlusIR]单色(0)、自动(1)、红外颜色(2)", + "options": [ + { + "index": 0, + "value": "Mono", + "camera_tag": "F" + }, + { + "index": 1, + "value": "AUTO", + "camera_tag": "F" + }, + { + "index": 2, + "value": "IR Color", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像[W49/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + } + } + }, + "A129Plus": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "1600P30 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "2560x1600P30", + "camera_tag": "F" + }, + { + "index": 0, + "value": "2560x1600,27.5fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1600P27.5 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "1440P60 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "2560x1440P60", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2560x1600,27.5fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1440P55 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "1440P30 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2560x1440,27.5fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1440P27.5 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "1440P60 21:9 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "2560x1080P60", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560x1080,55fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1440P55 21:9 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "1440P30 21:9 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "2560x1080P30", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2560x1080,27.5fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1440P27.5 21:9 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "1296P30 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "2304x1296P30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "2304x1296,27.5fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1296P27.5 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 6, + "value": "1080P60 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 6, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 6, + "value": "1920x1080,55fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "1080P55 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "1080P30 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "1920x1080P30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1920x1080,27.5fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1080P27.5 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "720P120 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "1280x720P120", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1280x720,110fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "720P110 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "720P60 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "1280x720P60", + "camera_tag": "F" + }, + { + "index": 9, + "value": "1280x720,55fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "720P55 + 1080P27.5", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "720P30 + 1080P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "1280x720P30", + "camera_tag": "F" + }, + { + "index": 10, + "value": "1280x720,27.5fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "720P27.5 + 1080P27.5", + "camera_tag": "F+R" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2026": { + "key": "CMD_SET_HDR", + "description": "设置HDR[A119/A129Plus]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2027": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间[A119/A129Plus](仅在设置HDR指令为AUTO时有效", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + } + ] + }, + "3009": { + "key": "CMD_SET_VIDEO_OUTPUT_FORMAT", + "description": "视频输出格式 0:NTSC 1:PAL[G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "NTSC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "PAL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3028": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "画面镜头显示方式[A129/MT1]", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 9, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9217": { + "key": "CMD_SET_EXPOSURE_REAR", + "description": "曝光补偿后镜头[A129]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "9218": { + "key": "CMD_IR_LED", + "description": "红外灯设置[A129IR/A129PlusIR]单色(0)、自动(1)、红外颜色(2)", + "options": [ + { + "index": 0, + "value": "Mono", + "camera_tag": "F" + }, + { + "index": 1, + "value": "AUTO", + "camera_tag": "F" + }, + { + "index": 2, + "value": "IR Color", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像[W49/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9432": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量[A129Plus] 通过旧版本APP得知Value=1表示多路;A229Duo返回数据如下:0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9434": { + "key": "CMD_SET_FOLDER_LOCATION", + "description": "通过设置指定路径来获取设备SD卡文件[A129Plus],仅设备支持EMMC使用", + "options": [] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + } + ] + }, + "9467": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A129Pro": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "3840x2160P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "3840x1600P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2560x1440P60", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2304x1296P30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1920x1080P120", + "camera_tag": "F" + }, + { + "index": 6, + "value": "1920x1080P60", + "camera_tag": "F" + }, + { + "index": 7, + "value": "1920x1080P30", + "camera_tag": "F" + }, + { + "index": 8, + "value": "4K + FHDP30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "4K 21:9 + FHDP30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "1440P60 + FHDP30", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "1440P30 + FHDP30", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080P60 + FHDP30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080P30 + FHDP30", + "camera_tag": "F+R" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "2028": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间[A119/A129Plus](仅在HDR指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3028": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "画面镜头显示方式[A129/MT1]", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9201": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "100ms", + "camera_tag": "F" + }, + { + "index": 2, + "value": "200ms", + "camera_tag": "F" + }, + { + "index": 3, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 6, + "value": "10sec", + "camera_tag": "F" + }, + { + "index": 7, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 8, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 9, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 10, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9217": { + "key": "CMD_SET_EXPOSURE_REAR", + "description": "曝光补偿后镜头[A129]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[A119]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测[A119/A129]", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "9403": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 1, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9406": { + "key": "CMD_FREQUENCY", + "description": "光源频率[A119/A129]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9413": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F" + } + ] + }, + "9416": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式[A119]", + "options": [] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9420": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒[A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9421": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9423": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[A119/A129]", + "options": [] + }, + "9424": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + }, + "9428": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "9435": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控[A119/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "9450": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放[A119] par=1", + "options": [] + }, + "9465": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + }, + "9466": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + } + } + }, + "A139": { + "commands": { + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_TH", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "1440P 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1440P 60fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "1440P 60fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "1440P30 + 1080P30 + 1080P30", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "1440P 55fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1440P 55fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "1440P 55fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "2K + FHD + FHD", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "1440P 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1440P 30fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "1440P 30fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "1080P30 + 1080P30 + 1080P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "1440P 27.5fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1440P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "1440P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "FHD + FHD + FHD", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "1080P 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080P 55fps", + "camera_tag": "F" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量(A139)", + "options": [] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [] + } + } + }, + "A139P": { + "commands": { + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "OFF", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_TH", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2K 1440P 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "2K 1440P 60fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "2K 1440P 60fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "2KP30 + 1080P30 + 1080P30", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "4K 2160P 27.5fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K 2160P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "4K 2160P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K 2160P 24fps + 1080P 24fps + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "2K 1440P 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2K 1440P 30fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "2K 1440P 30fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 2160P 27.5fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K 1600P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "4K 1600P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 1600P 27.5fps + 1080P 27.5fps + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 1440P 55fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K 1440P 55fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "2K 1440P 55fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K 1440P 27.5fps + 1080P 27.5fps + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "4K 2160P 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "4K 2160P 30fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "4K 2160P 30fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "4KP24 + 1080P24 + 1080P24", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 1440P 27.5fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K 1440P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "2K 1440P 27.5fps + 1080P 27.5fps", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4K 1600P 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K 1600P 30fps + 1080P 30fps", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "4K 1600P 30fps + 1080P 30fps", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4KP30 21:9 + 1080P30 + 1080P30", + "camera_tag": "F+R+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量(A139)", + "options": [] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [] + } + } + }, + "A149": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 2, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "2K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K 21:9 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "1080P 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_RESOLUTION", + "description": "设置分辨率水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Front + Rear", + "camera_tag": "F+R" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9347": { + "key": "CMD_REAR_CAMERA_SWITCH", + "description": "后摄像头开关(首次适配:A149) 0:关闭 1:开启 2:仅在正常模式开 3:仅在停车模式开", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A229": { + "commands": { + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": -1, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2592x1944P24", + "camera_tag": "F" + }, + { + "index": 0, + "value": "1944P24 + 1944P24", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1440P30 + 1440P30", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "1920x1080P30", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080P30 + 1080P30", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180(W49)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像[W49/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + } + ] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9432": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量[A129Plus] 通过旧版本APP得知Value=1表示多路;A229Duo返回数据如下:0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + } + } + }, + "A229P": { + "commands": { + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2K P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "1080P 30fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 5, + "value": "4K 21:9 + 2K 21:9 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 6, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "4K 21:9 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 9, + "value": "4K 21:9 + 2K 21:9", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24H", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12H", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + } + } + }, + "A229PT": { + "commands": { + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+T" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+T" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R+T" + }, + { + "index": 2, + "value": "Tele camera", + "camera_tag": "F+T" + }, + { + "index": 2, + "value": "Tele camera", + "camera_tag": "F+R+T" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Tele small camera", + "camera_tag": "F+T" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+T" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+T" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 1080 P30", + "camera_tag": "F+R+T" + }, + { + "index": 1, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "2K P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "4K P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+T" + }, + { + "index": 2, + "value": "1080P 30fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 1080 P30", + "camera_tag": "F+R+T" + }, + { + "index": 3, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P30 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 4, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+T" + }, + { + "index": 5, + "value": "4K 21:9 + 2K 21:9 + 1080 P30", + "camera_tag": "F+R+T" + }, + { + "index": 6, + "value": "2K P30 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 7, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+T" + }, + { + "index": 8, + "value": "4K 21:9 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "4K 21:9 + 2K 21:9", + "camera_tag": "F+T" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180(W49)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_TELEPHOTO_ROTATION", + "description": "长焦镜头画面翻转", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像[W49/A129]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_TELEPHOTO_MIRROR", + "description": "长焦镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_TELEPHOTO", + "description": "设置长焦HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24H", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12H", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + } + } + }, + "A229S": { + "commands": { + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "2K P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "2K P30 + 2K P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "1080P 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "2K 21:9 + 2K 21:9 + 1080P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "2K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 6, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K 21:9 + 1080P30", + "camera_tag": "F+I" + }, + { + "index": 9, + "value": "2K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "2K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + } + } + }, + "A229U": { + "commands": { + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "1080P 30fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 7, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "4K 21:9 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 8, + "value": "4K P30 + 4K P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 9, + "value": "4K 21:9 + 4K 21:9 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 12, + "value": "4K P30 + 4K P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "4K 21:9 + 4K 21:9", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24H", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12H", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + } + } + }, + "A329": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_REARCAMERA_SET", + "description": "后摄镜头设置(首次适配A329)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9325": { + "key": "CMD_OSD_SWITCH", + "description": "设置HDMI OSD显示开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A329S": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_INTERIOR", + "description": "设置车内HDR状态 0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_INTERIOR_LED", + "description": "正常模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_INTERIOR", + "description": "停车模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9339": { + "key": "CMD_CAR_CAMERA_INTERIOR_FISH_EYE", + "description": "车内镜头鱼眼模式", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Time-lapse 1fps & lmpact", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Interior + Rear", + "camera_tag": "F+R+I" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9351": { + "key": "CMD_BAK_PARKING_FILE", + "description": "备份碰撞停车文件(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A329SW": { + "commands": { + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_INTERIOR", + "description": "设置车内HDR状态 0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_INTERIOR_LED", + "description": "正常模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_INTERIOR", + "description": "停车模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + } + } + }, + "A329T": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Tele camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Tele camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Tele small camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4K 21:9 + 2K 16:9 + 2K 16:9", + "camera_tag": "F+R+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 14, + "value": "4KP60 21:9 + 2K 16:9", + "camera_tag": "F+I" + }, + { + "index": 15, + "value": "4KP30 21:9 + 2K 16:9", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_TELEPHOTO_ROTATION", + "description": "长焦镜头画面翻转", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_TELEPHOTO_MIRROR", + "description": "长焦镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_TELEPHOTO_SWITCH", + "description": "长焦镜头开关模式", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_TELEPHOTO", + "description": "设置HDR-长焦镜头0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_TELEPHOTO_LED", + "description": "正常模式LED灯控制-长焦镜头LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_TELEPHOTO", + "description": "停车模式LED灯控制-长焦镜头LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9339": { + "key": "CMD_CAR_CAMERA_INTERIOR_FISH_EYE", + "description": "车内镜头鱼眼模式", + "options": [] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Time-lapse 1fps & lmpact", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Telephoto", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Telephoto", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Telephoto + Rear", + "camera_tag": "F+R+I" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9351": { + "key": "CMD_BAK_PARKING_FILE", + "description": "备份碰撞停车文件(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A329TC": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Tele camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Tele camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Tele small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4K 21:9 + 2K 16:9 + 2K 16:9", + "camera_tag": "F+R+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + }, + { + "index": 14, + "value": "4KP60 21:9 + 2K 16:9", + "camera_tag": "F+R" + }, + { + "index": 15, + "value": "4KP30 21:9 + 2K 16:9", + "camera_tag": "F+R" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_TELEPHOTO_ROTATION", + "description": "长焦镜头画面翻转", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_TELEPHOTO_MIRROR", + "description": "长焦镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_TELEPHOTO", + "description": "设置长焦HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_SET_TELEPHOTO_LED", + "description": "正常模式LED灯控制-长焦LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_INTERIOR", + "description": "设置车内HDR状态 0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_INTERIOR_LED", + "description": "正常模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_TELEPHOTO", + "description": "停车模式LED灯控制-长焦镜头LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_INTERIOR", + "description": "停车模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9339": { + "key": "CMD_CAR_CAMERA_INTERIOR_FISH_EYE", + "description": "车内镜头鱼眼模式", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Time-lapse 1fps & lmpact", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Telephoto", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Telephoto", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Interior + Telephoto", + "camera_tag": "F+R+I" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9351": { + "key": "CMD_BAK_PARKING_FILE", + "description": "备份碰撞停车文件(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "A329WW": { + "commands": { + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9317": { + "key": "CMD_FORMAT_MANAGER", + "description": "格式化管理", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Exterior Cam 2", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Exterior Cam 2", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Exterior Cam 1", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Exterior Cam 1", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Exterior Cam 2 Overlaid", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "Exterior Cam 1 Overlaid", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_EXTERIOR_CAM_1", + "description": "曝光补偿(外置摄像头 1)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4KP30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4KP30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_EXTERIOR_CAM_2_ROTATION", + "description": "外置摄像头 2画面翻转", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_EXTERIOR_CAM_1_ROTATION", + "description": "外置摄像头 1画面翻转", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_EXTERIOR_CAM_2_MIRROR", + "description": "外置摄像头 2画面镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_EXTERIOR_CAM_1_MIRROR", + "description": "外置摄像头 1画面镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "POWER ONLY", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "15 DAYS", + "camera_tag": "F" + }, + { + "index": 2, + "value": "30 DAYS", + "camera_tag": "F" + }, + { + "index": 3, + "value": "60 DAYS", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Exterior1 Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Exterior2 Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Exterior1 Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Exterior2 Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9315": { + "key": "CMD_SET_FILE_SAVE_LOCATION", + "description": "设置录像保存位置\n0:SD(存储卡)\n1:SSD(外接硬盘)", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9316": { + "key": "CMD_BAK_SDCARD_TO_SSD", + "description": "备份SD卡文件到SSD存储器", + "options": [ + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 0, + "value": "First 24 hours", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 1, + "value": "7Days", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + }, + { + "index": 2, + "value": "All", + "camera_tag": "F" + } + ] + }, + "9317": { + "key": "CMD_FORMAT_SSD", + "description": "格式化SSD", + "options": [] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_EXTERIOR_CAM_1", + "description": "设置HDR(外置摄像头 1)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "HDR TIMER", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9326": { + "key": "CMD_GET_SSD_FREE_SPACE", + "description": "获取SSD剩余存储空间大小", + "options": [] + }, + "9327": { + "key": "CMD_GET_FILE_BY_FOLDER", + "description": "设置回放下选择的存储器 (进入回放模式之后再发);0:SD卡,1:SSD硬盘\n进入回放指令发送流程:\n1、3001 切换到回放模式\n2、设置9327回放列表对象\n3、通过3015获取文件列表信息\n4、通过4001获取文件缩略图\n\n在回放模式下,切换存储对象指令流程:\n1、设置9327回放列表对象\n2、重新通过3015获取文件列表信息\n3、更新文件列表,并通过4001重新获取缩略图\n\n备注:下载文件过程中,或者回放播放中,不能使用9327切换,会导致文件无法访问", + "options": [] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_EXTERIOR_CAM_2", + "description": "设置HDR(外置摄像头 2)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "HDR TIMER", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [ + { + "index": 0, + "value": "SD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "SSD", + "camera_tag": "F" + } + ] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Time-lapse 1fps & lmpact", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Exterior Cam 2", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Exterior Cam 2", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Exterior Cam 1", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Exterior Cam 1", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Exterior Cam 2 + Exterior Cam 1", + "camera_tag": "F+R+I" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9351": { + "key": "CMD_BAK_PARKING_FILE", + "description": "备份碰撞停车文件(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "G1W-S": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "1080FHD 1920x1080", + "camera_tag": "F" + }, + { + "index": 1, + "value": "720P 1280x720", + "camera_tag": "F" + }, + { + "index": 2, + "value": "WVGA 848x480", + "camera_tag": "F" + }, + { + "index": 3, + "value": "VGA 640x480", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3007": { + "key": "CMD_SET_AUTO_POWER_OFF", + "description": "自动关机[W1GS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_PL", + "camera_tag": "F" + } + ] + }, + "3009": { + "key": "CMD_SET_VIDEO_OUTPUT_FORMAT", + "description": "视频输出格式 0:NTSC 1:PAL[G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "NTSC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "PAL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9093": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9095": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[G1WS/WR1]", + "options": [] + }, + "9212": { + "key": "CMD_SET_BITRATE", + "description": "设置码流[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "High", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + } + ] + }, + "9214": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "9216": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9405": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3min", + "camera_tag": "F" + } + ] + }, + "9410": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9411": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "9412": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[A119/A129/G1WS]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + } + } + }, + "MT1": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 14, + "value": "1080P30 + 1080P30", + "camera_tag": "F+R" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + }, + { + "index": 6, + "value": "15min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3007": { + "key": "CMD_SET_AUTO_POWER_OFF", + "description": "自动关机[W1GS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_PL", + "camera_tag": "F" + } + ] + }, + "3009": { + "key": "CMD_SET_VIDEO_OUTPUT_FORMAT", + "description": "视频输出格式 0:NTSC 1:PAL[G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "NTSC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "PAL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3028": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "画面镜头显示方式[A129/MT1]", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "Front small camera", + "camera_tag": "F+R" + } + ] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8082": { + "key": "CMD_SET_EXPOSURE_REAR", + "description": "曝光补偿(车后镜头)[MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8083": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8084": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8085": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位[MT1]", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8086": { + "key": "CMD_FREQUENCY", + "description": "光源频率[MT1]", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8089": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8090": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌号[MT1]", + "options": [] + }, + "8091": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8092": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌号[MT1]", + "options": [] + }, + "8093": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[MT1]", + "options": [] + }, + "8094": { + "key": "CMD_IMAGE_ROTATION", + "description": "画面镜头翻转[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F" + }, + { + "index": 3, + "value": "all camera", + "camera_tag": "F" + } + ] + }, + "8095": { + "key": "CMD_TIME_ZONE", + "description": "时区设置[MT1]", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8096": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[MT1]", + "options": [] + }, + "8097": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[MT1]", + "options": [] + }, + "8099": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "车后画面镜像[MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + } + } + }, + "S330": { + "commands": { + "-9348": { + "key": "CMD_CUSTOM_KEY_MANAGER", + "description": "自定义按键设置管理", + "options": [] + }, + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 17, + "value": "LANG_IR", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "Rear small camera", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P30 + 2K P30 + 2K P30", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "1080 P30 + 1080 P30 + 1080 P30", + "camera_tag": "F+R+I" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 6, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 7, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 8, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 10, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 11, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 12, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+R" + }, + { + "index": 13, + "value": "1080 P30 + 1080 P30", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only REC", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only REC", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9328": { + "key": "CMD_GET_FILE_LIST_BY_PAGE", + "description": "分段获取回放下文件列表,类似于3015指令;\n用于优化卡中存在上千个文件时,返回列表太慢问题;例如:\ncustom=1&cmd=9328 ////获取所有文件列表信息,同3015\ncustom=1&cmd=9328&str=querry //查询文件个数\ncustom=1&cmd=9328&str=list&start=0&end=9 //获取索引0-10,共10个文件列表信息", + "options": [] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_INTERIOR", + "description": "设置车内HDR状态 0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_INTERIOR_LED", + "description": "正常模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_INTERIOR", + "description": "停车模式LED灯控制-内摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9339": { + "key": "CMD_CAR_CAMERA_INTERIOR_FISH_EYE", + "description": "车内镜头鱼眼模式", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Interior + Rear", + "camera_tag": "F+R+I" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_CUSTOM_KEY_PRESS", + "description": "自定义按键设置-短按(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "take photo (key)", + "camera_tag": "F" + }, + { + "index": 1, + "value": "switch HDR(key)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "switch parking mode(key)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "turn on time lapse(key)", + "camera_tag": "F" + }, + { + "index": 4, + "value": "turn on / off cabin(key)", + "camera_tag": "F" + }, + { + "index": 5, + "value": "turn on / off rear(key)", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_CUSTOM_KEY_LONG_PRESS", + "description": "自定义按键设置-长按(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "take photo (key)", + "camera_tag": "F" + }, + { + "index": 1, + "value": "switch HDR(key)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "switch parking mode(key)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "turn on time lapse(key)", + "camera_tag": "F" + }, + { + "index": 4, + "value": "turn on / off cabin(key)", + "camera_tag": "F" + }, + { + "index": 5, + "value": "turn on / off rear(key)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "format sdcard(key)", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:S330/S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9354": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:S330/S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9355": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + } + } + }, + "S340": { + "commands": { + "-9348": { + "key": "CMD_CUSTOM_KEY_MANAGER", + "description": "自定义按键设置管理", + "options": [] + }, + "-9343": { + "key": "CMD_CAR_BATTERY_PROTECT", + "description": "汽车电池保护选项", + "options": [] + }, + "-9316": { + "key": "CMD_SSD_MANAGER", + "description": "SSD存储管理\nstr 格式\n参数: str,time\nstr:指令参数\n querry: 查询当前处理(backup、delete)进度和结果\n backup: 进行SD卡备份操作,需要搭配time使用\n delete: 进行SSD删除操作,需要搭配time使用\n cancel: 终止正在进行的操作\n\ntime:时间参数\n 0:前24小时\n 1: 7天\n 2:所有\n\n返回值: \nStatus: 错误状态值,非0代表错误\nDevStatus: 设备状态,0:空闲,1:处理中,2:处理完成,3:异常终止\nError: 错误信息,ok代表无错误\nTotalNum: 处理文件的总数量\nCurNum: 当前已处理的文件数量\n\n说明:处理完成后,设备会通过3020指令通知APP状态, 通知例如:\ncustom=1&cmd=9316&str=querry //查询当前操作处理进度\ncustom=1&cmd=9316&str=backup&time=1 //备份SD卡中,前7天内文件到SSD中\ncustom=1&cmd=9316&str=delete&time=1 //删除SSD中,前7天内文件码:20", + "options": [] + }, + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + }, + { + "index": 18, + "value": "LANG_TH", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+T" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I+T" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+T" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I+T" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I+T" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I+T" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+T" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I+T" + }, + { + "index": 3, + "value": "Interior small camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "Tele camera", + "camera_tag": "F+T" + }, + { + "index": 3, + "value": "Tele camera", + "camera_tag": "F+I+T" + }, + { + "index": 3, + "value": "Tele camera", + "camera_tag": "F+R+T" + }, + { + "index": 3, + "value": "Tele camera", + "camera_tag": "F+R+I+T" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "Front small camera", + "camera_tag": "F+T" + }, + { + "index": 6, + "value": "All Camera", + "camera_tag": "F+I+T" + }, + { + "index": 6, + "value": "All Camera", + "camera_tag": "F+R+I" + }, + { + "index": 6, + "value": "All Camera", + "camera_tag": "F+R+T" + }, + { + "index": 6, + "value": "All Camera", + "camera_tag": "F+R+I+T" + }, + { + "index": 7, + "value": "Tele small camera", + "camera_tag": "F+T" + }, + { + "index": 8, + "value": "Front small camera", + "camera_tag": "F+R" + }, + { + "index": 9, + "value": "Rear small camera", + "camera_tag": "F+R" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Hybrid Parking mode", + "camera_tag": "F" + }, + { + "index": 2, + "value": "low power impact detection", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 1fps (SNV)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "4K 60fps", + "camera_tag": "F" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "4K + 2K + 2K", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "4K + 2K + 2K", + "camera_tag": "F+I+T" + }, + { + "index": 0, + "value": "4K P60 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 0, + "value": "4K + 2K + 2K", + "camera_tag": "F+R+T" + }, + { + "index": 0, + "value": "4K + 2K + 2K + 2K", + "camera_tag": "F+R+I+T" + }, + { + "index": 1, + "value": "4K 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+I+T" + }, + { + "index": 1, + "value": "4K P30 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+T" + }, + { + "index": 1, + "value": "4K 21:9 + 2K 21:9 + 2K 21:9 + 2K 21:9", + "camera_tag": "F+R+I+T" + }, + { + "index": 2, + "value": "2K 60fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "2K + 2K + 2K", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "2K + 2K + 2K", + "camera_tag": "F+I+T" + }, + { + "index": 2, + "value": "2K P60 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 2, + "value": "2K + 2K + 2K", + "camera_tag": "F+R+T" + }, + { + "index": 2, + "value": "2K + 2K + 2K + 2K", + "camera_tag": "F+R+I+T" + }, + { + "index": 3, + "value": "2K 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+R" + }, + { + "index": 3, + "value": "1080P + 1080P + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "1080P + 1080P + 1080P", + "camera_tag": "F+I+T" + }, + { + "index": 3, + "value": "2K P30 + 2K P30", + "camera_tag": "F+T" + }, + { + "index": 3, + "value": "1080P + 1080P + 1080P", + "camera_tag": "F+R+T" + }, + { + "index": 3, + "value": "1080P + 1080P + 1080P + 1080P", + "camera_tag": "F+R+I+T" + }, + { + "index": 4, + "value": "4K 21:9 60fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 4, + "value": "4K P60 21:9 + 2K 21:9", + "camera_tag": "F+T" + }, + { + "index": 5, + "value": "4K 21:9 30fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+I" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+R" + }, + { + "index": 5, + "value": "4K P30 21:9 + 2K 21:9", + "camera_tag": "F+T" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8227": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转(首次适配S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_CAR_BATTERY_PROTECT_TIME_CLOSE", + "description": "停车电池保护下的时间关闭", + "options": [ + { + "index": 0, + "value": "Continuous recording", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Critical Alerts", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_LED_FRONT", + "description": "正常模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only REC", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_LED_FRONT", + "description": "停车模式LED灯控制-前摄LED", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "All On", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only REC", + "camera_tag": "F" + } + ] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9230": { + "key": "CMD_WATERMARK_CUSTOM_SWITCH", + "description": "自定义水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9231": { + "key": "CMD_WATERMARK_PLATE_NUMBER_SWITCH", + "description": "自定义车牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9311": { + "key": "CMD_WATERMARK_SWITCH_HDR", + "description": "设置HDR水印显示 0:OFF 1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Turn On / Off Interior Camera", + "camera_tag": "F" + }, + { + "index": 8, + "value": "Turn On / Off Rear Camera", + "camera_tag": "F" + }, + { + "index": 9, + "value": "Turn On / Off Tele Camera", + "camera_tag": "F" + }, + { + "index": 10, + "value": "Wifi client Mode", + "camera_tag": "F" + } + ] + }, + "9318": { + "key": "CMD_HDR_FRONT", + "description": "设置前路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9319": { + "key": "CMD_HDR_REAR", + "description": "设置后路HDR开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9320": { + "key": "CMD_PARKING_MODE_HDR", + "description": "设置停车模式下HDR开关 \n0:OFF\n1:ON", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9321": { + "key": "CMD_TIME_12_24__HOUR", + "description": "设置时间格式,12H/24H", + "options": [ + { + "index": 0, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12h", + "camera_tag": "F" + } + ] + }, + "9322": { + "key": "CMD_INNER_CAMERA_SWITCH", + "description": "设置内录镜头开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "ONLY DRIVING", + "camera_tag": "F" + }, + { + "index": 3, + "value": "ONLY PARKING", + "camera_tag": "F" + } + ] + }, + "9323": { + "key": "CMD_DST_SWITCH", + "description": "设置夏令时开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9324": { + "key": "CMD_HDR_TELEPHOTO", + "description": "设置长焦HDR开关(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9329": { + "key": "CMD_NORMAL_LED_REAR", + "description": "正常模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9331": { + "key": "CMD_HDR_TXT_COLOR", + "description": "设置HDR水印文本颜色", + "options": [ + { + "index": 0, + "value": "White", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Yellow", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Cyan", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Golden", + "camera_tag": "F" + } + ] + }, + "9333": { + "key": "CMD_HDR_INTERIOR", + "description": "设置车内HDR状态 0:OFF 1:ON 2:AUTO,只有在设置前路HDR开关9138为Auto状态才显示", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "9336": { + "key": "CMD_SET_TELEPHOTO_LED", + "description": "正常模式LED灯控制-长焦镜头LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9337": { + "key": "CMD_PARKING_LED_REAR", + "description": "停车模式LED灯控制-后摄LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9338": { + "key": "CMD_PARKING_LED_TELEPHOTO", + "description": "停车模式LED灯控制-长焦镜头LED", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9339": { + "key": "CMD_CAR_CAMERA_INTERIOR_FISH_EYE", + "description": "车内镜头鱼眼模式", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9340": { + "key": "CMD_PARKING_MODE_FILE_LOCATION", + "description": "停车模式文件存储,0:内存卡 1:外接硬盘", + "options": [] + }, + "9341": { + "key": "CMD_MIX_PARKING_RECORD", + "description": "混合停车录像", + "options": [ + { + "index": 0, + "value": "Low Bitrate &lmpact", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Event Detection & Impact", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1fps (SNV) & Impact", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 1 fps & Impact", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 2 fps & Impact", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 3 fps & Impact", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 5 fps & Impact", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Time lapse 10 fps & Impact", + "camera_tag": "F" + } + ] + }, + "9342": { + "key": "CMD_VIDEO_MERGE", + "description": "视频拼接", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+T" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+I+T" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+T" + }, + { + "index": 0, + "value": "OFF", + "camera_tag": "F+R+I+T" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+I+T" + }, + { + "index": 1, + "value": "Front + Interior", + "camera_tag": "F+R+I+T" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+T" + }, + { + "index": 2, + "value": "Front + Rear", + "camera_tag": "F+R+I+T" + }, + { + "index": 3, + "value": "Front + Interior + Rear", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "Front + Interior + Rear", + "camera_tag": "F+R+I+T" + }, + { + "index": 4, + "value": "Front + Telephoto", + "camera_tag": "F+T" + }, + { + "index": 4, + "value": "Front + Telephoto", + "camera_tag": "F+I+T" + }, + { + "index": 4, + "value": "Front + Telephoto", + "camera_tag": "F+R+T" + }, + { + "index": 4, + "value": "front + telephoto", + "camera_tag": "F+R+I+T" + }, + { + "index": 5, + "value": "Front + Interior + Rear + Tele", + "camera_tag": "F+R+I+T" + }, + { + "index": 6, + "value": "Front + Interior + Telephoto", + "camera_tag": "F+I+T" + }, + { + "index": 7, + "value": "Front + Rear +Telephoto", + "camera_tag": "F+R+T" + } + ] + }, + "9343": { + "key": "CMD_CAR_BATTERY_PROTECT_VOLTAGE_CLOSE", + "description": "停车电池保护下的电压关闭", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "12.4V/24.8V", + "camera_tag": "F" + }, + { + "index": 2, + "value": "12.2V/24.4V", + "camera_tag": "F" + }, + { + "index": 3, + "value": "12.0V/24.0V", + "camera_tag": "F" + } + ] + }, + "9344": { + "key": "CMD_GET_CURRENT_VOLTAGE", + "description": "获取当前设备的电压值", + "options": [] + }, + "9345": { + "key": "CMD_GET_ACC_CONNECT_STATUS", + "description": "获取当前设备ACC连接状态,用于判断是否连接了降压线,value: 1 已连接降压线,如果等于0,代表未连接降压线", + "options": [] + }, + "9346": { + "key": "CMD_GET_BT_MAC_INFO", + "description": "获取当前设备蓝牙绑定的Mac信息[A329系列],首次适配时间2025.7.21,需要通过版本信息判断是否需要适配该指令", + "options": [] + }, + "9348": { + "key": "CMD_CUSTOM_KEY_PRESS", + "description": "自定义按键设置-短按(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "take photo (key)", + "camera_tag": "F" + }, + { + "index": 1, + "value": "switch HDR(key)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "switch parking mode(key)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "turn on time lapse(key)", + "camera_tag": "F" + }, + { + "index": 4, + "value": "turn on / off cabin(key)", + "camera_tag": "F" + }, + { + "index": 5, + "value": "turn on / off rear(key)", + "camera_tag": "F" + }, + { + "index": 7, + "value": "turn on / off tele camera(key)", + "camera_tag": "F" + } + ] + }, + "9349": { + "key": "CMD_CUSTOM_KEY_LONG_PRESS", + "description": "自定义按键设置-长按(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "take photo (key)", + "camera_tag": "F" + }, + { + "index": 1, + "value": "switch HDR(key)", + "camera_tag": "F" + }, + { + "index": 2, + "value": "switch parking mode(key)", + "camera_tag": "F" + }, + { + "index": 3, + "value": "turn on time lapse(key)", + "camera_tag": "F" + }, + { + "index": 4, + "value": "turn on / off cabin(key)", + "camera_tag": "F" + }, + { + "index": 5, + "value": "turn on / off rear(key)", + "camera_tag": "F" + }, + { + "index": 6, + "value": "format sdcard(key)", + "camera_tag": "F" + }, + { + "index": 7, + "value": "turn on / off tele camera(key)", + "camera_tag": "F" + } + ] + }, + "9350": { + "key": "CMD_WATERMARK_CAR_VOLTAGE", + "description": "汽车电压值水印开关(首次适配:S330/S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9352": { + "key": "CMD_EXPORT_SETTINGS", + "description": "导出设置(首次适配:A329S)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9354": { + "key": "CMD_PARKING_IMPACT_NOTIFICATION", + "description": "碰撞检测提醒(首次适配:S330/S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9355": { + "key": "CMD_PARKING_GEOFENCING", + "description": "地理围栏(首次适配:S340)", + "options": [ + { + "index": 0, + "value": "Geofencing_zone 1", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Geofencing_zone 2", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Geofencing_zone 3", + "camera_tag": "F" + } + ] + }, + "9468": { + "key": "CMD_IMAGE_TELEPHOTO_MIRROR", + "description": "长焦镜头镜像(首次适配S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9470": { + "key": "CMD_IMAGE_TELEPHOTO_ROTATION", + "description": "长焦镜头画面翻转(首次适配S340)", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "T130": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [ + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+I" + }, + { + "index": 0, + "value": "Front Camera", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "Interior Camera", + "camera_tag": "F+R+I" + }, + { + "index": 2, + "value": "Rear Camera", + "camera_tag": "F+R+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+I" + }, + { + "index": 3, + "value": "All Camera", + "camera_tag": "F+R+I" + } + ] + }, + "8203": { + "key": "CMD_IR_LED", + "description": "红外灯开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low Bitrate Recording", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Auto Event Detection", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2KP30 + 1080P + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 0, + "value": "2KP30 + 1080P30", + "camera_tag": "F+I" + }, + { + "index": 1, + "value": "1080P30 + 1080P + 1080P", + "camera_tag": "F+R+I" + }, + { + "index": 1, + "value": "1080P30 + 1080P30", + "camera_tag": "F+I" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8225": { + "key": "CMD_IMAGE_INTERIOR_ROTATION", + "description": "内置画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8226": { + "key": "CMD_IMAGE_REAR_ROTATION", + "description": "后路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8234": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "9218": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9219": { + "key": "CMD_IMAGE_INTERIOR_MIRROR", + "description": "车内镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9220": { + "key": "CMD_IMAGE_REAR_MIRROR", + "description": "后拉镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "All Off", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 15, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [] + } + } + }, + "VS1": { + "commands": { + "-9313": { + "key": "CMD_BLUETOOTH_KEY", + "description": "蓝牙按键设置", + "options": [] + }, + "-8220": { + "key": "CMD_SET_EXPOSURE", + "description": "曝光补偿(前镜头、车内镜头、车后镜头)", + "options": [] + }, + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_HDR", + "description": "设置HDR", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "AUTO", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_RU", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_TU", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_RO", + "camera_tag": "F" + }, + { + "index": 12, + "value": "LANG_PL", + "camera_tag": "F" + }, + { + "index": 13, + "value": "LANG_CK", + "camera_tag": "F" + }, + { + "index": 14, + "value": "LANG_SL", + "camera_tag": "F" + }, + { + "index": 15, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 16, + "value": "LANG_KO", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [ + { + "index": 1, + "value": "2.4GHz", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5GHz", + "camera_tag": "F" + } + ] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2560X1440P 30fps", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1920x1080P 30fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2560X1080P 30fps", + "camera_tag": "F" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8251": { + "key": "CMD_SET_HDR_TIME", + "description": "设置HDR自动控制时间(仅在2004指令为AUTO时有效", + "options": [] + }, + "8252": { + "key": "CMD_GET_HDR_TIME", + "description": "获取当前HDR自动控制时间(仅在2004指令为AUTO时有效)\n18:00:00//开启时间点\n09:00:00//关闭时间点", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9218": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Only Wi-Fi LED On", + "camera_tag": "F" + } + ] + }, + "9225": { + "key": "CMD_PARKING_MODE_GPS", + "description": "停车模式下的GPS开关", + "options": [] + }, + "9227": { + "key": "CMD_AI_SPEECH_CONTROL", + "description": "语音控制-设置语音控制开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9228": { + "key": "CMD_GET_AI_SPEECH_CONTENT", + "description": "语音指令", + "options": [] + }, + "9229": { + "key": "CMD_WATERMARK_SWITCH_BRAND", + "description": "品牌水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9312": { + "key": "CMD_FORMAT_REMIND", + "description": "格式化提醒", + "options": [] + }, + "9313": { + "key": "CMD_BLUETOOTH_KEY_AUDIO_RECORD", + "description": "录音按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9314": { + "key": "CMD_BLUETOOTH_KEY_ACTION", + "description": "操作按键", + "options": [ + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 0, + "value": "Turn On / Off WiFi", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Take a Photo", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Turn On / Off Microphone", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Power Off", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Switch to Timelapse Recording", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Turn On / Off HDR", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Parking Mode", + "camera_tag": "F" + } + ] + }, + "9330": { + "key": "CMD_PRIVACY_MODE_SWITCH", + "description": "隐私模式开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "WM1": { + "commands": { + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "2min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 5, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3018": { + "key": "CMD_RESTART_WIFI", + "description": "重启WiFi", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "3032": { + "key": "CMD_WIFI_SET_STA_SSID_PASSWORD", + "description": "设置wifi STA模式下的ssid和密码(WIFI客户端模式)", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8053": { + "key": "CMD_SOUND_VOLUME", + "description": "设置喇叭声音大小", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8058": { + "key": "CMD_GET_GPS_INFO", + "description": "获取GPS", + "options": [] + }, + "8200": { + "key": "CMD_SET_BITRATE", + "description": "设置码流", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Normal", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Maximum", + "camera_tag": "F" + } + ] + }, + "8201": { + "key": "CMD_WIFI_FREQUENCY", + "description": "设置wifi开关及频率, 2.4G或5G", + "options": [] + }, + "8202": { + "key": "CMD_CHANGE_VIDEO_SOURCE", + "description": "预览视频画面源\n不带参数:设备自动切换\n带参数:\n0:Front Camera\n1:Interior Camera\n2:Rear Camera\n3: Tele Camera(仅4路镜头)\n3:BOTH Camera(Rear Overlaid)\n4:BOTH2 Camera(Front Overlaid)\n5:All Camera", + "options": [] + }, + "8204": { + "key": "CMD_PARKING_G_SENSOR", + "description": "停车监控G-sensor灵敏度", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8205": { + "key": "CMD_PARKING_MODE", + "description": "停车监控设置", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Auto Event Detection", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 6, + "value": "Time lapse 10 fps", + "camera_tag": "F" + }, + { + "index": 7, + "value": "Low Bitrate Recording", + "camera_tag": "F" + } + ] + }, + "8206": { + "key": "CMD_TIME_LAPSE_RECORDING", + "description": "缩时录影", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Time lapse 1 fps", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Time lapse 2 fps", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Time lapse 3 fps", + "camera_tag": "F" + }, + { + "index": 4, + "value": "Time lapse 5 fps", + "camera_tag": "F" + }, + { + "index": 5, + "value": "Time lapse 10 fps", + "camera_tag": "F" + } + ] + }, + "8207": { + "key": "CMD_PARKING_MOTION_DETECTION", + "description": "停车监控移动侦测", + "options": [ + { + "index": 0, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 2, + "value": "High", + "camera_tag": "F" + } + ] + }, + "8208": { + "key": "CMD_GPS_SWITCH", + "description": "GPS开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8209": { + "key": "CMD_SPEED_UNIT", + "description": "速度单位", + "options": [ + { + "index": 0, + "value": "MPH", + "camera_tag": "F" + }, + { + "index": 1, + "value": "km/h", + "camera_tag": "F" + } + ] + }, + "8210": { + "key": "CMD_WATERMARK_SWITCH_GPS", + "description": "GPS信息水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Speed + Coordinates", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Speed", + "camera_tag": "F" + }, + { + "index": 3, + "value": "Coordinates", + "camera_tag": "F" + } + ] + }, + "8211": { + "key": "CMD_SET_DATE_FORMAT", + "description": "日期时间显示格式", + "options": [ + { + "index": 0, + "value": "YY-MM-DD", + "camera_tag": "F" + }, + { + "index": 1, + "value": "MM-DD-YY", + "camera_tag": "F" + }, + { + "index": 2, + "value": "DD-MM-YY", + "camera_tag": "F" + } + ] + }, + "8212": { + "key": "CMD_TIME_ZONE", + "description": "时区设置", + "options": [ + { + "index": 0, + "value": "GMT+0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "GMT+1", + "camera_tag": "F" + }, + { + "index": 2, + "value": "GMT+2", + "camera_tag": "F" + }, + { + "index": 3, + "value": "GMT+3", + "camera_tag": "F" + }, + { + "index": 4, + "value": "GMT+3 :30", + "camera_tag": "F" + }, + { + "index": 5, + "value": "GMT+4", + "camera_tag": "F" + }, + { + "index": 6, + "value": "GMT+4 :30", + "camera_tag": "F" + }, + { + "index": 7, + "value": "GMT+5", + "camera_tag": "F" + }, + { + "index": 8, + "value": "GMT+5 :30", + "camera_tag": "F" + }, + { + "index": 9, + "value": "GMT+6", + "camera_tag": "F" + }, + { + "index": 10, + "value": "GMT+6 :30", + "camera_tag": "F" + }, + { + "index": 11, + "value": "GMT+7", + "camera_tag": "F" + }, + { + "index": 12, + "value": "GMT+8", + "camera_tag": "F" + }, + { + "index": 13, + "value": "GMT+9", + "camera_tag": "F" + }, + { + "index": 14, + "value": "GMT+9 :30", + "camera_tag": "F" + }, + { + "index": 15, + "value": "GMT+10", + "camera_tag": "F" + }, + { + "index": 16, + "value": "GMT+10 :30", + "camera_tag": "F" + }, + { + "index": 17, + "value": "GMT+11", + "camera_tag": "F" + }, + { + "index": 18, + "value": "GMT+12", + "camera_tag": "F" + }, + { + "index": 19, + "value": "GMT+13", + "camera_tag": "F" + }, + { + "index": 20, + "value": "GMT-1", + "camera_tag": "F" + }, + { + "index": 21, + "value": "GMT-2", + "camera_tag": "F" + }, + { + "index": 22, + "value": "GMT-2 :30", + "camera_tag": "F" + }, + { + "index": 23, + "value": "GMT-3", + "camera_tag": "F" + }, + { + "index": 24, + "value": "GMT-3 :30", + "camera_tag": "F" + }, + { + "index": 25, + "value": "GMT-4", + "camera_tag": "F" + }, + { + "index": 26, + "value": "GMT-5", + "camera_tag": "F" + }, + { + "index": 27, + "value": "GMT-6", + "camera_tag": "F" + }, + { + "index": 28, + "value": "GMT-7", + "camera_tag": "F" + }, + { + "index": 29, + "value": "GMT-8", + "camera_tag": "F" + }, + { + "index": 30, + "value": "GMT-9", + "camera_tag": "F" + }, + { + "index": 31, + "value": "GMT-10", + "camera_tag": "F" + }, + { + "index": 32, + "value": "GMT-11", + "camera_tag": "F" + }, + { + "index": 33, + "value": "GMT-12", + "camera_tag": "F" + } + ] + }, + "8213": { + "key": "CMD_WATERMARK_SWITCH_MODEL", + "description": "产品型号水印开关", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8214": { + "key": "CMD_BEEP_SOUND", + "description": "提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Button Beep Only", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Startup Sound Only", + "camera_tag": "F" + }, + { + "index": 3, + "value": "All On", + "camera_tag": "F" + } + ] + }, + "8215": { + "key": "CMD_FREQUENCY", + "description": "光源频率", + "options": [ + { + "index": 0, + "value": "50Hz", + "camera_tag": "F" + }, + { + "index": 1, + "value": "60Hz", + "camera_tag": "F" + } + ] + }, + "8218": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印", + "options": [] + }, + "8219": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印", + "options": [] + }, + "8220": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿(前镜头)", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "8222": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率", + "options": [ + { + "index": 0, + "value": "2560x1440P30", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1920x1080P30", + "camera_tag": "F" + } + ] + }, + "8223": { + "key": "CMD_BOOT_DELAY", + "description": "延迟开机", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "5sec", + "camera_tag": "F" + }, + { + "index": 2, + "value": "10sec", + "camera_tag": "F" + } + ] + }, + "8224": { + "key": "CMD_IMAGE_FRONT_ROTATION", + "description": "前路画面旋转180", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "8228": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串", + "options": [] + }, + "8229": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印", + "options": [] + }, + "8230": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪", + "options": [] + }, + "8232": { + "key": "CMD_PARKING_TIMER", + "description": "停车监控时长", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "30min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "1h", + "camera_tag": "F" + }, + { + "index": 3, + "value": "2h", + "camera_tag": "F" + }, + { + "index": 4, + "value": "3h", + "camera_tag": "F" + }, + { + "index": 5, + "value": "4h", + "camera_tag": "F" + }, + { + "index": 6, + "value": "6h", + "camera_tag": "F" + }, + { + "index": 7, + "value": "8h", + "camera_tag": "F" + }, + { + "index": 8, + "value": "12h", + "camera_tag": "F" + }, + { + "index": 9, + "value": "24h", + "camera_tag": "F" + }, + { + "index": 10, + "value": "48h", + "camera_tag": "F" + } + ] + }, + "8233": { + "key": "CMD_PARKING_DELAY", + "description": "延迟进入停车监控", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "90sec", + "camera_tag": "F" + } + ] + }, + "8250": { + "key": "CMD_SCREEN_SAVER", + "description": "屏幕保护", + "options": [ + { + "index": 2, + "value": "3sec", + "camera_tag": "F" + }, + { + "index": 3, + "value": "15sec", + "camera_tag": "F" + }, + { + "index": 4, + "value": "30sec", + "camera_tag": "F" + }, + { + "index": 5, + "value": "1MIN", + "camera_tag": "F" + }, + { + "index": 6, + "value": "3MIN", + "camera_tag": "F" + } + ] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9218": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9221": { + "key": "CMD_VOICE_SWITCH", + "description": "语音播报控制-语音提示音", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9224": { + "key": "CMD_NORMAL_RECORDING_LED_CONTROL", + "description": "正常录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 7, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9226": { + "key": "CMD_PARKING_RECORDING_LED_CONTROL", + "description": "停车录像LED控制", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Only REC", + "camera_tag": "F" + }, + { + "index": 7, + "value": "ON", + "camera_tag": "F" + } + ] + } + } + }, + "WR1": { + "commands": { + "-2404": { + "key": "CMD_APP_VERSION_INFO", + "description": "APP版本信息", + "options": [] + }, + "-2403": { + "key": "CMD_IMAGE_MANAGER", + "description": "图像旋转和镜像管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2402": { + "key": "CMD_PARKING_MANAGER", + "description": "停车监控管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "-2401": { + "key": "CMD_WATERMARK_MANAGER", + "description": "水印管理(APP内部自定义的一个指令,按条件查询,当前这条数据不应在任何设备支持)", + "options": [] + }, + "2001": { + "key": "CMD_RECORD", + "description": "开始/停止录像 par=Start/stop(1/0)", + "options": [] + }, + "2002": { + "key": "CMD_RECORD_RESOLUTION", + "description": "录像分辨率[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "1920x1080,30P", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1280x720,60P", + "camera_tag": "F" + }, + { + "index": 2, + "value": "848x480,60P", + "camera_tag": "F" + }, + { + "index": 3, + "value": "640x480,30P", + "camera_tag": "F" + } + ] + }, + "2003": { + "key": "CMD_SET_LOOP_REC", + "description": "循环录像", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "1min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 4, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "2004": { + "key": "CMD_SET_WDR", + "description": "设置WDR[A129/G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2005": { + "key": "CMD_SET_EXPOSURE_FRONT", + "description": "曝光补偿[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "+2.0", + "camera_tag": "F" + }, + { + "index": 1, + "value": "+1.6", + "camera_tag": "F" + }, + { + "index": 2, + "value": "+1.3", + "camera_tag": "F" + }, + { + "index": 3, + "value": "+1.0", + "camera_tag": "F" + }, + { + "index": 4, + "value": "+0.6", + "camera_tag": "F" + }, + { + "index": 5, + "value": "+0.3", + "camera_tag": "F" + }, + { + "index": 6, + "value": "+0.0", + "camera_tag": "F" + }, + { + "index": 7, + "value": "-0.3", + "camera_tag": "F" + }, + { + "index": 8, + "value": "-0.6", + "camera_tag": "F" + }, + { + "index": 9, + "value": "-1.0", + "camera_tag": "F" + }, + { + "index": 10, + "value": "-1.3", + "camera_tag": "F" + }, + { + "index": 11, + "value": "-1.6", + "camera_tag": "F" + }, + { + "index": 12, + "value": "-2.0", + "camera_tag": "F" + } + ] + }, + "2006": { + "key": "CMD_MOTION_DETECTION", + "description": "移动侦测[A119/A129/G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2007": { + "key": "CMD_MOVIE_AUDIO_SWITCH", + "description": "录音开关 par=1/0", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2008": { + "key": "CMD_WATERMARK_SWITCH_DATE", + "description": "日期水印", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "2011": { + "key": "CMD_SET_G_SENSOR", + "description": "碰撞灵敏度", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "Low", + "camera_tag": "F" + }, + { + "index": 2, + "value": "Medium", + "camera_tag": "F" + }, + { + "index": 3, + "value": "High", + "camera_tag": "F" + } + ] + }, + "2015": { + "key": "CMD_MOVIE_LIVEVIEW_START", + "description": "重新开启/停止直播流 par", + "options": [] + }, + "2016": { + "key": "CMD_MOVIE_RECORDING_TIME", + "description": "当前循环时间段录影时间", + "options": [] + }, + "2017": { + "key": "CMD_MOVIE_REC_TRIGGER_RAWENC", + "description": "触发截帧拍照动作", + "options": [] + }, + "2019": { + "key": "CMD_MOVIE_GET_LIVEVIEW_FMT", + "description": "获取直播流地址", + "options": [] + }, + "3001": { + "key": "CMD_MODECHANGE", + "description": "切换模式 par=Photo/Movie/Playback(0/1/2)", + "options": [] + }, + "3003": { + "key": "CMD_WIFI_SET_SSID", + "description": "设置WiFi名", + "options": [] + }, + "3004": { + "key": "CMD_WIFI_SET_PASSWORD", + "description": "设置WiFi密码", + "options": [] + }, + "3005": { + "key": "CMD_SET_DATE", + "description": "设置日期 str=yyyy-MM-hh", + "options": [] + }, + "3006": { + "key": "CMD_SET_TIME", + "description": "设置时间 str=HH:mm:ss", + "options": [] + }, + "3007": { + "key": "CMD_SET_AUTO_POWER_OFF", + "description": "自动关机[W1GS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "3min", + "camera_tag": "F" + }, + { + "index": 2, + "value": "5min", + "camera_tag": "F" + }, + { + "index": 3, + "value": "10min", + "camera_tag": "F" + } + ] + }, + "3008": { + "key": "CMD_SET_LANGUAGE", + "description": "相机语言", + "options": [ + { + "index": 0, + "value": "LANG_SC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "LANG_TC", + "camera_tag": "F" + }, + { + "index": 2, + "value": "LANG_EN", + "camera_tag": "F" + }, + { + "index": 3, + "value": "LANG_FR", + "camera_tag": "F" + }, + { + "index": 4, + "value": "LANG_ES", + "camera_tag": "F" + }, + { + "index": 5, + "value": "LANG_PO", + "camera_tag": "F" + }, + { + "index": 6, + "value": "LANG_DE", + "camera_tag": "F" + }, + { + "index": 7, + "value": "LANG_IT", + "camera_tag": "F" + }, + { + "index": 8, + "value": "LANG_PY", + "camera_tag": "F" + }, + { + "index": 9, + "value": "LANG_JP", + "camera_tag": "F" + }, + { + "index": 10, + "value": "LANG_AR", + "camera_tag": "F" + }, + { + "index": 11, + "value": "LANG_PL", + "camera_tag": "F" + } + ] + }, + "3009": { + "key": "CMD_SET_VIDEO_OUTPUT_FORMAT", + "description": "视频输出格式 0:NTSC 1:PAL[G1WS/WR1/MT1]", + "options": [ + { + "index": 0, + "value": "NTSC", + "camera_tag": "F" + }, + { + "index": 1, + "value": "PAL", + "camera_tag": "F" + } + ] + }, + "3010": { + "key": "CMD_FORMAT_SD_CARD", + "description": "格式化存储卡", + "options": [] + }, + "3011": { + "key": "CMD_RESET_FACTORY", + "description": "恢复出厂设置", + "options": [] + }, + "3012": { + "key": "CMD_SYSTEM_INFO", + "description": "查看FW版本", + "options": [] + }, + "3014": { + "key": "CMD_QUERY_CUR_STATUS", + "description": "查询各个设置状态", + "options": [] + }, + "3015": { + "key": "CMD_GET_FILE_LIST", + "description": "设备文件列表获取", + "options": [] + }, + "3016": { + "key": "CMD_HEARTBEAT", + "description": "发送心跳包", + "options": [] + }, + "3017": { + "key": "CMD_DISK_FREE_SPACE", + "description": "查询SD卡剩余空间", + "options": [] + }, + "3023": { + "key": "CMD_REMOVE_USER", + "description": "剔除之前连接的手机", + "options": [] + }, + "3024": { + "key": "CMD_GET_CARD_STATUS", + "description": "查询SD卡的状态", + "options": [] + }, + "3029": { + "key": "CMD_GET_SSID_PASSPHRASE", + "description": "获取Wifi名和密码", + "options": [] + }, + "4003": { + "key": "CMD_DELETE_FILE", + "description": "删除设备文件", + "options": [] + }, + "8260": { + "key": "CMD_GET_SENSOR_NUMBER", + "description": "获取镜头状态和数量\n0\n1\n//前镜头\n1 //车内镜头\n1\n//后拉镜头\n3", + "options": [] + }, + "9093": { + "key": "CMD_IMAGE_FRONT_MIRROR", + "description": "前镜头镜像[G1WS/WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9094": { + "key": "CMD_BEEP_SOUND", + "description": "提示音[WR1]", + "options": [ + { + "index": 0, + "value": "OFF", + "camera_tag": "F" + }, + { + "index": 1, + "value": "ON", + "camera_tag": "F" + } + ] + }, + "9095": { + "key": "CMD_REBOOT_DEVICE", + "description": "重启记录仪[G1WS/WR1]", + "options": [] + }, + "9222": { + "key": "CMD_SETTING_ENTER", + "description": "APP进入设置/文件回放", + "options": [] + }, + "9223": { + "key": "CMD_SETTING_EXIT", + "description": "APP退出设置/文件回放", + "options": [] + }, + "9417": { + "key": "CMD_WATERMARK_CUSTOM", + "description": "自定义水印[A119/A129/G1WS]", + "options": [] + }, + "9422": { + "key": "CMD_WATERMARK_PLATE_NUMBER", + "description": "设置车牌水印[A119/A129/G1WS]", + "options": [] + }, + "9426": { + "key": "CMD_GET_PLATE_NUMBER", + "description": "获取车牌字串[A119/A129/G1WS/WR1]", + "options": [] + }, + "9427": { + "key": "CMD_WATERMARK_CUSTOM_TXT", + "description": "获取自定义水印[A119/A129/G1WS/WR1]", + "options": [] + } + } + } + } +} \ No newline at end of file diff --git a/web/app.py b/web/app.py index 318eddd..bd2cdd7 100644 --- a/web/app.py +++ b/web/app.py @@ -14,6 +14,7 @@ import logging import os +import time from contextlib import asynccontextmanager, suppress from fastapi import FastAPI @@ -25,6 +26,7 @@ from .db import Database, default_db_path, migrate_legacy_db_path from .routers import archive as archive_router from .routers import auth as auth_router +from .routers import control as control_router from .routers import exports as exports_router from .routers import progress as progress_router from .routers import queue as queue_router @@ -49,6 +51,8 @@ from .services.log_store import DBLogHandler from .services.mqtt import MqttService from .services.sync_worker import SyncWorker +from .services import derive_worker +from .services.derive_worker import DeriveWorker from .setup_mode import SetupModeMiddleware log = logging.getLogger("viofosync.web") @@ -155,20 +159,6 @@ async def _background_scan() -> None: log.info("initial archive scan: %d clips indexed", n) except Exception as e: # pragma: no cover — non-fatal log.warning("initial scan failed: %s", e) - return - # Sweep any clips that don't have a cached thumbnail yet — - # backfills the cache on first boot of this image and on any - # subsequent boot where new files landed (e.g. manual drop). - try: - await scanner.sweep_missing_thumbs( - app.state.db, s.recordings, - ) - except Exception as e: # pragma: no cover — non-fatal - log.warning("thumb sweep failed: %s", e) - try: - await _dur_mod.sweep_missing_durations(app.state.db) - except Exception as e: # pragma: no cover — non-fatal - log.warning("duration sweep failed: %s", e) app.state.initial_scan_task = asyncio.create_task(_background_scan()) @@ -268,6 +258,27 @@ def _on_sync_settings_changed(keys, snap) -> None: provider.subscribe(_on_sync_settings_changed) ) + app.state.derive_worker = DeriveWorker( + app.state.db, provider, app.state.hub + ) + app.state.derive_worker.bind_loop(asyncio.get_running_loop()) + app.state.derive_worker.start() + app.state.derive_worker.kick() # pick up whatever the boot scan enqueues + + def _on_derive_settings_changed(keys, snap) -> None: + # When eager-derive toggles change, backfill existing clips so + # they get the newly-enabled artifact without waiting for the next + # download cycle. + if {"DERIVE_THUMBS_EAGER", "DERIVE_FILMSTRIPS_EAGER"} & keys: + derive_worker.enqueue_backfill( + app.state.db, now=int(time.time()) + ) + app.state.derive_worker.kick() + + app.state.settings_unsubscribes.append( + provider.subscribe(_on_derive_settings_changed) + ) + app.state.mqtt = MqttService( db=app.state.db, provider=provider, @@ -304,6 +315,7 @@ def _on_mqtt_settings_change(keys, snap): if task is not None and not task.done(): task.cancel() await app.state.sync_worker.stop() + await app.state.derive_worker.stop() await app.state.export_worker.stop() drain = getattr(app.state, "log_drain_task", None) if drain is not None and not drain.done(): @@ -331,7 +343,7 @@ def create_app() -> FastAPI: app = FastAPI( title="Viofosync", - version="2.3", + version="2.4", lifespan=lifespan, docs_url=None, # no swagger in prod build redoc_url=None, @@ -350,6 +362,7 @@ def create_app() -> FastAPI: app.include_router(auth_router.router) app.include_router(archive_router.router) + app.include_router(control_router.router) app.include_router(exports_router.router) app.include_router(queue_router.router) app.include_router(progress_router.router) diff --git a/web/config_store.py b/web/config_store.py index 3002438..4b5373a 100644 --- a/web/config_store.py +++ b/web/config_store.py @@ -91,6 +91,7 @@ def write(self, data: dict) -> None: _ENV_RE = re.compile(r"^([A-Z][A-Z0-9_]*)=(.*)$") _BOOL_KEYS = { "HTML", "GPS_EXTRACT", "ENABLE_SCHEDULED_SYNC", "GEOCODE_ENABLED", + "DERIVE_THUMBS_EAGER", "DERIVE_FILMSTRIPS_EAGER", } _INT_KEYS = { "TIMEOUT", "DOWNLOAD_ATTEMPTS", "MAX_DOWNLOAD_ATTEMPTS", diff --git a/web/db.py b/web/db.py index 010e824..e4d0da6 100644 --- a/web/db.py +++ b/web/db.py @@ -26,7 +26,7 @@ import threading from contextlib import contextmanager from pathlib import Path -from typing import Iterator +from typing import Iterator, Optional log = logging.getLogger("viofosync.db") @@ -121,7 +121,7 @@ def migrate_legacy_db_path(new_path: str) -> None: recorded_at INTEGER, camera TEXT, event_type TEXT, - state TEXT NOT NULL, -- pending|downloading|done|failed|gone + state TEXT NOT NULL, -- pending|downloading|done|failed|gone|skipped priority INTEGER NOT NULL DEFAULT 0, attempts INTEGER NOT NULL DEFAULT 0, last_error TEXT, @@ -149,6 +149,18 @@ def migrate_legacy_db_path(new_path: str) -> None: clip_end INTEGER -- max source-clip timestamp (unix s) ); +CREATE TABLE IF NOT EXISTS derive_queue ( + clip_id INTEGER PRIMARY KEY, -- clip_index.id + priority INTEGER NOT NULL, -- 0 = live (new clip), 1 = backfill + state TEXT NOT NULL, -- pending|running|done|failed + attempts INTEGER NOT NULL DEFAULT 0, + last_error TEXT, + enqueued_at INTEGER NOT NULL, + updated_at INTEGER NOT NULL +); +CREATE INDEX IF NOT EXISTS idx_derive_state + ON derive_queue(state, priority ASC, clip_id DESC); + CREATE TABLE IF NOT EXISTS kv ( key TEXT PRIMARY KEY, value TEXT NOT NULL @@ -268,3 +280,20 @@ def write(self) -> Iterator[sqlite3.Connection]: """Serialised write connection.""" with self._lock, self.conn() as c: yield c + + # ---- kv: small persisted app state (string-valued) ---- + + def kv_get(self, key: str, default: Optional[str] = None) -> Optional[str]: + with self.conn() as c: + row = c.execute( + "SELECT value FROM kv WHERE key = ?", (key,) + ).fetchone() + return row["value"] if row else default + + def kv_set(self, key: str, value: str) -> None: + with self.write() as c: + c.execute( + "INSERT INTO kv(key, value) VALUES(?, ?) " + "ON CONFLICT(key) DO UPDATE SET value = excluded.value", + (key, value), + ) diff --git a/web/routers/archive.py b/web/routers/archive.py index d0e6072..0e6ea59 100644 --- a/web/routers/archive.py +++ b/web/routers/archive.py @@ -43,6 +43,17 @@ FALLBACK_MAX_S = 300.0 FALLBACK_DEFAULT_S = 60.0 +# Journey-window buffer. GPS stop boundaries land ~STOP_RADIUS_M (50m) inside +# the real drive, so the pull-away clip at the start and the pull-in clip at +# the end sit outside the raw journey window — "missing the start" / "cut short +# on arrival". Pad each edge outward, but no further than the nearest +# parking-mode clip on that side (the genuine "car is parked" boundary) and +# never more than this cap. The cap matters because the dashcam can be knocked +# out of parking mode by the car's electrics waking, producing spurious driving +# clips — so we don't trust an arbitrary parking->driving switch to mark the +# journey edge; we only lean on a *parking* clip as a hard stop. +MAX_JOURNEY_BUFFER_S = 120.0 + router = APIRouter( prefix="/api/archive", tags=["archive"], @@ -386,6 +397,30 @@ def _effective_durations(rows) -> dict[int, float]: return eff +def _expand_journey_window( + start_ts: float, end_ts: float, + parking_spans: list[tuple[float, float]], +) -> tuple[float, float]: + """Pad a GPS journey window ``[start_ts, end_ts]`` outward to catch the + pull-away / pull-in footage that sits just outside the GPS stop radius. + + Each edge expands by at most ``MAX_JOURNEY_BUFFER_S``, but stops at the + nearest parking-mode clip on that side so we never swallow parked footage. + ``parking_spans`` is ``[(start_ts, end_ts), ...]`` for the day's parking + clips. A parking clip straddling an edge means we're already at the + boundary, so that edge doesn't expand at all. See ``MAX_JOURNEY_BUFFER_S`` + for why the cap, not the mode switch, is the backstop. + """ + new_start = start_ts - MAX_JOURNEY_BUFFER_S + new_end = end_ts + MAX_JOURNEY_BUFFER_S + for ps, pe in parking_spans: + if ps < start_ts: # parking (partly) before the window + new_start = max(new_start, min(pe, start_ts)) + if pe > end_ts: # parking (partly) after the window + new_end = min(new_end, max(ps, end_ts)) + return new_start, new_end + + @router.get("/timeline") def get_timeline( request: Request, @@ -422,6 +457,22 @@ def get_timeline( raise HTTPException(404, "journey index out of range") j = journeys[journey] start_ts, end_ts = j["start_ts"], j["end_ts"] + # Pad the window so the pull-away / pull-in footage isn't lost. Parking + # clips are queried unfiltered (the display kind-filter must not hide a + # boundary) and bound how far each edge may travel. + with db.conn() as c: + prk = c.execute( + "SELECT timestamp, duration_s FROM clip_index " + "WHERE group_name = ? AND event_type = 'parking'", + [date], + ).fetchall() + parking_spans = [ + (r["timestamp"], r["timestamp"] + (r["duration_s"] or 0.0)) + for r in prk + ] + start_ts, end_ts = _expand_journey_window( + start_ts, end_ts, parking_spans + ) where = ["group_name = ?"] params: list = [date] @@ -467,6 +518,14 @@ def get_timeline( if start_ts is None and clips: start_ts = min(c["start_ts"] for c in clips) end_ts = max(c["start_ts"] + c["duration_s"] for c in clips) + elif journey is not None and clips: + # Clamp the padded window to the footage that's actually there: the + # buffer must reach an adjacent clip, not lead into empty timeline, and + # a long clip overlapping an edge must not drag bounds past the cap. + cov_start = min(c["start_ts"] for c in clips) + cov_end = max(c["start_ts"] + c["duration_s"] for c in clips) + start_ts = max(start_ts, cov_start) + end_ts = min(end_ts, cov_end) # Each clip block lazy-loads a filmstrip sprite, so this count is how # many ffmpeg jobs the editor may kick off — the usual cause of a NAS @@ -599,14 +658,6 @@ async def rescan(request: Request) -> JSONResponse: request.app.state.db, s.recordings, s.grouping, request.app.state.hub, asyncio.get_running_loop(), ) - _tasks.spawn( - scanner.sweep_missing_thumbs(request.app.state.db, s.recordings), - name="rescan-thumb-sweep", - ) - _tasks.spawn( - durations.sweep_missing_durations(request.app.state.db), - name="rescan-duration-sweep", - ) return JSONResponse({"ok": True, "indexed": n}) diff --git a/web/routers/control.py b/web/routers/control.py new file mode 100644 index 0000000..296eb76 --- /dev/null +++ b/web/routers/control.py @@ -0,0 +1,85 @@ +"""Camera control routes — read and (safely) adjust dashcam settings. + +Backed by :mod:`viofosync_lib._control`, which decodes the camera's settings +against the vendor command map and enforces the destructive-command denylist +plus per-value validation. The camera address comes from the ``ADDRESS`` +setting (same one the sync worker uses). + +All blocking camera I/O runs in a threadpool so the event loop is never held. +Reads require a session; the single mutating route additionally requires CSRF. +""" +from __future__ import annotations + +from fastapi import APIRouter, Depends, HTTPException, Request +from fastapi.concurrency import run_in_threadpool +from pydantic import BaseModel + +from ..auth import require_csrf, require_session +from viofosync_lib import _control as control + +router = APIRouter(prefix="/api/camera", tags=["camera"], + dependencies=[Depends(require_session)]) + + +def _address(request: Request) -> str: + """Resolve the configured camera address or 409 if unset.""" + snap = request.app.state.settings_provider.get() + if not snap.address: + raise HTTPException( + status_code=409, + detail="No camera ADDRESS configured (set it in Settings).") + return snap.address + + +def _run(fn, *args): + """Invoke a blocking control call, mapping control errors to HTTP.""" + try: + return fn(*args) + except control.DestructiveCommandError as e: + raise HTTPException(status_code=403, detail=str(e)) from e + except control.ValidationError as e: + raise HTTPException(status_code=400, detail=str(e)) from e + except control.CameraUnreachable as e: + raise HTTPException( + status_code=502, + detail=f"Camera unreachable: {e}") from e + except control.ControlError as e: + raise HTTPException(status_code=500, detail=str(e)) from e + + +@router.get("/info") +async def get_info(request: Request) -> dict: + """Firmware, free space, card status and lens/sensor count.""" + addr = _address(request) + return await run_in_threadpool(_run, control.read_info, addr) + + +@router.get("/settings") +async def get_settings(request: Request) -> dict: + """Live decoded settings (cmd=3014), labelled against the command map.""" + addr = _address(request) + return await run_in_threadpool(_run, control.read_settings, addr) + + +@router.get("/settings/catalog") +async def get_catalog(request: Request) -> dict: + """Safely-writable settings with their option lists and current values — + the data the Camera UI renders its controls from.""" + addr = _address(request) + return await run_in_threadpool(_run, control.writable_catalog, addr) + + +class _SetRequest(BaseModel): + value: str | int + + +@router.post( + "/settings/{key}", + dependencies=[Depends(require_csrf)], +) +async def set_setting(key: str, body: _SetRequest, request: Request) -> dict: + """Validate and apply one setting (``key`` = CMD_KEY or numeric cmd), + then read back to verify. Destructive ids are refused with 403.""" + addr = _address(request) + return await run_in_threadpool( + _run, control.set_setting, addr, key, body.value) diff --git a/web/routers/exports.py b/web/routers/exports.py index 697e074..5adc1c3 100644 --- a/web/routers/exports.py +++ b/web/routers/exports.py @@ -63,6 +63,10 @@ class Segment(BaseModel): channel: str = Field(pattern=f"^({'|'.join(CHANNEL_ORDER)})$") start_ts: float end_ts: float + pip: str | None = Field( + default=None, + pattern=f"^({'|'.join(CHANNEL_ORDER)})$", + ) class CreateExport(BaseModel): diff --git a/web/routers/queue.py b/web/routers/queue.py index 4b19a75..ffed8db 100644 --- a/web/routers/queue.py +++ b/web/routers/queue.py @@ -126,6 +126,32 @@ def retry(body: Retry, request: Request) -> dict: return {"ok": True, "updated": n} +class Skip(BaseModel): + filenames: List[str] = Field(default_factory=list) + + +@router.post("/queue/skip", dependencies=[Depends(require_csrf)]) +def skip(body: Skip, request: Request) -> dict: + n = q.skip(request.app.state.db, body.filenames) + q.emit_queue_changed(request.app.state.db, request.app.state.hub) + return {"ok": True, "updated": n} + + +class Unskip(BaseModel): + filenames: List[str] = Field(default_factory=list) + + +@router.post("/queue/unskip", dependencies=[Depends(require_csrf)]) +def unskip(body: Unskip, request: Request) -> dict: + n = q.unskip(request.app.state.db, body.filenames) + q.emit_queue_changed(request.app.state.db, request.app.state.hub) + # Un-skipped files are pending again — wake the worker to pick them up. + worker = getattr(request.app.state, "sync_worker", None) + if worker is not None: + worker.kick() + return {"ok": True, "updated": n} + + @router.get("/sync/status") def sync_status(request: Request) -> dict: worker = getattr(request.app.state, "sync_worker", None) diff --git a/web/routers/settings.py b/web/routers/settings.py index 0c57aa5..0b63e0d 100644 --- a/web/routers/settings.py +++ b/web/routers/settings.py @@ -38,6 +38,8 @@ def _editable_values(snap) -> dict[str, Any]: "GROUPING": snap.grouping, "HTML": snap.use_html_listing, "GPS_EXTRACT": snap.gps_extract, + "DERIVE_THUMBS_EAGER": snap.derive_thumbs_eager, + "DERIVE_FILMSTRIPS_EAGER": snap.derive_filmstrips_eager, "DELETE_AFTER_DOWNLOAD": snap.delete_after_download, "SYNC_RO_ONLY": snap.sync_ro_only, "RETENTION_MAX_DAYS": snap.retention_max_days, diff --git a/web/services/derive_queue.py b/web/services/derive_queue.py new file mode 100644 index 0000000..d17cd5d --- /dev/null +++ b/web/services/derive_queue.py @@ -0,0 +1,145 @@ +"""Persistent per-clip derive queue + state machine. + +One row per clip (clip_id is the PK): "this clip needs a derive pass". +What is actually *done* is read from disk / clip_index, so rows are +idempotent. Mirrors services/queue.py: pure DB functions, writes go +through Database.write(). States: pending -> running -> done; a transient +failure returns the row to pending (attempts++) until max_attempts, then +failed. Pass ``now`` (unix seconds) explicitly so tests are deterministic. +""" +from __future__ import annotations + +from typing import Optional + +from ..db import Database + + +def enqueue(db: Database, clip_id: int, *, priority: int, now: int) -> None: + """Insert or reactivate a clip at ``priority``. A row that is not + currently ``running`` is reset to ``pending`` (so a manual rescan + re-runs a ``failed`` clip); a ``running`` row is left alone.""" + with db.write() as c: + c.execute( + """ + INSERT INTO derive_queue ( + clip_id, priority, state, attempts, + last_error, enqueued_at, updated_at + ) VALUES (?, ?, 'pending', 0, NULL, ?, ?) + ON CONFLICT(clip_id) DO UPDATE SET + priority = MIN(derive_queue.priority, excluded.priority), + state = CASE WHEN derive_queue.state = 'running' + THEN derive_queue.state ELSE 'pending' END, + attempts = CASE WHEN derive_queue.state = 'running' + THEN derive_queue.attempts ELSE 0 END, + last_error = CASE WHEN derive_queue.state = 'running' + THEN derive_queue.last_error ELSE NULL END, + updated_at = excluded.updated_at + """, + (clip_id, priority, now, now), + ) + + +def claim_next(db: Database, *, now: int) -> Optional[int]: + """Atomically move the highest-priority pending clip to ``running`` + and return its id, or None if nothing is pending.""" + with db.write() as c: + row = c.execute( + """ + SELECT clip_id FROM derive_queue + WHERE state = 'pending' + ORDER BY priority ASC, clip_id DESC + LIMIT 1 + """ + ).fetchone() + if row is None: + return None + clip_id = row["clip_id"] + c.execute( + "UPDATE derive_queue SET state='running', updated_at=? " + "WHERE clip_id=?", + (now, clip_id), + ) + return clip_id + + +def mark_done(db: Database, clip_id: int, *, now: int) -> None: + """Mark a running clip as done.""" + with db.write() as c: + c.execute( + "UPDATE derive_queue SET state='done', last_error=NULL, " + "updated_at=? WHERE clip_id=?", + (now, clip_id), + ) + + +def mark_transient_failure( + db: Database, clip_id: int, error: str, *, max_attempts: int, now: int +) -> str: + """Increment attempts; return to 'pending' unless the cap is hit, in + which case 'failed'. Returns the new state.""" + with db.write() as c: + row = c.execute( + "SELECT attempts FROM derive_queue WHERE clip_id=?", (clip_id,) + ).fetchone() + attempts = (row["attempts"] if row else 0) + 1 + state = "failed" if attempts >= max_attempts else "pending" + c.execute( + "UPDATE derive_queue SET state=?, attempts=?, last_error=?, " + "updated_at=? WHERE clip_id=?", + (state, attempts, error, now, clip_id), + ) + return state + + +def reconcile_orphans(db: Database, *, now: int) -> int: + """Reset rows left 'running' by a dead process back to 'pending'. + Returns the number reset.""" + with db.write() as c: + cur = c.execute( + "UPDATE derive_queue SET state='pending', updated_at=? " + "WHERE state='running'", + (now,), + ) + return cur.rowcount + + +def remove_clip(db: Database, clip_id: int) -> None: + """Delete a clip's queue row entirely.""" + with db.write() as c: + c.execute("DELETE FROM derive_queue WHERE clip_id=?", (clip_id,)) + + +def pending_count(db: Database) -> int: + """Count clips that are pending or currently running.""" + with db.conn() as c: + return c.execute( + "SELECT COUNT(*) FROM derive_queue WHERE state IN ('pending','running')" + ).fetchone()[0] + + +def enqueue_missing(db: Database, *, priority: int, now: int) -> int: + """Enqueue every clip_index row that lacks a done/running derive row + (new clips + previously-failed), in a single write. Leaves done/running + rows untouched so a repeated scan doesn't re-derive the whole archive. + Returns the number of rows inserted or reset.""" + with db.write() as c: + cur = c.execute( + """ + INSERT INTO derive_queue ( + clip_id, priority, state, attempts, + last_error, enqueued_at, updated_at + ) + SELECT ci.id, ?, 'pending', 0, NULL, ?, ? + FROM clip_index ci + LEFT JOIN derive_queue dq ON dq.clip_id = ci.id + WHERE dq.clip_id IS NULL OR dq.state NOT IN ('done', 'running') + ON CONFLICT(clip_id) DO UPDATE SET + priority = MIN(derive_queue.priority, excluded.priority), + state = 'pending', + attempts = 0, + last_error = NULL, + updated_at = excluded.updated_at + """, + (priority, now, now), + ) + return cur.rowcount diff --git a/web/services/derive_worker.py b/web/services/derive_worker.py new file mode 100644 index 0000000..e1641c3 --- /dev/null +++ b/web/services/derive_worker.py @@ -0,0 +1,183 @@ +# web/services/derive_worker.py +"""Unified per-clip derive step + the DeriveWorker consumer (later task). + +derive_one() runs four idempotent sub-steps against one clip, gated by +the settings snapshot, reusing the existing generators unchanged. It +NEVER raises for a per-clip data problem (corrupt clip, missing file); +those are classified into the returned DeriveResult so the queue layer +decides requeue vs done. +""" +from __future__ import annotations + +import asyncio +import logging +import os +import time +from dataclasses import dataclass + +from ..db import Database +from . import derive_queue as dq +from . import durations, filmstrip, thumbs + +log = logging.getLogger("viofosync.derive") + + +@dataclass +class DeriveResult: + gone: bool = False # clip file vanished (retention race) + transient_failed: bool = False # something worth retrying later + + +async def derive_one(db: Database, snap, clip: dict) -> DeriveResult: + """Derive duration + GPS + thumb + filmstrip for one clip dict + ({id, path, duration_s}). Idempotent; honours the eager toggles.""" + clip_id = clip["id"] + path = clip["path"] + if not os.path.isfile(path): + return DeriveResult(gone=True) + + res = DeriveResult() + duration = clip.get("duration_s") + + # 1. duration (always) — probe + store if missing. + if not duration or duration <= 0: + try: + duration = await durations.probe_and_store(db, clip_id, path) + except Exception as e: # transient probe error + log.warning("derive: duration probe failed clip=%s: %s", clip_id, e) + res.transient_failed = True + + # 2. GPS (gated) — inline at download already; worker is the backfill + # path. Best-effort, never fatal. + if getattr(snap, "gps_extract", False): + try: + await durations.ensure_gps(db, clip_id, path) + except Exception as e: # pragma: no cover - non-fatal + log.warning("derive: gps failed clip=%s: %s", clip_id, e) + + # 3. thumbnail (gated) — ensure_thumb is idempotent + has its own + # failed-marker, so a permanent failure won't re-spawn ffmpeg. + if snap.derive_thumbs_eager: + try: + await thumbs.ensure_thumb(snap.recordings, clip_id, path) + except Exception as e: + log.warning("derive: thumb failed clip=%s: %s", clip_id, e) + res.transient_failed = True + + # 4. filmstrip (gated, needs a known duration) — skip this pass if + # duration is still unknown; the clip will be retried. + if snap.derive_filmstrips_eager: + if duration and duration > 0: + try: + await filmstrip.ensure_filmstrip( + snap.recordings, clip_id, path, duration + ) + except Exception as e: + log.warning("derive: filmstrip failed clip=%s: %s", clip_id, e) + res.transient_failed = True + else: + res.transient_failed = True # retry once duration lands + + return res + + +def enqueue_backfill(db: Database, *, now: int) -> int: + """Enqueue clips missing a done derive pass, at backfill priority. + Delegates to derive_queue.enqueue_missing so a re-boot doesn't + re-derive already-done clips. Returns count enqueued.""" + return dq.enqueue_missing(db, priority=1, now=now) + + +class DeriveWorker: + """Long-lived async consumer of derive_queue. One clip at a time; + reuses derive_one + the generators' own semaphores, so it yields to + on-demand requests automatically.""" + + def __init__(self, db: Database, provider, hub) -> None: + self.db = db + self._provider = provider + self.hub = hub + self._loop: asyncio.AbstractEventLoop | None = None + self._task = None + self._stop = asyncio.Event() + self._kick = asyncio.Event() + + def bind_loop(self, loop: asyncio.AbstractEventLoop) -> None: + self._loop = loop + + def start(self) -> None: + if self._task is not None and not self._task.done(): + return + if self._loop is None: + self._loop = asyncio.get_running_loop() + dq.reconcile_orphans(self.db, now=int(time.time())) + self._stop.clear() + self._task = asyncio.run_coroutine_threadsafe(self._run(), self._loop) + log.info("derive worker started") + + def kick(self) -> None: + if self._loop is not None and self._loop.is_running(): + self._loop.call_soon_threadsafe(self._kick.set) + else: + self._kick.set() + + async def stop(self) -> None: + self._stop.set() + self.kick() + if self._task is not None: + import concurrent.futures + waitable = (asyncio.wrap_future(self._task) + if isinstance(self._task, concurrent.futures.Future) + else self._task) + try: + await asyncio.wait_for(waitable, timeout=10.0) + except (TimeoutError, asyncio.CancelledError): + pass + + def _fetch_clip(self, clip_id: int) -> dict | None: + with self.db.conn() as c: + row = c.execute( + "SELECT id, path, duration_s FROM clip_index WHERE id=?", + (clip_id,), + ).fetchone() + return dict(row) if row else None + + async def _run(self) -> None: + while not self._stop.is_set(): + clip_id = dq.claim_next(self.db, now=int(time.time())) + if clip_id is None: + self._kick.clear() + try: + await asyncio.wait_for(self._kick.wait(), timeout=5.0) + except TimeoutError: + pass + continue + await self._process(clip_id) + + async def _process(self, clip_id: int) -> None: + snap = self._provider.get() + clip = self._fetch_clip(clip_id) + if clip is None: + dq.remove_clip(self.db, clip_id) + return + try: + res = await derive_one(self.db, snap, clip) + except Exception as e: # pragma: no cover - defensive + log.exception("derive worker: clip %s crashed", clip_id) + dq.mark_transient_failure( + self.db, clip_id, str(e), + max_attempts=getattr(snap, "max_attempts", 3), + now=int(time.time()), + ) + return + now = int(time.time()) + if res.gone: + dq.remove_clip(self.db, clip_id) + elif res.transient_failed: + dq.mark_transient_failure( + self.db, clip_id, "transient", + max_attempts=getattr(snap, "max_attempts", 3), now=now, + ) + else: + dq.mark_done(self.db, clip_id, now=now) + await self.hub.broadcast({"type": "clip_derived", "clip_id": clip_id}) diff --git a/web/services/durations.py b/web/services/durations.py index bdc6d51..a050ce8 100644 --- a/web/services/durations.py +++ b/web/services/durations.py @@ -2,9 +2,9 @@ The scanner indexes clips from filenames but never measures their length. ``duration_s`` drives filmstrip frame counts and the -timeline layout, so probe any clip missing it and store the value. -Mirrors ``scanner.sweep_missing_thumbs``: bounded concurrency, -idempotent (only NULL/zero rows are probed), non-fatal on failure. +timeline layout. :func:`probe_duration` / :func:`probe_and_store` +are called per-clip by the DeriveWorker; :func:`ensure_gps` marks +GPS extraction as examined so clips are not re-probed. """ from __future__ import annotations @@ -14,6 +14,8 @@ import os import shutil +import viofosync_lib as vfs + from ..db import Database _FFPROBE_TIMEOUT_S = 15.0 @@ -174,81 +176,38 @@ async def _probe_duration_ffprobe(path: str) -> float | None: return d if d > 0 else None -def _flush(db: Database, batch: list[tuple[int, float]]) -> int: - """Persist a batch of (clip_id, duration) pairs. Returns rows written.""" - if not batch: - return 0 - with db.write() as c: - for clip_id, dur in batch: + +async def probe_and_store(db: Database, clip_id: int, path: str) -> float | None: + """Probe one clip's duration (probe_duration) and persist it. Returns + the duration or None on failure. Idempotent: callers gate on a missing + duration_s, so this only runs when needed.""" + dur = await probe_duration(path) + if dur and dur > 0: + with db.write() as c: c.execute( - "UPDATE clip_index SET duration_s = ? WHERE id = ?", - (dur, clip_id), + "UPDATE clip_index SET duration_s=? WHERE id=?", (dur, clip_id) ) - return len(batch) - + return dur -async def sweep_missing_durations( - db: Database, *, concurrency: int = 4, batch_size: int = 200 -) -> int: - """ffprobe every indexed clip with a NULL/zero ``duration_s`` and - store the result. Returns the number of rows updated. Idempotent. - Results are persisted in batches *as they are probed*, not all at the - end, so an interrupted sweep (server restart/shutdown) keeps the work - it has already done — successive runs whittle down the remainder - instead of redoing all ~N clips every boot. - """ +async def ensure_gps(db: Database, clip_id: int, path: str) -> None: + """Extract GPS if not yet examined; mark examined either way so the + clip isn't re-probed. Best-effort; clips without a GPS lock are normal.""" with db.conn() as c: - rows = c.execute( - "SELECT id, path FROM clip_index " - "WHERE duration_s IS NULL OR duration_s <= 0" - ).fetchall() - todo = [(r["id"], r["path"]) for r in rows if os.path.isfile(r["path"])] - if not todo: - return 0 - - log.info( - "duration sweep: probing %d clip(s) via mvhd (ffprobe fallback), " - "concurrency=%d", len(todo), concurrency, - ) - sem = asyncio.Semaphore(concurrency) - - async def _one(clip_id: int, path: str) -> tuple[int, float | None, str | None]: - async with sem: - try: - dur, method = await _probe_with_method(path) - return clip_id, dur, method - except asyncio.CancelledError: - raise # shutdown — let it propagate so we flush + stop - except Exception as e: # pragma: no cover — non-fatal - log.warning("duration probe failed for %s: %s", path, e) - return clip_id, None, None - - tasks = [asyncio.ensure_future(_one(cid, p)) for cid, p in todo] - updated = 0 - methods = {"mvhd": 0, "ffprobe": 0} - batch: list[tuple[int, float]] = [] + row = c.execute( + "SELECT gps_examined FROM clip_index WHERE id=?", (clip_id,) + ).fetchone() + if row and row["gps_examined"]: + return try: - for t in tasks: - clip_id, dur, method = await t - if dur is not None: - if method in methods: - methods[method] += 1 - batch.append((clip_id, dur)) - if len(batch) >= batch_size: - updated += _flush(db, batch) - batch = [] - updated += _flush(db, batch) - batch = [] - finally: - # On interruption, abandon the rest and persist what we have so - # the next run resumes from here rather than starting over. - for t in tasks: - if not t.done(): - t.cancel() - updated += _flush(db, batch) - log.info( - "duration sweep: %d updated (%d via mvhd, %d via ffprobe)", - updated, methods["mvhd"], methods["ffprobe"], - ) - return updated + await asyncio.to_thread(vfs.extract_gps_data, path) + except Exception: + pass # no GPS lock / unreadable atom — still mark examined + # scanner._iter_clips uses ``path + ".gpx"`` (appended to full path, + # extension included, e.g. foo.MP4.gpx) — match that exactly. + sidecar = path + ".gpx" + with db.write() as c: + c.execute( + "UPDATE clip_index SET has_gpx=?, gps_examined=1 WHERE id=?", + (1 if os.path.exists(sidecar) else 0, clip_id), + ) diff --git a/web/services/exporter.py b/web/services/exporter.py index ad9dd45..dc2e65e 100644 --- a/web/services/exporter.py +++ b/web/services/exporter.py @@ -131,9 +131,11 @@ def build_switch_pieces(segments: list, clips: list) -> list: ``segments`` is ``[{channel, start_ts, end_ts}, ...]`` (in output order). ``clips`` is ``[{path, channel, start_ts, duration_s}, ...]`` (``channel`` already derived via ``naming.channel_of``). Returns - ``[{path, ss, t}, ...]`` — each piece trims ``path`` from offset - ``ss`` for duration ``t`` seconds. Clips are clamped to the segment - window; pieces shorter than ``_MIN_PIECE_S`` are dropped. + ``[{path, ss, t, ts, pip}, ...]`` — each piece trims ``path`` from + offset ``ss`` for duration ``t`` seconds; ``ts`` is the piece's + absolute start timestamp (``max(segment_start, clip_start)``); ``pip`` + is the owning segment's PiP channel, or ``None``. Clips are clamped to + the segment window; pieces shorter than ``_MIN_PIECE_S`` are dropped. """ pieces: list = [] for seg in segments: @@ -159,6 +161,12 @@ def build_switch_pieces(segments: list, clips: list) -> list: # float offsets (consistent ffmpeg -ss/-t strings). "ss": round(float(in_), 3), "t": round(float(out_ - in_), 3), + # Absolute start of this piece (max of segment start and clip start) so the + # runner can resolve a partner clip for the same window. + "ts": round(float(max(s, cs)), 3), + # The owning segment's PiP channel (or None) — drives the + # overlay composite in the timeline runner. + "pip": seg.get("pip"), }) return pieces @@ -432,6 +440,53 @@ def _pip_filter_complex( ) +def _timeline_pip_filter( + w: int, h: int, position: str, encoder: str = "software", +) -> str: + """-filter_complex graph for a timeline PiP piece. + + Input 0 is the segment's main camera (scaled to the export frame + ``w``x``h``); input 1 is the PiP camera, scaled to a quarter frame and + overlaid at the corner from ``_PIP_OVERLAY_COORDS`` (unknown -> top_right). + Scaling the base to the same ``w``x``h`` as the non-PiP pieces keeps every + piece concat-compatible. QSV composes on the GPU (scale_qsv/overlay_qsv, + which needs x=/y= coords); every other encoder uses software scale/overlay + and the runner appends hwupload for VAAPI via ``_with_upload``. + """ + coords = _PIP_OVERLAY_COORDS.get( + position, _PIP_OVERLAY_COORDS["top_right"], + ) + iw, ih = w // 4, h // 4 + if encoder == "qsv": + x, y = coords.split(":") + return ( + f"[0:v]scale_qsv=w={w}:h={h}[base];" + f"[1:v]scale_qsv=w={iw}:h={ih}[pip];" + f"[base][pip]overlay_qsv=x={x}:y={y}" + ) + return ( + f"[0:v]scale={w}:{h},setsar=1[base];" + f"[1:v]scale={iw}:{ih},setsar=1[pip];" + f"[base][pip]overlay={coords}" + ) + + +def _find_clip_at(clips: list, channel: str, ts: float) -> Optional[dict]: + """First clip in ``channel`` whose [start, start+duration) covers ``ts``. + + Used by the timeline runner to resolve a PiP partner clip for a piece's + window. Returns ``None`` when no clip covers it (the runner then drops the + overlay for that piece rather than failing the export).""" + for c in clips: + if c["channel"] != channel: + continue + cs = c["start_ts"] + ce = cs + (c.get("duration_s") or 0) + if cs <= ts < ce: + return c + return None + + def video_codec_args(encoder: str) -> List[str]: """ffmpeg ``-c:v`` arguments for a given encoder. Unknown values fall back to software libx264 so a typo can't brick @@ -895,7 +950,9 @@ async def _run_job(self, job: dict) -> None: if job["type"] == "timeline": segments = raw.get("segments", []) if isinstance(raw, dict) else [] - await self._run_timeline(job, segments, encoder, out) + await self._run_timeline( + job, segments, encoder, out, snap.pip_position, + ) return clips = self._fetch_clips(clip_ids) @@ -1106,7 +1163,9 @@ async def _pip( finally: shutil.rmtree(tmp, ignore_errors=True) - async def _run_timeline(self, job, segments, encoder, out) -> None: + async def _run_timeline( + self, job, segments, encoder, out, position="top_right", + ) -> None: lo = min(s["start_ts"] for s in segments) hi = max(s["end_ts"] for s in segments) with self.db.conn() as c: @@ -1175,9 +1234,42 @@ async def concat_parts(parts: List[str], dst: str, listname: str): "progress": 0.6 * i / max(1, n), "stage": f"video {i + 1}/{n}", }) - rc, err = await self._run_ffmpeg( - job["id"], - [ + # A PiP piece composites the partner camera as a corner inset; + # if no partner footage covers this window, fall through to the + # plain single-input scale so a gap never fails the export. + partner = ( + _find_clip_at(clips, pc["pip"], pc["ts"]) + if pc.get("pip") else None + ) + if partner is not None: + partner_ss = round(float(pc["ts"] - partner["start_ts"]), 3) + # Viofo records every channel as paired clips of identical + # length, so the partner normally covers the whole piece. + # If a partner clip is short (corrupt/partial download), the + # overlay's default eof_action=repeat freezes the inset on + # its last frame; the piece length is still driven by the + # main input (overlay ends with input 0), so concat stays + # correct — the export never truncates or fails. + fc = _with_upload( + _timeline_pip_filter(w, h, position, encoder), encoder, + ) + args = [ + *_hw_init_args(encoder), + "-y", + # decode flags are per-input: repeated before each -i. + *_hw_decode_args(encoder), + "-ss", str(pc["ss"]), "-t", str(pc["t"]), + "-i", pc["path"], + *_hw_decode_args(encoder), + "-ss", str(partner_ss), "-t", str(pc["t"]), + "-i", partner["path"], + "-an", + "-filter_complex", fc, + *video_codec_args(encoder), + seg, + ] + else: + args = [ *_hw_init_args(encoder), *_hw_decode_args(encoder), "-y", @@ -1188,8 +1280,9 @@ async def concat_parts(parts: List[str], dst: str, listname: str): "-vf", vf, *video_codec_args(encoder), seg, - ], - pc["t"], + ] + rc, err = await self._run_ffmpeg( + job["id"], args, pc["t"], progress_base=0.6 * i / max(1, n), progress_span=0.6 / max(1, n), stage=f"video {i + 1}/{n}", diff --git a/web/services/filmstrip.py b/web/services/filmstrip.py index 75ce13c..e6b795c 100644 --- a/web/services/filmstrip.py +++ b/web/services/filmstrip.py @@ -58,6 +58,42 @@ def meta_path(recordings: str, clip_id: int) -> str: return os.path.join(_cache_dir(recordings), f"{clip_id}.json") +def _fail_path(recordings: str, clip_id: int) -> str: + return os.path.join(_cache_dir(recordings), f"{clip_id}.filmstrip.fail") + + +def mark_failed(recordings: str, clip_id: int) -> None: + """Record that sprite generation failed for ``clip_id`` so the derive + sweep doesn't re-spawn ffmpeg on the same un-renderable clip.""" + try: + os.makedirs(_cache_dir(recordings), exist_ok=True) + with open(_fail_path(recordings, clip_id), "w") as f: + f.write("") + except OSError: + pass + + +def _clear_failed(recordings: str, clip_id: int) -> None: + try: + os.remove(_fail_path(recordings, clip_id)) + except OSError: + pass + + +def failed_recently(recordings: str, clip_id: int, video_path: str) -> bool: + """True if generation failed and the video hasn't changed since — so a + corrupt/too-short clip is skipped until its file is replaced.""" + fp = _fail_path(recordings, clip_id) + try: + fail_mtime = os.path.getmtime(fp) + except OSError: + return False + try: + return os.path.getmtime(video_path) <= fail_mtime + except OSError: + return False + + def frame_count(duration_s: float | None, interval_s: int = INTERVAL_S) -> int: """Number of tiles for a clip: one frame every ``interval_s`` seconds, always at least one.""" @@ -207,6 +243,9 @@ async def ensure_filmstrip( log.debug("filmstrip cache hit clip=%s", clip_id) return cached + if failed_recently(recordings, clip_id, video_path): + return None + ffmpeg = shutil.which("ffmpeg") if ffmpeg is None: global _warned_no_ffmpeg @@ -236,12 +275,14 @@ async def ensure_filmstrip( "filmstrip: clip=%s generation failed after %.1fs (frames=%d)", clip_id, elapsed, frames, ) + mark_failed(recordings, clip_id) return None log.info( "filmstrip: clip=%s done in %.1fs (frames=%d)", clip_id, elapsed, frames, ) + _clear_failed(recordings, clip_id) meta = FilmstripMeta( frames=frames, interval_s=INTERVAL_S, tile_w=TILE_W, tile_h=TILE_H, diff --git a/web/services/importer.py b/web/services/importer.py index ec1b210..76a5990 100644 --- a/web/services/importer.py +++ b/web/services/importer.py @@ -10,7 +10,6 @@ """ from __future__ import annotations -import asyncio import datetime as _dt import logging import os @@ -409,12 +408,8 @@ def run_folder_ingest(db: Database, snap, hub, loop, *, root: str) -> dict: }) # Reuse the post-sync pipeline. scanner.scan handles its own - # broadcast + threadsafe scheduling. + # broadcast + threadsafe scheduling, and enqueues missing derives. scanner.scan(db, recordings, snap.grouping, hub, loop) - if loop is not None: - asyncio.run_coroutine_threadsafe( - scanner.sweep_missing_thumbs(db, recordings), loop, - ) from .exporter import export_protect_ids _retention.sweep( db, recordings, diff --git a/web/services/queue.py b/web/services/queue.py index a8f4544..d857cf2 100644 --- a/web/services/queue.py +++ b/web/services/queue.py @@ -14,6 +14,8 @@ pending ──▶ gone (no longer on the dashcam) failed ──▶ pending (manual retry) + pending ──▶ skipped (user) ──▶ pending (un-skip) + failed ──▶ skipped (user) """ from __future__ import annotations @@ -529,6 +531,7 @@ def list_days( SUM(CASE WHEN state='done' THEN 1 ELSE 0 END) AS done_count, SUM(CASE WHEN state='failed' THEN 1 ELSE 0 END) AS failed_count, SUM(CASE WHEN state='gone' THEN 1 ELSE 0 END) AS gone_count, + SUM(CASE WHEN state='skipped' THEN 1 ELSE 0 END) AS skipped_count, SUM(CASE WHEN {_RO_SQL} THEN 1 ELSE 0 END) AS ro_count, SUM(CASE WHEN NOT ({_RO_SQL}) AND {_EVT_PREFIX_SQL} = 'P' THEN 1 @@ -685,6 +688,41 @@ def retry(db: Database, filenames: List[str]) -> int: return cur.rowcount +def skip(db: Database, filenames: List[str]) -> int: + """Mark the given queued files ``skipped`` so the worker never + downloads them. Only ``pending``/``failed`` rows change; returns the + number updated. ``next_pending`` selects only ``pending``, so a skipped + row is simply never picked up.""" + if not filenames: + return 0 + with db.write() as c: + ph = ",".join("?" * len(filenames)) + cur = c.execute( + f"UPDATE download_queue SET state='skipped' " + f"WHERE filename IN ({ph}) " + f"AND state IN ('pending', 'failed')", + filenames, + ) + return cur.rowcount + + +def unskip(db: Database, filenames: List[str]) -> int: + """Return ``skipped`` files to ``pending`` for downloading again, + resetting attempts/last_error for a fresh try (mirrors ``retry``). + Only ``skipped`` rows change; returns the number updated.""" + if not filenames: + return 0 + with db.write() as c: + ph = ",".join("?" * len(filenames)) + cur = c.execute( + f"UPDATE download_queue SET state='pending', " + f"attempts=0, last_error=NULL " + f"WHERE filename IN ({ph}) AND state='skipped'", + filenames, + ) + return cur.rowcount + + def retry_failed(db: Database) -> int: """Move every queue item in state ``failed`` back to ``pending``, resetting attempts. Returns the count updated.""" diff --git a/web/services/retention.py b/web/services/retention.py index a030045..f2be904 100644 --- a/web/services/retention.py +++ b/web/services/retention.py @@ -20,6 +20,7 @@ from typing import Optional from ..db import Database +from . import derive_queue as _dq from . import filmstrip as _filmstrip from . import thumbs as _thumbs @@ -82,6 +83,7 @@ def _delete_clip_files(rec: dict, recordings: str) -> int: def _delete_index_row(db: Database, clip_id: int) -> None: + _dq.remove_clip(db, clip_id) with db.write() as c: c.execute("DELETE FROM clip_index WHERE id = ?", (clip_id,)) diff --git a/web/services/scanner.py b/web/services/scanner.py index 0ed3315..1f97114 100644 --- a/web/services/scanner.py +++ b/web/services/scanner.py @@ -27,7 +27,6 @@ import viofosync_lib as vfs from ..db import Database -from . import thumbs log = logging.getLogger("viofosync.scanner") @@ -66,6 +65,46 @@ def _event_type_for(camera_field: str, source_dir: str) -> str: return "normal" +def _clip_meta_for( + destination: str, + grouping: str, + filename: str, + source_dir: str, +) -> "ClipMeta | None": + """Derive a :class:`ClipMeta` for a single filename under ``destination``. + + Returns ``None`` if the filename doesn't match the Viofo pattern or the + file doesn't exist on disk. ``source_dir`` is the dashcam origin path + (used to identify RO clips); pass ``""`` when not known. + """ + m = vfs.downloaded_filename_re.match(filename) + if not m: + return None + + ts = _dt.datetime( + int(m.group("year")), int(m.group("month")), + int(m.group("day")), int(m.group("hour")), + int(m.group("minute")), int(m.group("second")), + ) + group_name = vfs.get_group_name(ts, grouping) or "" + path = vfs.get_filepath(destination, group_name, filename) + if not os.path.isfile(path): + return None + + camera_field = m.group("camera") + return ClipMeta( + path=path, + basename=filename, + group_name=ts.strftime("%Y-%m-%d"), # always daily key in UI + timestamp=ts, + camera=camera_field.upper(), + sequence=int(m.group("sequence")), + event_type=_event_type_for(camera_field, source_dir), + size_bytes=os.path.getsize(path), + has_gpx=os.path.exists(path + ".gpx"), + ) + + def _iter_clips( destination: str, grouping: str, @@ -82,37 +121,74 @@ def _iter_clips( Replace with a bounded ``os.walk`` if files ever land outside that layout. """ - for filename, rec_date in vfs.get_downloaded_recordings( + for filename, _rec_date in vfs.get_downloaded_recordings( destination, grouping ): - m = vfs.downloaded_filename_re.match(filename) - if not m: - continue - - ts = _dt.datetime( - int(m.group("year")), int(m.group("month")), - int(m.group("day")), int(m.group("hour")), - int(m.group("minute")), int(m.group("second")), + meta = _clip_meta_for( + destination, grouping, filename, + source_dirs.get(filename, ""), ) - group_name = vfs.get_group_name(ts, grouping) or "" - path = vfs.get_filepath(destination, group_name, filename) - if not os.path.isfile(path): - continue - - camera_field = m.group("camera") - yield ClipMeta( - path=path, - basename=filename, - group_name=ts.strftime("%Y-%m-%d"), # always daily key in UI - timestamp=ts, - camera=camera_field.upper(), - sequence=int(m.group("sequence")), - event_type=_event_type_for( - camera_field, source_dirs.get(filename, "") + if meta is not None: + yield meta + + +def _upsert_clip(c, clip: ClipMeta, now: int) -> None: + """Upsert one :class:`ClipMeta` row into ``clip_index``. + + ``gps_examined`` is monotonic: a sidecar discovered on disk lifts the + flag, but a sidecar that vanished (or was never written) doesn't reset + it to 0 — so ``MAX`` is used on conflict. + """ + c.execute( + """ + INSERT INTO clip_index ( + path, basename, group_name, timestamp, + camera, sequence, event_type, size_bytes, + has_gpx, gps_examined, scanned_at + ) VALUES (?,?,?,?,?,?,?,?,?,?,?) + ON CONFLICT(path) DO UPDATE SET + size_bytes=excluded.size_bytes, + has_gpx=excluded.has_gpx, + gps_examined=MAX( + clip_index.gps_examined, + excluded.gps_examined ), - size_bytes=os.path.getsize(path), - has_gpx=os.path.exists(path + ".gpx"), - ) + event_type=excluded.event_type, + scanned_at=excluded.scanned_at + """, + ( + clip.path, + clip.basename, + clip.group_name, + int(clip.timestamp.timestamp()), + clip.camera, + clip.sequence, + clip.event_type, + clip.size_bytes, + 1 if clip.has_gpx else 0, + # Sidecar present → necessarily examined. + 1 if clip.has_gpx else 0, + now, + ), + ) + + +def index_one_clip( + db: Database, destination: str, grouping: str, filename: str, *, + source_dir: str = "", +) -> "int | None": + """Index one freshly-downloaded clip so it appears immediately. + Returns its clip_index.id, or None if the file can't be derived/found.""" + meta = _clip_meta_for(destination, grouping, filename, source_dir) + if meta is None: + return None + now = int(time.time()) + with db.write() as c: + _upsert_clip(c, meta, now) + row = c.execute( + "SELECT id FROM clip_index WHERE path=?", (meta.path,) + ).fetchone() + return row["id"] if row else None def scan(db: Database, destination: str, grouping: str, hub=None, loop=None) -> int: @@ -148,42 +224,7 @@ def scan(db: Database, destination: str, grouping: str, hub=None, loop=None) -> c.execute("BEGIN") try: for clip in clips: - # gps_examined uses MAX so a sidecar discovered on - # disk lifts the flag, but a sidecar that vanished - # (or was never written for an empty result) doesn't - # reset it back to 0 — examined is monotonic. - c.execute( - """ - INSERT INTO clip_index ( - path, basename, group_name, timestamp, - camera, sequence, event_type, size_bytes, - has_gpx, gps_examined, scanned_at - ) VALUES (?,?,?,?,?,?,?,?,?,?,?) - ON CONFLICT(path) DO UPDATE SET - size_bytes=excluded.size_bytes, - has_gpx=excluded.has_gpx, - gps_examined=MAX( - clip_index.gps_examined, - excluded.gps_examined - ), - event_type=excluded.event_type, - scanned_at=excluded.scanned_at - """, - ( - clip.path, - clip.basename, - clip.group_name, - int(clip.timestamp.timestamp()), - clip.camera, - clip.sequence, - clip.event_type, - clip.size_bytes, - 1 if clip.has_gpx else 0, - # Sidecar present → necessarily examined. - 1 if clip.has_gpx else 0, - now, - ), - ) + _upsert_clip(c, clip, now) # Drop index rows whose files vanished (retention policy or # manual move). But a scan that found *nothing* almost always @@ -225,66 +266,8 @@ def scan(db: Database, destination: str, grouping: str, hub=None, loop=None) -> if loop is not None: hub.schedule_broadcast(loop, event) - return len(seen_paths) - - -async def sweep_missing_thumbs( - db: Database, - recordings: str, - *, - concurrency: int = 4, -) -> int: - """Generate thumbnails for any indexed clip that lacks one. - - Concurrency is bounded so we don't fan out dozens of ffmpeg - processes on a NAS that may already be busy. Idempotent: - clips with a non-empty thumb are skipped (just a stat() per - row), so repeat calls are cheap. Returns the number of - thumbs successfully generated. - """ - with db.conn() as c: - rows = c.execute( - "SELECT id, path FROM clip_index" - ).fetchall() - - todo: list[tuple[int, str]] = [] - for row in rows: - if not os.path.isfile(row["path"]): - continue - thumb_file = thumbs.thumb_path(recordings, row["id"]) - if os.path.exists(thumb_file) and os.path.getsize(thumb_file) > 0: - continue - # A clip that already failed extraction (corrupt/too-short/partial) - # is skipped until its file changes, so the sweep doesn't re-spawn - # ffmpeg on the same un-thumbable clips every cycle. - if thumbs.failed_recently(recordings, row["id"], row["path"]): - continue - todo.append((row["id"], row["path"])) - - if not todo: - return 0 - - log.info( - "thumb sweep: generating %d thumbnail(s) (concurrency=%d)", - len(todo), concurrency, - ) - sem = asyncio.Semaphore(concurrency) + from . import derive_queue as _dq + _dq.enqueue_missing(db, priority=1, now=int(time.time())) - async def _one(clip_id: int, path: str) -> int: - async with sem: - try: - result = await thumbs.ensure_thumb( - recordings, clip_id, path - ) - return 1 if result else 0 - except Exception as e: # pragma: no cover — non-fatal - log.warning("thumb gen failed for %s: %s", path, e) - return 0 + return len(seen_paths) - counts = await asyncio.gather( - *(_one(cid, p) for cid, p in todo) - ) - generated = sum(counts) - log.info("thumb sweep: %d generated, %d skipped", - generated, len(todo) - generated) - return generated diff --git a/web/services/sync_worker.py b/web/services/sync_worker.py index 4bd55ed..c1112fc 100644 --- a/web/services/sync_worker.py +++ b/web/services/sync_worker.py @@ -56,6 +56,10 @@ # cycle is wedged in an uncancellable executor call. STOP_TIMEOUT = 10.0 +# kv key for the persisted pause toggle ("1" = paused). Survives a +# restart so the worker resumes in the state the user last left it. +_PAUSED_KV_KEY = "sync_paused" + class DiskFullError(Exception): """Raised by _download_one on ENOSPC: the recordings volume is @@ -317,6 +321,12 @@ def __init__( self._cancel_current = threading.Event() self._kick = asyncio.Event() self._paused = threading.Event() # set = paused + # Restore the last-used pause toggle (persisted in kv) so a + # restart resumes in the state the user left it. ENABLE_SCHEDULED_SYNC + # still gates whether the schedule runs at all. Best-effort: with + # no store there's simply nothing to restore (prod always has one). + if self.db is not None and self.db.kv_get(_PAUSED_KV_KEY) == "1": + self._paused.set() self._backoff_idx = 0 self._loop: Optional[asyncio.AbstractEventLoop] = None self._running_cycle = False @@ -434,6 +444,7 @@ def pause(self) -> None: picking new items. The current download is cancelled.""" log.info("sync paused") self._paused.set() + self.db.kv_set(_PAUSED_KV_KEY, "1") self._cancel_current.set() self._broadcast_sync_state() @@ -441,6 +452,7 @@ def resume(self) -> None: """Unpause and kick the worker to pick up immediately.""" log.info("sync resumed") self._paused.clear() + self.db.kv_set(_PAUSED_KV_KEY, "0") self._broadcast_sync_state() self.kick() @@ -782,9 +794,6 @@ async def _cycle(self) -> bool: self.db, snap.recordings, snap.grouping, self.hub, asyncio.get_running_loop(), ) - await scanner.sweep_missing_thumbs( - self.db, snap.recordings, - ) sink = WebSink(self.hub, asyncio.get_running_loop()) await asyncio.to_thread( _retention.sweep, @@ -932,6 +941,16 @@ def _blocking(): await self._clear_sync_error() q.mark_done(self.db, item.id) q.emit_queue_changed(self.db, self.hub) + # Index this clip now so it appears immediately, then enqueue + # its (heavier) derive at live priority. + from . import derive_queue as _dq + _snap = self._provider.get() + _cid = scanner.index_one_clip( + self.db, _snap.recordings, _snap.grouping, item.filename, + source_dir=item.source_dir, + ) + if _cid is not None: + _dq.enqueue(self.db, _cid, priority=0, now=int(time.time())) return True new_state = q.mark_transient_failure( diff --git a/web/settings.py b/web/settings.py index 14446d7..b08b1f1 100644 --- a/web/settings.py +++ b/web/settings.py @@ -47,6 +47,8 @@ class Snapshot: grouping: str use_html_listing: bool gps_extract: bool + derive_thumbs_eager: bool + derive_filmstrips_eager: bool delete_after_download: bool timeout: float download_attempts: int @@ -244,6 +246,8 @@ def _make_snapshot(self, data: dict) -> Snapshot: grouping=m.GROUPING, use_html_listing=m.HTML, gps_extract=m.GPS_EXTRACT, + derive_thumbs_eager=m.DERIVE_THUMBS_EAGER, + derive_filmstrips_eager=m.DERIVE_FILMSTRIPS_EAGER, delete_after_download=m.DELETE_AFTER_DOWNLOAD, timeout=float(m.TIMEOUT), download_attempts=m.DOWNLOAD_ATTEMPTS, diff --git a/web/settings_schema.py b/web/settings_schema.py index b103651..768876f 100644 --- a/web/settings_schema.py +++ b/web/settings_schema.py @@ -36,6 +36,11 @@ class SettingsModel(BaseModel): GROUPING: Literal["none", "daily", "weekly", "monthly", "yearly"] = "daily" HTML: bool = True GPS_EXTRACT: bool = True + DERIVE_THUMBS_EAGER: bool = True + # Filmstrips are ~10-25x the ffmpeg work of a thumbnail, so eager + # pre-generation is opt-in; off means they build on demand on first + # timeline view. + DERIVE_FILMSTRIPS_EAGER: bool = False DELETE_AFTER_DOWNLOAD: bool = False TIMEOUT: int = Field(default=10, ge=1, le=60) DOWNLOAD_ATTEMPTS: int = Field(default=3, ge=1, le=10) @@ -156,6 +161,7 @@ def _validate_disk_critical(self): # Public taxonomy used by the API + UI. EDITABLE_KEYS = { "ADDRESS", "ADDRESS_FALLBACK", "IMPORT_PATH", "GROUPING", "HTML", "GPS_EXTRACT", + "DERIVE_THUMBS_EAGER", "DERIVE_FILMSTRIPS_EAGER", "DELETE_AFTER_DOWNLOAD", "TIMEOUT", "DOWNLOAD_ATTEMPTS", "MAX_DOWNLOAD_ATTEMPTS", "SYNC_INTERVAL", "ENABLE_SCHEDULED_SYNC", "WEB_HOST", "WEB_PORT", "EXPORT_ENCODER", diff --git a/web/static/app.js b/web/static/app.js index 61b2448..4fa779f 100644 --- a/web/static/app.js +++ b/web/static/app.js @@ -28,6 +28,7 @@ const EXTRA_CAMERAS = CAMERAS.filter( const state = { csrf: null, modalClip: null, // { id, camera, dayEl, timelines } + camera: null, // cached { info, cat } from the last good fetch autoAdvance: localStorage.getItem("vfs.autoAdvance") === "1", page: 1, perPage: 20, @@ -276,6 +277,8 @@ function routeTo(hash) { if (logsView) logsView.hidden = tab !== "logs"; const settingsView = document.getElementById("view-settings"); if (settingsView) settingsView.hidden = tab !== "settings"; + const cameraView = document.getElementById("view-camera"); + if (cameraView) cameraView.hidden = tab !== "camera"; const timelineView = document.getElementById("view-timeline"); if (timelineView) { timelineView.hidden = tab !== "timeline"; @@ -290,6 +293,7 @@ function routeTo(hash) { refreshExportJobs(); } if (tab === "downloads") loadQueue(); + if (tab === "camera") loadCamera(); if (tab === "logs") loadLogs(); if (tab === "settings") loadSettings(); if (tab === "timeline") { @@ -314,10 +318,19 @@ function routeTo(hash) { // `/api/archive/rescan` (walking the whole recordings tree) from every // open tab — so N open archive clients meant N full rescans per tick. // The work is the server's to do once; the browser just reacts to it. +// Trailing debounce: the derive worker emits `clip_derived` per clip, so a +// boot backfill of a large archive would otherwise fire one reload per clip +// across every open tab. Coalesce a burst into a single reload shortly after +// it settles. Guards are evaluated at fire time (state may have changed). +let _archiveRefreshTimer = null; function refreshArchiveOnIndexChange() { - if (document.getElementById("view-archive").hidden) return; - if (document.querySelector("#days .day .day-body:not([hidden])")) return; - loadDays(); + if (_archiveRefreshTimer) clearTimeout(_archiveRefreshTimer); + _archiveRefreshTimer = setTimeout(() => { + _archiveRefreshTimer = null; + if (document.getElementById("view-archive").hidden) return; + if (document.querySelector("#days .day .day-body:not([hidden])")) return; + loadDays(); + }, 400); } // ---------- Archive ---------- @@ -985,6 +998,7 @@ function renderClipPair(pair) { data-clip-id="${c.id}" data-ts="${pair.timestamp}"> +
${escHtml(c.basename)}
` : `
`; // Kind badge: shown for parking / read-only pairs only. Driving @@ -1021,6 +1035,18 @@ function renderClipPair(pair) { }); }); + // Lazy hover-scrub: load each clip's filmstrip the first time its tile is + // hovered, then scrub the overlay. The metadata endpoint generates the + // sprite on demand (cached), so this only does work for tiles the user + // actually points at. Single-frame clips (frames < 2) stay static. + el.querySelectorAll(".thumb[data-clip-id]").forEach((thumbEl) => { + const id = thumbEl.dataset.clipId; + const overlay = thumbEl.querySelector(".film-scrub"); + if (!overlay) return; + wireLazyFilmstripScrub( + overlay, thumbEl, () => api(`/api/archive/clip/${id}/filmstrip`)); + }); + // Selection checkbox → export set. Preserve selected state // across re-renders (e.g. auto-refresh). const cb = el.querySelector('input[type="checkbox"]'); @@ -1445,6 +1471,46 @@ function formatExportRange(start, end) { `${e.toLocaleDateString([], dOpts)}`; } +// ---------- Filmstrip hover-scrub (shared) ---------- +// +// Turn `el` into a ready-to-scrub layer for an N-frame sprite. The :hover CSS +// rule deliberately omits animation-timing-function so the per-element step +// count set here (which CSS can't express via a custom property) wins. Returns +// false (a no-op) when there's nothing to scrub: no sprite, or a single tile. +function applyFilmstripScrub(el, spriteUrl, frames) { + if (!el || !spriteUrl || !(frames >= 2)) return false; + el.style.backgroundImage = `url("${spriteUrl}")`; + el.style.setProperty("--frames", String(frames)); + el.style.animationTimingFunction = `steps(${frames}, jump-none)`; + el.classList.add("is-ready"); + return true; +} + +// Lazily load a filmstrip the first time `hoverEl` is hovered, then wire `el` +// to scrub. `load` returns a promise of the filmstrip metadata +// ({ sprite_url, frames }). Loading on first hover (rather than for every +// visible tile) avoids spawning ffmpeg across a whole day just by opening it. +// A thrown error (network/5xx) re-arms so a later hover retries; a clip that +// can't be rendered (204, no sprite_url) is left as a permanent no-op. +function wireLazyFilmstripScrub(el, hoverEl, load) { + let started = false; + hoverEl.addEventListener("mouseenter", () => { + if (started) return; + started = true; + Promise.resolve() + .then(load) + .then((meta) => { + if (meta && meta.sprite_url) { + applyFilmstripScrub(el, meta.sprite_url, meta.frames); + } + }) + .catch(() => { started = false; }); + }); +} + +// Export sprites are a fixed-length strip (mirrors export_preview.N_FRAMES). +const EXPORT_FILMSTRIP_FRAMES = 10; + function renderExportJobs(jobs) { updateExportsSummary(jobs); const el = document.getElementById("exports-list"); @@ -1540,7 +1606,7 @@ function renderExportJobs(jobs) { `${EXPORT_ICON_TRASH}`; // Filmstrip preview. A finished job whose strip is cached shows the - // static first frame and scrubs through the export on hover (pure CSS). + // static first frame and scrubs through the export on hover via .film-scrub. // A finished job whose strip is still generating shows a shimmer // placeholder — still click-to-play, since the output already exists; it // swaps to the real strip on the export_preview_ready event. Non-done rows @@ -1548,8 +1614,8 @@ function renderExportJobs(jobs) { let previewCell; if (j.state === "done" && j.has_preview) { previewCell = - `
`; + `
`; } else if (j.state === "done") { previewCell = `
openExportVideo(Number(thumb.dataset.jobId))); }); + el.querySelectorAll(".export-thumb.film-scrub[data-job-id]").forEach((thumb) => { + applyFilmstripScrub( + thumb, + `/api/exports/${thumb.dataset.jobId}/filmstrip.jpg`, + EXPORT_FILMSTRIP_FRAMES); + }); el.querySelectorAll(".export-delete").forEach((btn) => { btn.addEventListener("click", async () => { if (!confirm("Delete this export job and its output?")) return; @@ -1810,7 +1882,7 @@ function groupItemsByHour(items) { function hourSummary(items) { const s = { clip_count: items.length, total_bytes: 0, - pending: 0, downloading: 0, done: 0, failed: 0, gone: 0, + pending: 0, downloading: 0, done: 0, failed: 0, gone: 0, skipped: 0, }; for (const it of items) { s.total_bytes += it.remote_size || 0; @@ -1902,6 +1974,7 @@ const fmtMB = fmtBytes; function renderQueueDayCard(d) { const el = document.createElement("div"); const hasPending = d.pending_count > 0; + const hasSelectable = daySelectableCount(d) > 0; const isStale = !hasPending && d.downloading_count === 0; el.className = "day queue-day" + (isStale ? " queue-day-stale" : ""); el.dataset.day = d.day; @@ -1912,6 +1985,7 @@ function renderQueueDayCard(d) { if (d.done_count) pieces.push(`${d.done_count} done`); if (d.failed_count) pieces.push(`${d.failed_count} failed`); if (d.gone_count) pieces.push(`${d.gone_count} gone`); + if (d.skipped_count) pieces.push(`${d.skipped_count} skipped`); const expanded = state.queueExpanded.has(d.day); const selected = countSelectedInDay(d.day); @@ -1922,7 +1996,7 @@ function renderQueueDayCard(d) { ${expanded ? "▾" : "▸"} + ${!hasSelectable ? "disabled title='Nothing selectable'" : ""} />

${d.day}

${d.clip_count} clips${ @@ -2002,7 +2076,7 @@ function renderQueueHour(day, hh, items) { const expanded = state.queueHoursExpanded.has(key); const s = hourSummary(items); const checkState = hourCheckState(day, hh); - const hasPending = s.pending > 0; + const hasSelectable = s.pending + s.failed + (s.skipped || 0) > 0; const label = hh === "??" ? "Unknown time" : `${hh}:00–${hh}:59`; const pieces = []; @@ -2011,13 +2085,14 @@ function renderQueueHour(day, hh, items) { if (s.done) pieces.push(`${s.done} done`); if (s.failed) pieces.push(`${s.failed} failed`); if (s.gone) pieces.push(`${s.gone} gone`); + if (s.skipped) pieces.push(`${s.skipped} skipped`); el.innerHTML = `
${expanded ? "▾" : "▸"} + ${!hasSelectable ? "disabled title='Nothing selectable'" : ""} /> ${label} ${s.clip_count} clips · ${fmtMB(s.total_bytes)}
${pieces.join("")}
@@ -2095,12 +2170,12 @@ function renderHourBody(day, hh, items) { ? new Date(it.recorded_at * 1000).toLocaleTimeString() : "—"; const pos = it.queue_position === 0 ? "▶" : it.queue_position != null ? String(it.queue_position) : "—"; - const isPending = it.state === "pending"; + const selectable = isSelectable(it.state); const checked = state.queueSelected.has(it.filename); const kind = renderKindBadge(it); tr.innerHTML = ` ${ts} ${kind} @@ -2127,32 +2202,42 @@ function renderHourBody(day, hh, items) { return wrap; } +// Which queue states can be selected for a bulk action: pending (download +// next / skip), failed (skip / retry), skipped (clear skip). +function isSelectable(stateStr) { + return stateStr === "pending" || stateStr === "failed" + || stateStr === "skipped"; +} + function countSelectedInDay(day) { const items = state.queueDayItems[day]; if (!items) return 0; let n = 0; for (const it of items) { - if (it.state === "pending" && state.queueSelected.has(it.filename)) n++; + if (isSelectable(it.state) && state.queueSelected.has(it.filename)) n++; } return n; } +function daySelectableCount(daySummary) { + return (daySummary.pending_count || 0) + (daySummary.failed_count || 0) + + (daySummary.skipped_count || 0); +} + function dayCheckState(daySummary, selectedCount) { - const pending = daySummary.pending_count; - if (!pending) return "unchecked"; - // If we don't yet have the items cached, we can't know if - // selectedCount corresponds to *this* day's pendings. Treat - // as unchecked until expansion. + const selectable = daySelectableCount(daySummary); + if (!selectable) return "unchecked"; + // Can't know the per-day breakdown until the items are cached. if (!state.queueDayItems[daySummary.day]) return "unchecked"; if (selectedCount === 0) return "unchecked"; - if (selectedCount >= pending) return "checked"; + if (selectedCount >= selectable) return "checked"; return "indeterminate"; } function toggleDaySelection(day, select) { const items = state.queueDayItems[day] || []; for (const it of items) { - if (it.state !== "pending") continue; + if (!isSelectable(it.state)) continue; if (select) state.queueSelected.add(it.filename); else state.queueSelected.delete(it.filename); } @@ -2177,32 +2262,32 @@ function itemsInHour(day, hh) { return items.filter((it) => hourKeyForItem(it) === hh); } -function hourPendingCount(day, hh) { +function hourSelectableCount(day, hh) { let n = 0; - for (const it of itemsInHour(day, hh)) if (it.state === "pending") n++; + for (const it of itemsInHour(day, hh)) if (isSelectable(it.state)) n++; return n; } function countSelectedInHour(day, hh) { let n = 0; for (const it of itemsInHour(day, hh)) { - if (it.state === "pending" && state.queueSelected.has(it.filename)) n++; + if (isSelectable(it.state) && state.queueSelected.has(it.filename)) n++; } return n; } function hourCheckState(day, hh) { - const pending = hourPendingCount(day, hh); - if (!pending) return "unchecked"; + const selectable = hourSelectableCount(day, hh); + if (!selectable) return "unchecked"; const sel = countSelectedInHour(day, hh); if (sel === 0) return "unchecked"; - if (sel >= pending) return "checked"; + if (sel >= selectable) return "checked"; return "indeterminate"; } function toggleHourSelection(day, hh, select) { for (const it of itemsInHour(day, hh)) { - if (it.state !== "pending") continue; + if (!isSelectable(it.state)) continue; if (select) state.queueSelected.add(it.filename); else state.queueSelected.delete(it.filename); } @@ -2228,18 +2313,51 @@ wireKindCheckbox("q-kind-driving", "driving"); wireKindCheckbox("q-kind-parking", "parking"); wireKindCheckbox("q-kind-ro", "ro"); -async function prioritizeSelected(position) { - const selected = [...state.queueSelected]; - if (!selected.length) return; - await api("/api/queue/prioritize", { - method: "POST", - body: JSON.stringify({ filenames: selected, position }), - }); - state.queueSelected.clear(); - await loadQueue(); +// Bulk actions on the current queue selection. Each posts the full selection; +// the backend WHERE clause filters to the applicable source state, so a mixed +// selection is fine and `updated` reports how many actually changed. +const QUEUE_ACTIONS = { + "download-next": { url: "/api/queue/prioritize", + body: (f) => ({ filenames: f, position: "top" }), + label: "moved to front" }, + "skip": { url: "/api/queue/skip", + body: (f) => ({ filenames: f }), label: "skipped" }, + "clear-skip": { url: "/api/queue/unskip", + body: (f) => ({ filenames: f }), label: "un-skipped" }, + "retry-failed": { url: "/api/queue/retry", + body: (f) => ({ filenames: f }), label: "re-queued" }, +}; + +async function applyQueueAction() { + const sel = document.getElementById("q-action"); + const spec = QUEUE_ACTIONS[sel.value]; + if (!spec) { toast("Choose an action first.", { type: "error" }); return; } + const filenames = [...state.queueSelected]; + if (!filenames.length) { + toast("Select some files first.", { type: "error" }); + return; + } + const btn = document.getElementById("q-apply"); + btn.disabled = true; + try { + const r = await api(spec.url, { + method: "POST", body: JSON.stringify(spec.body(filenames)), + }); + const n = r.updated ?? 0; + toast(n + ? `${n} file${n === 1 ? "" : "s"} ${spec.label}` + : "No applicable items in selection.", + { type: n ? "success" : "error" }); + state.queueSelected.clear(); + sel.value = ""; + await loadQueue(); + } catch (e) { + toast(`Action failed: ${e.message || e}`, { type: "error" }); + } finally { + btn.disabled = false; + } } -document.getElementById("q-prio-top") - .addEventListener("click", () => prioritizeSelected("top")); +document.getElementById("q-apply").addEventListener("click", applyQueueAction); // Download most recent X hours first document.getElementById("q-prio-recent").addEventListener("click", async () => { @@ -2264,40 +2382,19 @@ document.getElementById("q-prio-recent").addEventListener("click", async () => { function renderQueueMeta() { let total = 0; let pending = 0; - let failed = 0; + let skipped = 0; for (const d of state.queueDays) { total += d.clip_count; pending += d.pending_count; - failed += d.failed_count || 0; + skipped += d.skipped_count || 0; } const sel = state.queueSelected.size; let text = `${total} files across ${state.queueDays.length} days · ${pending} pending`; + if (skipped) text += ` · ${skipped} skipped`; if (sel) text += ` · ${sel} selected`; document.getElementById("queue-meta").textContent = text; - updateRetryFailedButton(failed); } -function updateRetryFailedButton(failedCount) { - const btn = document.getElementById("q-retry-failed"); - if (!btn) return; - btn.hidden = failedCount === 0; - btn.textContent = `Retry failed (${failedCount})`; -} - -// Re-queue every failed file. Empty body => retry all (server-side). -document.getElementById("q-retry-failed").addEventListener("click", async () => { - const btn = document.getElementById("q-retry-failed"); - if (!window.confirm( - "Retry all failed files? They'll be reset and re-queued for download." - )) return; - btn.disabled = true; - try { - await api("/api/queue/retry", { method: "POST", body: JSON.stringify({}) }); - await loadQueue(); // refreshes counts; button hides itself when none remain - } finally { - btn.disabled = false; - } -}); function isDownloadsTabActive() { return !document.getElementById("view-downloads").hidden; @@ -2342,7 +2439,14 @@ function renderLogRow(e) { const ts = document.createElement("span"); ts.className = "log-ts"; - ts.textContent = new Date(e.ts * 1000).toLocaleTimeString(); + const when = new Date(e.ts * 1000); + ts.textContent = `${when.toLocaleDateString()} ${when.toLocaleTimeString()}`; + + // Expand caret, immediately right of the date/time. The glyph only + // appears on rows carrying an exception (.has-exc, set below), but + // the column is always rendered so levels line up across rows. + const caret = document.createElement("span"); + caret.className = "log-caret"; const lvl = document.createElement("span"); lvl.className = "log-level"; @@ -2356,7 +2460,7 @@ function renderLogRow(e) { msg.className = "log-msg"; msg.textContent = e.message; - head.append(ts, lvl, logger, msg); + head.append(ts, caret, lvl, logger, msg); row.appendChild(head); if (e.exc_text) { @@ -2517,10 +2621,12 @@ function handleEvent(ev) { }; switch (ev.type) { case "clip_indexed": + case "clip_derived": // Server re-indexed (download landed, manual rescan, import, or - // startup scan) and pushed this. Cheap read-only refresh — the - // scan already happened server-side, and this fires only on real - // changes, not on a timer. + // startup scan), or the derive worker finished a clip's + // thumbnail/filmstrip. Cheap read-only refresh — the work already + // happened server-side, and this fires only on real changes, not + // on a timer. refreshArchiveOnIndexChange(); break; case "snapshot": @@ -2737,6 +2843,7 @@ function renderSettingsSection(name) { gps: renderGpsSection, exports: renderExportsSection, archive: renderArchiveSection, + thumbnails: renderThumbnailsSection, web: renderWebSection, security: renderSecuritySection, system: renderSystemSection, @@ -2815,6 +2922,7 @@ function textInput(key, opts = {}) { function checkbox(key) { const inp = document.createElement("input"); inp.type = "checkbox"; + inp.className = "switch"; inp.checked = !!valueOf(key); inp.addEventListener("change", () => setPending(key, inp.checked)); return inp; @@ -2988,6 +3096,21 @@ function renderGpsSection(pane) { select("DISTANCE_UNITS", ["km", "miles"])); } +function renderThumbnailsSection(pane) { + renderField(pane, "DERIVE_THUMBS_EAGER", + "Pre-generate thumbnails", checkbox("DERIVE_THUMBS_EAGER")); + renderField(pane, "DERIVE_FILMSTRIPS_EAGER", + "Pre-generate timeline filmstrips", checkbox("DERIVE_FILMSTRIPS_EAGER")); + const note = document.createElement("p"); + note.className = "hint"; + note.textContent = + "When on, these are built in the background as clips download (and " + + "existing clips are backfilled), so the archive and timeline feel instant. " + + "Without, the filmstrips are generated on demand which can be slow on " + + "low-power hosts."; + pane.appendChild(note); +} + function renderExportsSection(pane) { renderField(pane, "EXPORT_ENCODER", "H.264 encoder", select("EXPORT_ENCODER", ["auto", "software", "videotoolbox", "nvenc", "qsv", "vaapi"])); @@ -3158,7 +3281,7 @@ function renderSecuritySection(pane) {
-
+

Session secret

@@ -3644,3 +3767,321 @@ window.addEventListener("hashchange", () => { } }; })(); + +// ---------- Tooltips ---------- +// Reusable, app-wide tooltip. Any element with a `data-tip="…"` attribute +// shows it on hover, keyboard focus, and tap/click — covering the gaps in +// native `title` (no click, nothing on touch, unreliable timing). One shared +// element lives on and is fixed-positioned from the trigger's rect, so +// it escapes overflow:hidden containers and flips/clamps near the viewport +// edges. Wiring is delegated on `document`, so dynamically-rendered content +// works with no per-element setup. +(() => { + let tip = null; + let current = null; + + function el() { + if (!tip) { + tip = document.createElement("div"); + tip.className = "tooltip"; + tip.setAttribute("role", "tooltip"); + tip.hidden = true; + document.body.appendChild(tip); + } + return tip; + } + + function show(target) { + const text = target.getAttribute("data-tip"); + if (!text) return; + current = target; + const t = el(); + t.textContent = text; + t.hidden = false; + position(target, t); + } + + function position(target, t) { + const r = target.getBoundingClientRect(); + const tr = t.getBoundingClientRect(); + const gap = 8; + let placement = "top"; + let top = r.top - tr.height - gap; + if (top < gap) { top = r.bottom + gap; placement = "bottom"; } + let left = r.left + r.width / 2 - tr.width / 2; + left = Math.max(gap, Math.min(left, window.innerWidth - tr.width - gap)); + t.style.left = `${Math.round(left)}px`; + t.style.top = `${Math.round(top)}px`; + t.dataset.placement = placement; + // Keep the arrow pointing at the trigger even after horizontal clamping. + const arrow = Math.max(12, Math.min(tr.width - 12, + r.left + r.width / 2 - left)); + t.style.setProperty("--tip-arrow", `${Math.round(arrow)}px`); + } + + function hide() { + if (tip) tip.hidden = true; + current = null; + } + + document.addEventListener("mouseover", (e) => { + const t = e.target.closest?.("[data-tip]"); + if (t) show(t); + }); + document.addEventListener("mouseout", (e) => { + const t = e.target.closest?.("[data-tip]"); + if (t && t === current && !t.contains(e.relatedTarget)) hide(); + }); + document.addEventListener("focusin", (e) => { + const t = e.target.closest?.("[data-tip]"); + if (t) show(t); + }); + document.addEventListener("focusout", hide); + // Tap/click shows (re-shows) on the target, dismisses anywhere else. Not a + // toggle, so a touch's synthetic mouseover+click doesn't flash-and-hide. + document.addEventListener("click", (e) => { + const t = e.target.closest?.("[data-tip]"); + if (t) show(t); else hide(); + }); + window.addEventListener("scroll", hide, true); + document.addEventListener("keydown", (e) => { + if (e.key === "Escape") hide(); + }); +})(); + +// ---------- Camera control ---------- +// Reads/writes live dashcam settings via /api/camera/*. The server enforces +// the destructive-command denylist and per-value validation; the UI only ever +// offers the safely-writable enumerated settings the catalog returns. + +function cameraCategory(key) { + if (!key) return "Other"; + if (/RECORD|MOVIE|HDR|EXPOSURE|BITRATE|RESOLUTION|G_SENSOR|TIME_LAPSE|LIVEVIEW|IMAGE_|MIRROR|ROTATION|FISH_EYE|VIDEO_SOURCE|VIDEO_MERGE/.test(key)) + return "Recording & Image"; + if (/PARKING/.test(key)) return "Parking"; + if (/WATERMARK|PLATE|STAMP/.test(key)) return "Watermark"; + if (/WIFI|FREQUENCY|STA_/.test(key)) return "Wi-Fi & Network"; + return "System"; +} + +function settingLabel(key) { + if (!key) return "(unknown)"; + return key.replace(/^CMD_/, "").replace(/_/g, " ").toLowerCase() + .replace(/\b\w/g, (c) => c.toUpperCase()); +} + +function cameraErr(e) { + const m = String((e && e.message) || e || ""); + if (m.startsWith("409")) + return "No camera address configured — set it in Settings, then Refresh."; + if (m.startsWith("502")) + return "Camera unreachable — make sure it's powered and on Wi-Fi, then Refresh."; + if (m.startsWith("403")) return "Refused (protected setting)."; + return "Error: " + m; +} + +// Disable/enable every live control in the settings table. Controls stay +// disabled until a fetch confirms the camera is actually reachable, so we +// never let the user write a setting against stale/unconfirmed state. +function setCamControlsDisabled(disabled) { + document.querySelectorAll("#camera-settings [data-cam-control]") + .forEach((c) => { c.disabled = disabled; }); +} + +// Opening the tab renders the last-known snapshot instantly (controls +// disabled) and refreshes in the background; controls re-enable only once +// the camera answers. +async function loadCamera() { + const statusEl = document.getElementById("camera-status"); + const infoEl = document.getElementById("camera-info"); + const setEl = document.getElementById("camera-settings"); + if (!statusEl) return; + if (state.camera) { + renderCameraInfo(infoEl, state.camera.info, state.camera.cat); + renderCameraSettings(setEl, state.camera.cat); + setCamControlsDisabled(true); + statusEl.className = "camera-status"; + statusEl.textContent = "Refreshing from camera…"; + } else { + statusEl.className = "camera-status"; + statusEl.textContent = "Loading camera…"; + infoEl.innerHTML = ""; + setEl.innerHTML = + `
Reading settings from the camera…
`; + } + await refreshCamera(); +} + +async function refreshCamera() { + const statusEl = document.getElementById("camera-status"); + const infoEl = document.getElementById("camera-info"); + const setEl = document.getElementById("camera-settings"); + if (!statusEl) return; + const refreshBtn = document.getElementById("camera-refresh"); + if (refreshBtn) refreshBtn.disabled = true; + setCamControlsDisabled(true); + + let info, cat; + try { + info = await api("/api/camera/info"); + cat = await api("/api/camera/settings/catalog"); + } catch (e) { + // Keep showing the cached snapshot (controls stay disabled) rather than + // blanking the page when the camera is briefly unreachable. + statusEl.className = "camera-status error"; + statusEl.textContent = state.camera + ? cameraErr(e) + " Showing last-known settings." + : cameraErr(e); + if (!state.camera) setEl.innerHTML = ""; + if (refreshBtn) refreshBtn.disabled = false; + return; + } + state.camera = { info, cat }; + renderCameraInfo(infoEl, info, cat); + const adjustable = cat.settings.filter((s) => s.supported !== false).length; + statusEl.className = "camera-status"; + statusEl.textContent = + `${cat.model} · ${adjustable} of ${cat.settings.length} settings adjustable now`; + // A fresh render replaces the disabled cached controls with live ones. + renderCameraSettings(setEl, cat); + if (refreshBtn) refreshBtn.disabled = false; +} + +function renderCameraInfo(el, info, cat) { + const free = info.free_space_bytes != null + ? (info.free_space_bytes / (1 << 30)).toFixed(1) + " GB free" + : "—"; + const s = info.sensors || {}; + const lenses = s.total ? `${s.total} (${info.camera_tag || "?"})` : "—"; + const rec = cat ? cat.recording : null; + const recHtml = rec == null ? "—" + : `` + + `${rec ? "● Recording" : "■ Stopped"}`; + el.innerHTML = ` +
+
Firmware${escHtml(info.firmware || "—")}
+
Status${recHtml}
+
SD card${escHtml(info.card_status_label || "—")}
+
Storage${escHtml(free)}
+
Lenses${escHtml(lenses)}
+
`; +} + +// A 2-option OFF/ON setting → render a toggle. Returns {off,on} indices or null. +function camBool(s) { + if (!s.options || s.options.length !== 2) return null; + const off = s.options.find((o) => String(o.value).toUpperCase() === "OFF"); + const on = s.options.find((o) => String(o.value).toUpperCase() === "ON"); + return off && on ? { off: off.index, on: on.index } : null; +} + +function renderCamRow(s) { + const id = `cam-${s.cmd}`; + const label = escHtml(settingLabel(s.key)); + const status = ``; + + // Row order is label | status | control: the status sits right after the + // label so the control is always the last column and right-aligned (no + // empty gap on the right when the status is blank). + if (s.supported === false) { + const cur = s.current_label != null ? escHtml(s.current_label) : "—"; + const reason = escHtml(s.unsupported_reason || "Not adjustable now"); + // A small ⓘ marker after the label; the reason is revealed by the + // data-tip tooltip (hover/focus/tap). The value stays right-aligned. + return `
+ + + ${cur} +
`; + } + + const b = camBool(s); + if (b) { + const on = s.current === b.on; + return `
+ + ${status} + +
`; + } + + const opts = s.options.map((o) => + ``).join(""); + return `
+ + ${status} + +
`; +} + +function renderCameraSettings(el, cat) { + const groups = {}; + for (const s of cat.settings) { + const g = cameraCategory(s.key); + (groups[g] = groups[g] || []).push(s); + } + const order = ["Recording & Image", "Parking", "Watermark", + "Wi-Fi & Network", "System", "Other"]; + let html = ""; + for (const g of order) { + const items = groups[g]; + if (!items) continue; + html += `
${escHtml(g)}`; + for (const s of items) html += renderCamRow(s); + html += `
`; + } + el.innerHTML = html || "

No adjustable settings reported.

"; + el.querySelectorAll("[data-cam-control]").forEach((ctrl) => { + ctrl.dataset.prev = ctrl.type === "checkbox" + ? (ctrl.checked ? "1" : "0") : ctrl.value; + ctrl.addEventListener("change", onCameraSettingChange); + }); +} + +function revertCamControl(ctrl) { + if (ctrl.type === "checkbox") ctrl.checked = ctrl.dataset.prev === "1"; + else ctrl.value = ctrl.dataset.prev; +} + +async function onCameraSettingChange(e) { + const ctrl = e.target; + const { key, cmd } = ctrl.dataset; + const isToggle = ctrl.type === "checkbox"; + const value = isToggle + ? (ctrl.checked ? ctrl.dataset.on : ctrl.dataset.off) : ctrl.value; + const st = document.getElementById("cam-status-" + cmd); + ctrl.disabled = true; + st.className = "cam-row-status pending"; + st.textContent = "Applying…"; + try { + const r = await api(`/api/camera/settings/${encodeURIComponent(key)}`, { + method: "POST", + body: JSON.stringify({ value }), + }); + if (r.verified === true) { + st.className = "cam-row-status ok"; + st.textContent = r.record_cycled ? "✓ Saved (paused recording)" : "✓ Saved"; + ctrl.dataset.prev = isToggle ? (ctrl.checked ? "1" : "0") : value; + setTimeout(() => { + if (st.classList.contains("ok")) st.textContent = ""; + }, 2500); + } else { + st.className = "cam-row-status error"; + st.textContent = "Camera didn't accept this"; + revertCamControl(ctrl); + } + } catch (err) { + st.className = "cam-row-status error"; + st.textContent = cameraErr(err); + revertCamControl(ctrl); + } finally { + ctrl.disabled = false; + } +} + +document.getElementById("camera-refresh") + ?.addEventListener("click", refreshCamera); diff --git a/web/static/index.html b/web/static/index.html index a0149b5..6e2fe17 100644 --- a/web/static/index.html +++ b/web/static/index.html @@ -2,7 +2,7 @@ - + Viofosync Viofosync
@@ -189,7 +190,14 @@

Downloads

Read-only - + + - -
@@ -212,6 +218,7 @@

Downloads

GPS & Geocoding Exports Storage + Thumbnails Web server Security System @@ -228,6 +235,17 @@

Downloads

+ +