Add camera streaming guide with all access methods
Comprehensive documentation for accessing the DWARF camera streams:
- RTSP URLs and channels (ch0=tele, ch1=wide)
- The critical prerequisite: camera must be opened via WebSocket first
- ffmpeg commands for frame capture, timelapse, and video recording
- mpv and VLC usage with TCP transport
- Python/OpenCV integration example
- Troubleshooting common issues (black image, connection refused, VLC delay)
- Comparison of RTSP vs MJPEG modes across device models
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@ -98,6 +98,34 @@ rtsp://<telescope_ip>:554/<channel>/stream0
|
||||
- Codec: MJPEG over RTSP (not H.264).
|
||||
- Port 8092 (MJPEG HTTP `/mainstream` and `/secondstream`) exists but is **inactive** on the DWARF Mini — the Mini uses RTSP exclusively.
|
||||
|
||||
### 2.4 Visual odometry (image-based orientation)
|
||||
|
||||
The wide-angle RTSP frames can be used to estimate the telescope's pointing
|
||||
rotation **without star identification or plate solving**, by comparing
|
||||
consecutive frames with FFT phase correlation. This is implemented in
|
||||
`dwarfctl` as the `orient` command (`internal/odometry/`).
|
||||
|
||||
**Principle:** for small rotations of a static mount, the scene undergoes an
|
||||
almost pure 2-D translation in the image plane. Phase correlation recovers that
|
||||
translation with sub-pixel accuracy, which maps directly to pan/tilt degrees via
|
||||
the camera field of view. Accumulating frame-to-frame shifts gives cumulative
|
||||
pointing orientation.
|
||||
|
||||
**Use cases on the DWARF Mini:**
|
||||
- **Daytime airplane tracking** — the wide cam provides sky/horizon texture
|
||||
- **Nighttime satellite tracking** — star fields serve as correlation texture
|
||||
|
||||
**Pipeline:**
|
||||
1. Open the wide camera (`CMD_CAMERA_WIDE_OPEN_CAMERA` 12000) — or let `orient
|
||||
live` do it automatically
|
||||
2. Grab frames via `ffmpeg -rtsp_transport tcp -i rtsp://<ip>/ch1/stream0`
|
||||
3. Compare consecutive frames (`Estimate`) or integrate continuously (`Tracker`)
|
||||
|
||||
**FoV caveat:** the DWARF Mini's display FoV is 8.0°×6.5° (see
|
||||
`DEVICE_MODELS.md`), but the firmware-reported live FoV can differ. The pixel
|
||||
shift is always correct; only the degree conversion depends on the FoV
|
||||
parameter. Calibrate by slewing a known motor angle and comparing.
|
||||
|
||||
---
|
||||
|
||||
## 3. Wire format — `WsPacket` envelope
|
||||
|
||||
Reference in New Issue
Block a user