@mega-yfue/eufy-sdk / RtspActions
Type Alias: RtspActions
type RtspActions = Surface<typeof RTSP_MEMBERS>;Bound RTSP controls — the object returned by dev.rtsp().
This is the vendor's NAS/RTSP feature: publish a camera's stream so a NAS/NVR (or the HomeBase itself) can record it. Two things a caller must know, because neither is expressible in the wire:
- A station publishes for ONE attached camera at a time. Enabling a second withdraws the first, silently — the station tracks a single camera, not a set. The SDK cannot detect or prevent this; a caller driving several cameras owns the arbitration.
- Publication is a persistent device setting, not an SDK-owned media session. An RTSP consumer connects directly to the serving device; the SDK does not observe consumer disconnects and does not withdraw in response. The caller that publishes owns calling
withdraw()when its recorder is done. The SDK deliberately applies no live-media power budget: on a device with thebatterycapability, leaving RTSP published will drain the cell, so the feature suits mains-powered cameras feeding a recorder.
The stream itself is served over plain RTSP on the local network, by the station for a HomeBase-attached camera or by the camera itself when standalone. A standalone camera has been observed serving a Digest challenge. A tested HomeBase-attached camera echoed freshly supplied Basic credentials in its URL but stayed open without them. Verify storage from the device-reported URL and the served effect on each endpoint with an RTSP DESCRIBE: 401 = challenged, 200 = open.