@apocaliss92/nodelink-js 0.2.4 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/{chunk-EG5IY3CM.js → chunk-YSEFEQYV.js} +412 -19
- package/dist/chunk-YSEFEQYV.js.map +1 -0
- package/dist/cli/rtsp-server.cjs +46 -15
- package/dist/cli/rtsp-server.cjs.map +1 -1
- package/dist/cli/rtsp-server.js +1 -1
- package/dist/index.cjs +480 -173
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +75 -70
- package/dist/index.d.ts +78 -69
- package/dist/index.js +46 -128
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-EG5IY3CM.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -7011,7 +7011,7 @@ interface DiscoveredDevice {
|
|
|
7011
7011
|
/** Firmware version (if available) */
|
|
7012
7012
|
firmwareVersion?: string;
|
|
7013
7013
|
/** Discovery method used to find this device */
|
|
7014
|
-
discoveryMethod: "http_probe" | "udp_broadcast" | "udp_direct";
|
|
7014
|
+
discoveryMethod: "http_probe" | "udp_broadcast" | "udp_direct" | "tcp_port_scan" | "arp" | "dhcp" | "onvif";
|
|
7015
7015
|
/** Whether HTTPS is supported */
|
|
7016
7016
|
supportsHttps?: boolean;
|
|
7017
7017
|
/** Whether the device is accessible via HTTP */
|
|
@@ -7041,6 +7041,20 @@ type DiscoveryOptions = {
|
|
|
7041
7041
|
enableUdpDiscovery?: boolean;
|
|
7042
7042
|
/** Whether to enable HTTP port scanning (default: true) */
|
|
7043
7043
|
enableHttpScanning?: boolean;
|
|
7044
|
+
/** Whether to enable TCP port 9000 scanning (Baichuan protocol). Works with all Reolink devices. (default: false) */
|
|
7045
|
+
enableTcpPortScan?: boolean;
|
|
7046
|
+
/** Timeout per TCP port probe in milliseconds (default: 1500) */
|
|
7047
|
+
tcpProbeTimeoutMs?: number;
|
|
7048
|
+
/** Whether to enable ARP table lookup for Reolink MAC prefix (ec:71:db). Similar to Home Assistant DHCP discovery. (default: false) */
|
|
7049
|
+
enableArpLookup?: boolean;
|
|
7050
|
+
/** Whether to enable passive DHCP listening for Reolink devices (requires root/NET_RAW). (default: false) */
|
|
7051
|
+
enableDhcpListener?: boolean;
|
|
7052
|
+
/** Timeout for DHCP listener in milliseconds (default: 10000) */
|
|
7053
|
+
dhcpListenerTimeoutMs?: number;
|
|
7054
|
+
/** Whether to enable ONVIF WS-Discovery (multicast probe on 239.255.255.250:3702). Most Reolink cameras support ONVIF. (default: false) */
|
|
7055
|
+
enableOnvifDiscovery?: boolean;
|
|
7056
|
+
/** Timeout for ONVIF WS-Discovery in milliseconds (default: 5000) */
|
|
7057
|
+
onvifDiscoveryTimeoutMs?: number;
|
|
7044
7058
|
/** Ports to scan for HTTP (default: [80, 443]) */
|
|
7045
7059
|
httpPorts?: number[];
|
|
7046
7060
|
};
|
|
@@ -7052,6 +7066,36 @@ declare function discoverViaHttpScan(options: DiscoveryOptions): Promise<Discove
|
|
|
7052
7066
|
* Discover devices via UDP broadcast (for battery cameras).
|
|
7053
7067
|
*/
|
|
7054
7068
|
declare function discoverViaUdpBroadcast(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7069
|
+
/**
|
|
7070
|
+
* Discover Reolink devices by reading the system ARP table and filtering
|
|
7071
|
+
* for Reolink MAC address prefixes (EC:71:DB). This mirrors the DHCP-based
|
|
7072
|
+
* discovery used by Home Assistant but reads the already-populated ARP cache
|
|
7073
|
+
* instead of sniffing live DHCP packets.
|
|
7074
|
+
*
|
|
7075
|
+
* Works on Linux, macOS, and Docker containers (reads /proc/net/arp or `arp -a`).
|
|
7076
|
+
*/
|
|
7077
|
+
declare function discoverViaArpTable(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7078
|
+
/**
|
|
7079
|
+
* Discover Reolink devices by passively listening for DHCP traffic (port 67/68).
|
|
7080
|
+
* Parses DHCP ACK/REQUEST packets and filters for Reolink MAC prefix or hostname.
|
|
7081
|
+
* Requires root or CAP_NET_RAW (typical in Docker with --net=host).
|
|
7082
|
+
*
|
|
7083
|
+
* This mirrors Home Assistant's DHCP discovery: matches hostname "reolink*" or MAC "EC:71:DB".
|
|
7084
|
+
*/
|
|
7085
|
+
declare function discoverViaDhcpListener(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7086
|
+
/**
|
|
7087
|
+
* Discover Reolink devices by scanning TCP port 9000 (Baichuan protocol).
|
|
7088
|
+
* This is the most reliable method — every Reolink camera/NVR listens on port 9000.
|
|
7089
|
+
* It only checks if the port is open; it does not authenticate or extract device info.
|
|
7090
|
+
*/
|
|
7091
|
+
declare function discoverViaTcpPortScan(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7092
|
+
/**
|
|
7093
|
+
* Discover devices via ONVIF WS-Discovery (multicast probe on 239.255.255.250:3702).
|
|
7094
|
+
* Most Reolink cameras and NVRs support ONVIF and will respond with their service
|
|
7095
|
+
* endpoint (XAddrs), model, and scopes. This is the standard IP camera discovery
|
|
7096
|
+
* mechanism used by NVRs, VMS, and similar software.
|
|
7097
|
+
*/
|
|
7098
|
+
declare function discoverViaOnvif(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7055
7099
|
/**
|
|
7056
7100
|
* Discover Reolink devices on the local network using multiple methods.
|
|
7057
7101
|
* This is a "best effort" discovery that tries HTTP port scanning and UDP broadcast.
|
|
@@ -7074,52 +7118,41 @@ declare function discoverViaUdpBroadcast(options: DiscoveryOptions): Promise<Dis
|
|
|
7074
7118
|
*/
|
|
7075
7119
|
declare function discoverReolinkDevices(options?: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
7076
7120
|
|
|
7077
|
-
interface AutodiscoveryClientOptions {
|
|
7078
|
-
/**
|
|
7079
|
-
networkCidr?: string;
|
|
7080
|
-
/** Username to use for authentication attempts (default: "admin") */
|
|
7081
|
-
username?: string;
|
|
7082
|
-
/** Password to use for authentication attempts (default: empty, will try unauthenticated) */
|
|
7083
|
-
password?: string;
|
|
7084
|
-
/** Timeout per HTTP probe in milliseconds (default: 2000) */
|
|
7085
|
-
httpProbeTimeoutMs?: number;
|
|
7086
|
-
/** Maximum number of concurrent HTTP probes (default: 50) */
|
|
7087
|
-
maxConcurrentProbes?: number;
|
|
7088
|
-
/** Logger instance for debug output */
|
|
7089
|
-
logger?: Logger;
|
|
7090
|
-
/** Ports to scan for HTTP (default: [80, 443]) */
|
|
7091
|
-
httpPorts?: number[];
|
|
7092
|
-
/** Interval between discovery scans in milliseconds (default: 60000 = 60 seconds) */
|
|
7121
|
+
interface AutodiscoveryClientOptions extends DiscoveryOptions {
|
|
7122
|
+
/** Interval between discovery scans in milliseconds (default: 120000 = 2 minutes) */
|
|
7093
7123
|
scanIntervalMs?: number;
|
|
7094
7124
|
/** Whether to start discovery automatically on construction (default: false) */
|
|
7095
7125
|
autoStart?: boolean;
|
|
7096
|
-
/**
|
|
7097
|
-
|
|
7098
|
-
/**
|
|
7099
|
-
|
|
7126
|
+
/** Called when new (previously unseen) devices are discovered */
|
|
7127
|
+
onDeviceDiscovered?: (device: DiscoveredDevice) => void;
|
|
7128
|
+
/** Called when an existing device's info is updated (e.g. model filled in) */
|
|
7129
|
+
onDeviceUpdated?: (device: DiscoveredDevice) => void;
|
|
7100
7130
|
}
|
|
7101
7131
|
/**
|
|
7102
|
-
*
|
|
7103
|
-
*
|
|
7132
|
+
* Continuous discovery client for Reolink cameras on the network.
|
|
7133
|
+
* Runs periodic scans using all configured discovery methods and maintains
|
|
7134
|
+
* an always-up-to-date list of discovered devices.
|
|
7104
7135
|
*
|
|
7105
|
-
*
|
|
7106
|
-
*
|
|
7136
|
+
* Supports callbacks for new/updated devices, making it ideal for plugins
|
|
7137
|
+
* that want to be notified as cameras appear (e.g. battery cameras waking up).
|
|
7107
7138
|
*
|
|
7108
7139
|
* @example
|
|
7109
7140
|
* ```typescript
|
|
7110
7141
|
* const client = new AutodiscoveryClient({
|
|
7111
|
-
*
|
|
7112
|
-
*
|
|
7113
|
-
* scanIntervalMs:
|
|
7142
|
+
* enableArpLookup: true,
|
|
7143
|
+
* enableOnvifDiscovery: true,
|
|
7144
|
+
* scanIntervalMs: 60_000,
|
|
7114
7145
|
* autoStart: true,
|
|
7146
|
+
* onDeviceDiscovered: (device) => {
|
|
7147
|
+
* console.log(`New device: ${device.host} (${device.model})`);
|
|
7148
|
+
* },
|
|
7115
7149
|
* });
|
|
7116
7150
|
*
|
|
7117
|
-
* //
|
|
7151
|
+
* // Get the current list
|
|
7118
7152
|
* const devices = client.getDiscoveredDevices();
|
|
7119
|
-
* console.log(`Trovate ${devices.length} telecamere`);
|
|
7120
7153
|
*
|
|
7121
|
-
* //
|
|
7122
|
-
*
|
|
7154
|
+
* // Stop
|
|
7155
|
+
* client.stop();
|
|
7123
7156
|
* ```
|
|
7124
7157
|
*/
|
|
7125
7158
|
declare class AutodiscoveryClient {
|
|
@@ -7128,70 +7161,42 @@ declare class AutodiscoveryClient {
|
|
|
7128
7161
|
private scanTimer;
|
|
7129
7162
|
private isRunning;
|
|
7130
7163
|
private currentScanPromise;
|
|
7131
|
-
/**
|
|
7132
|
-
* Costruttore del client di autodiscovery.
|
|
7133
|
-
*
|
|
7134
|
-
* @param options - Opzioni di configurazione per il discovery
|
|
7135
|
-
*/
|
|
7136
7164
|
constructor(options?: AutodiscoveryClientOptions);
|
|
7137
7165
|
/**
|
|
7138
|
-
*
|
|
7139
|
-
* Se già in esecuzione, non fa nulla.
|
|
7166
|
+
* Start continuous discovery. If already running, does nothing.
|
|
7140
7167
|
*/
|
|
7141
7168
|
start(): void;
|
|
7142
7169
|
/**
|
|
7143
|
-
*
|
|
7144
|
-
* Se non è in esecuzione, non fa nulla.
|
|
7170
|
+
* Stop continuous discovery. If not running, does nothing.
|
|
7145
7171
|
*/
|
|
7146
7172
|
stop(): void;
|
|
7147
7173
|
/**
|
|
7148
|
-
*
|
|
7149
|
-
*
|
|
7150
|
-
* @returns Array di dispositivi discoverati, ordinati per host
|
|
7174
|
+
* Returns the current list of discovered devices, sorted by host IP.
|
|
7151
7175
|
*/
|
|
7152
7176
|
getDiscoveredDevices(): DiscoveredDevice[];
|
|
7153
7177
|
/**
|
|
7154
|
-
*
|
|
7155
|
-
*
|
|
7156
|
-
* @returns Numero di dispositivi discoverati
|
|
7178
|
+
* Returns the number of currently discovered devices.
|
|
7157
7179
|
*/
|
|
7158
7180
|
getDeviceCount(): number;
|
|
7159
7181
|
/**
|
|
7160
|
-
*
|
|
7161
|
-
*
|
|
7162
|
-
* @returns `true` se il discovery è in esecuzione, `false` altrimenti
|
|
7182
|
+
* Returns whether continuous discovery is currently running.
|
|
7163
7183
|
*/
|
|
7164
7184
|
isActive(): boolean;
|
|
7165
7185
|
/**
|
|
7166
|
-
*
|
|
7167
|
-
*
|
|
7168
|
-
*
|
|
7169
|
-
* @returns Promise che si risolve quando lo scan è completato
|
|
7186
|
+
* Force an immediate scan (doesn't wait for the scheduled interval).
|
|
7187
|
+
* If a scan is already in progress, waits for it to complete.
|
|
7170
7188
|
*/
|
|
7171
7189
|
scanNow(): Promise<void>;
|
|
7172
7190
|
/**
|
|
7173
|
-
*
|
|
7174
|
-
*
|
|
7175
|
-
* @param host - Indirizzo IP del dispositivo da rimuovere
|
|
7176
|
-
* @returns `true` se il dispositivo è stato rimosso, `false` se non era presente
|
|
7191
|
+
* Remove a device from the discovered list.
|
|
7177
7192
|
*/
|
|
7178
7193
|
removeDevice(host: string): boolean;
|
|
7179
7194
|
/**
|
|
7180
|
-
*
|
|
7195
|
+
* Clear all discovered devices.
|
|
7181
7196
|
*/
|
|
7182
7197
|
clearDevices(): void;
|
|
7183
|
-
/**
|
|
7184
|
-
* Esegue un singolo scan della rete.
|
|
7185
|
-
*/
|
|
7186
7198
|
private performScan;
|
|
7187
|
-
/**
|
|
7188
|
-
* Unisce le informazioni di un dispositivo esistente con quelle di un nuovo scan.
|
|
7189
|
-
* Restituisce il dispositivo aggiornato se ci sono state modifiche, altrimenti `null`.
|
|
7190
|
-
*/
|
|
7191
7199
|
private mergeDeviceInfo;
|
|
7192
|
-
/**
|
|
7193
|
-
* Programma il prossimo scan.
|
|
7194
|
-
*/
|
|
7195
7200
|
private scheduleNextScan;
|
|
7196
7201
|
}
|
|
7197
7202
|
|
|
@@ -8751,4 +8756,4 @@ declare class CompositeRtspServer extends EventEmitter<{
|
|
|
8751
8756
|
getClientCount(): number;
|
|
8752
8757
|
}
|
|
8753
8758
|
|
|
8754
|
-
export { type AIDetectionState, type AIEvent, type AIState, type AbilityInfo, type AccessUserListConfig, AesStreamDecryptor, type AiAlarmConfig, type AiConfig, type AiDenoiseConfig, type AiKey, type AiTypesCacheEntry, type AnyBuffer, type AudioAlarmParams, type AudioCfgConfig, type AudioConfig, type AudioTaskConfig, type AutoDetectInputs, type AutoDetectMode, type AutoDetectResult, AutodiscoveryClient, type AutodiscoveryClientOptions, BC_AES_IV, BC_CLASS_FILE_DOWNLOAD, BC_CLASS_LEGACY, BC_CLASS_MODERN_20, BC_CLASS_MODERN_24, BC_CLASS_MODERN_24_ALT, BC_CMD_ID_ABILITY_INFO, BC_CMD_ID_ALARM_EVENT_LIST, BC_CMD_ID_AUDIO_ALARM_PLAY, BC_CMD_ID_CHANNEL_INFO_ALL, BC_CMD_ID_CMD_123, BC_CMD_ID_CMD_209, BC_CMD_ID_CMD_265, BC_CMD_ID_CMD_440, BC_CMD_ID_COVER_PREVIEW, BC_CMD_ID_COVER_RESPONSE, BC_CMD_ID_COVER_STANDALONE_458, BC_CMD_ID_COVER_STANDALONE_459, BC_CMD_ID_COVER_STANDALONE_460, BC_CMD_ID_COVER_STANDALONE_461, BC_CMD_ID_COVER_STANDALONE_462, BC_CMD_ID_DING_DONG_CTRL, BC_CMD_ID_DING_DONG_OPT, BC_CMD_ID_FILE_INFO_LIST_CLOSE, BC_CMD_ID_FILE_INFO_LIST_DL_VIDEO, BC_CMD_ID_FILE_INFO_LIST_DOWNLOAD, BC_CMD_ID_FILE_INFO_LIST_GET, BC_CMD_ID_FILE_INFO_LIST_OPEN, BC_CMD_ID_FILE_INFO_LIST_REPLAY, BC_CMD_ID_FILE_INFO_LIST_STOP, BC_CMD_ID_FIND_REC_VIDEO_CLOSE, BC_CMD_ID_FIND_REC_VIDEO_GET, BC_CMD_ID_FIND_REC_VIDEO_OPEN, BC_CMD_ID_FLOODLIGHT_STATUS_LIST, BC_CMD_ID_GET_ABILITY_SUPPORT, BC_CMD_ID_GET_ACCESS_USER_LIST, BC_CMD_ID_GET_AI_ALARM, BC_CMD_ID_GET_AI_CFG, BC_CMD_ID_GET_AI_DENOISE, BC_CMD_ID_GET_AUDIO_ALARM, BC_CMD_ID_GET_AUDIO_CFG, BC_CMD_ID_GET_AUDIO_TASK, BC_CMD_ID_GET_BATTERY_INFO, BC_CMD_ID_GET_BATTERY_INFO_LIST, BC_CMD_ID_GET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_GET_DAY_RECORDS, BC_CMD_ID_GET_DING_DONG_CFG, BC_CMD_ID_GET_DING_DONG_LIST, BC_CMD_ID_GET_DING_DONG_SILENT, BC_CMD_ID_GET_EMAIL_TASK, BC_CMD_ID_GET_FTP_TASK, BC_CMD_ID_GET_HDD_INFO_LIST, BC_CMD_ID_GET_KIT_AP_CFG, BC_CMD_ID_GET_LED_STATE, BC_CMD_ID_GET_MOTION_ALARM, BC_CMD_ID_GET_ONLINE_USER_LIST, BC_CMD_ID_GET_OSD_DATETIME, BC_CMD_ID_GET_PIR_INFO, BC_CMD_ID_GET_PTZ_POSITION, BC_CMD_ID_GET_PTZ_PRESET, BC_CMD_ID_GET_RECORD, BC_CMD_ID_GET_RECORD_CFG, BC_CMD_ID_GET_REC_ENC_CFG, BC_CMD_ID_GET_SIREN_STATUS, BC_CMD_ID_GET_SLEEP_STATE, BC_CMD_ID_GET_STREAM_INFO_LIST, BC_CMD_ID_GET_SUPPORT, BC_CMD_ID_GET_SYSTEM_GENERAL, BC_CMD_ID_GET_TIMELAPSE_CFG, BC_CMD_ID_GET_VIDEO_INPUT, BC_CMD_ID_GET_WHITE_LED, BC_CMD_ID_GET_WIFI, BC_CMD_ID_GET_WIFI_SIGNAL, BC_CMD_ID_GET_ZOOM_FOCUS, BC_CMD_ID_LOGIN, BC_CMD_ID_LOGOUT, BC_CMD_ID_PING, BC_CMD_ID_PTZ_CONTROL, BC_CMD_ID_PTZ_CONTROL_PRESET, BC_CMD_ID_PUSH_COORDINATE_POINT_LIST, BC_CMD_ID_PUSH_DINGDONG_LIST, BC_CMD_ID_PUSH_NET_INFO, BC_CMD_ID_PUSH_SERIAL, BC_CMD_ID_PUSH_SLEEP_STATUS, BC_CMD_ID_PUSH_VIDEO_INPUT, BC_CMD_ID_QUICK_REPLY_PLAY, BC_CMD_ID_SET_AI_ALARM, BC_CMD_ID_SET_AI_CFG, BC_CMD_ID_SET_AUDIO_TASK, BC_CMD_ID_SET_DING_DONG_CFG, BC_CMD_ID_SET_DING_DONG_SILENT, BC_CMD_ID_SET_MOTION_ALARM, BC_CMD_ID_SET_PIR_INFO, BC_CMD_ID_SET_WHITE_LED_STATE, BC_CMD_ID_SET_WHITE_LED_TASK, BC_CMD_ID_SET_ZOOM_FOCUS, BC_CMD_ID_SUPPORT, BC_CMD_ID_TALK, BC_CMD_ID_TALK_ABILITY, BC_CMD_ID_TALK_CONFIG, BC_CMD_ID_TALK_RESET, BC_CMD_ID_UDP_KEEP_ALIVE, BC_CMD_ID_VIDEO, BC_CMD_ID_VIDEO_STOP, BC_MAGIC, BC_MAGIC_REV, BC_TCP_DEFAULT_PORT, BC_XML_KEY, type BaichuanCachedPush, BaichuanClient, type BaichuanClientOptions, type BaichuanCoordinatePointListPush, type BaichuanDingdongListPush, type BaichuanEndpointsServerOptions, BaichuanEventEmitter, type BaichuanFrame, BaichuanFrameParser, type BaichuanGetOsdDatetimeResult, type BaichuanHeader, BaichuanHlsServer, type BaichuanHlsServerOptions, BaichuanHttpStreamServer, type BaichuanHttpStreamServerOptions, type BaichuanLedState, BaichuanMjpegServer, type BaichuanMjpegServerOptions, type BaichuanNetInfoPush, type BaichuanOsdChannelName, type BaichuanOsdDatetime, type BaichuanRecordCfg, type BaichuanRecordSchedule, BaichuanRtspServer, type BaichuanRtspServerOptions, type BaichuanSerialPush, type BaichuanSettingsPushCacheEntry, type BaichuanSleepState, type BaichuanSleepStatusPush, type BaichuanStreamEncodeTable, type BaichuanStreamInfo, type BaichuanStreamInfoList, type BaichuanTransport, type BaichuanVideoInputPush, BaichuanVideoStream, type BaichuanVideoStreamOptions, BaichuanWebRTCServer, type BaichuanWebRTCServerOptions, type BaichuanWifi, type BaichuanWifiSignal, type BatteryInfo, type BatteryInfoResponse, type BcMedia, type BcMediaAac, type BcMediaAdpcm, BcMediaAnnexBDecoder, type BcMediaAnnexBDecoderStats, type BcMediaAnnexBInfo, type BcMediaAudioFrame, type BcMediaAudioType, BcMediaCodec, type BcMediaIframe, type BcMediaInfoV1, type BcMediaInfoV2, type BcMediaPframe, type BcMediaType, type BcMediaVideoFrame, type BcMediaVideoType, type BcUdpDiscoveryMethod, BcUdpStream, type BcUdpStreamOptions, type CgiAbility, type CgiAbilityChn, type CgiAbilityLeaf, type CgiAiKey, type CgiAiStateValue, type CgiAudioAlarmPlayParam, type CgiBattery, type CgiChannelStatusEntry, type CgiChnTypeInfoValue, type CgiDetectionState, type CgiDevInfo, type CgiDeviceInfoEntries, type CgiEnc, type CgiEncStream, type CgiEncValue, type CgiGetAbilityResponse, type CgiGetAbilityValue, type CgiGetAiStateResponse, type CgiGetChannelstatusResponse, type CgiGetChannelstatusValue, type CgiGetChnTypeInfoResponse, type CgiGetDevInfoResponse, type CgiGetDevInfoValue, type CgiGetEncResponse, type CgiGetOsdValue, type CgiGetRtspUrlResponse, type CgiGetRtspUrlValue, type CgiGetVideoclipsParams, type CgiNetPort, type CgiOsd, type CgiPirInfo, type CgiPtzPreset, type CgiSetOsdParam, type CgiSetPirInfoParam, type CgiSetWhiteLedParam, type CgiWhiteLed, type ChannelPushCacheEntry, type ChannelPushDataEntry, type ChannelRecordingFile, type ChannelStreamMetadata, type ChimeAlarmCfg, type ChimeCfg, type ChimeDevice, type ChimeParams, type CollectNvrDiagnosticsOptions, CompositeRtspServer, type CompositeRtspServerOptions, CompositeStream, type CompositeStreamOptions, type CompositeStreamPipOptions, DUAL_LENS_DUAL_MOTION_MODELS, DUAL_LENS_MODELS, DUAL_LENS_SINGLE_MOTION_MODELS, type DayNightThresholdConfig, type DebugConfig, type DebugOptions, type DeviceAbilities, type DeviceCapabilities, type DeviceCapabilitiesCacheEntry, type DeviceCapabilitiesDebugInfo, type DeviceCapabilitiesResult, type DeviceInfoResponse, type DeviceInputData, type DeviceObjectType, type DeviceStatusResponse, type DeviceSupportFlags, type DeviceType, type DiagnosticsCollectorResult, type DiagnosticsStreamKind, type DiscoveredDevice, type DiscoveryOptions, type DownloadRecordingParams, type DualLensChannelAnalysis, type DualLensChannelInfo, type EmailTaskConfig, type EncryptionProtocol, type Events, type EventsResponse, type FloodlightTaskConfig, type FtpTaskConfig, type GetRecordingVideoResult, type GetRecordingVideoStats, type GetVideoclipsParams, type GetVodUrlParams, H264RtpDepacketizer, H265RtpDepacketizer, type HardwiredChimeState, type HddInfoListConfig, type HlsCodec, type HlsHttpResponse, type HlsServerStatus, type HlsSession, HlsSessionManager, type HlsSessionManagerOptions, type HlsSessionParams, Intercom, type IntercomOptions, type JsonObject, type JsonPrimitive, type JsonValue, type LastSleepProbe, type LogLevel, type Logger, type LoggerCallback, type LoginResponseValue, type MaxEncryption, type MediaStream, type MjpegFrame, MjpegTransformer, type MjpegTransformerOptions, type MotionAlarmConfig, type MotionEvent, NVR_HUB_EXACT_TYPES, NVR_HUB_MODEL_PATTERNS, type NativeVideoStreamVariant, type NvrChannelsSummaryCacheEntry, type OnlineUserListConfig, type OsdChannel, type OsdConfig, type OsdTime, type ParsedRecordingFileName, type PipPosition, type PirConfig, type PirState, type PlaybackSnapshotStreamInfo, type PtzCommand, type PtzPosition, type PtzPreset, type RecEncConfig, type RecordingAudioCodec, type RecordingDetectionClass, type RecordingDevType, type RecordingFile, type RecordingPlaybackUrls, type RecordingStreamType, type RecordingVideoCodec, type RecordingVodFlags, type RecordingVodStreamHint, type RecordingsCacheEntry, type RecordingsQueueItem, type ReolinkAiNotification, ReolinkBaichuanApi, type ReolinkBaichuanChannelIdentity, type ReolinkBaichuanChannelInfo, type ReolinkBaichuanDeviceSummary, type ReolinkBaichuanNetworkInfo, type ReolinkBaichuanPorts, ReolinkCgiApi, type ReolinkCmdRequest, type ReolinkCmdResponse, type ReolinkCmdResponseExt, type ReolinkDayNightNotification, type ReolinkDeviceInfo, type ReolinkDeviceInfoTag, type ReolinkEvent, ReolinkHttpClient, type ReolinkHttpClientOptions, type ReolinkJson, type ReolinkMotionNotification, type ReolinkNvrChannelInfo, type ReolinkNvrDeviceGroupSummary, type ReolinkNvrDeviceGroupsResult, type ReolinkSimpleEvent, type ReolinkSimpleEventType, type ReolinkSupportedStream, type ReolinkVideoStreamOptionsResult, type ReolinkVisitorNotification, type ReplayHttpServer, type ReplayHttpServerOptions, type ResponseMediaStreamOptions, type Rfc4571ApiFactoryContext, type Rfc4571Client, Rfc4571Muxer, type Rfc4571ReplayServer, type Rfc4571ReplayServerOptions, type Rfc4571TcpServer, type Rfc4571TcpServerOptions, type RtpPacketizationOptions, type RtspCreateOptions, type RtspProxyServerOptions, type RtspStreamProfile, type RunAllDiagnosticsConsecutivelyParams, type RunAllDiagnosticsConsecutivelyResult, type RunMultifocalDiagnosticsConsecutivelyParams, type RunMultifocalDiagnosticsConsecutivelyResult, type SirenState, type SirenStatusConfig, type SleepState, type SleepStatus, type StreamMetadata, type StreamProfile, type StreamSamplingOptions, type StreamSamplingSelection, type SupportConfig, type SupportInfo, type SupportItem, type SystemGeneralConfig, type TalkAbility$1 as TalkAbility, type TalkAudioConfig, type TalkConfig, type TalkSession$1 as TalkSession, type TalkSessionInfo, type TimelapseCfgConfig, type TwoWayAudioConfig, type VideoCodec, type VideoInputConfig, type VideoParamSets, type VideoStreamOptions, type VideoStreamOptionsCacheEntry, type VideoType, type VideoclipClientInfo, type VideoclipModeDecision, type VideoclipThumbnailResult, type VideoclipTranscodeMode, type VodFile, type VodSearchResponse, type VodSearchResult, type VodSearchStatus, type WakeUpOptions, type WebRTCAnswer, type WebRTCIceCandidate, type WebRTCOffer, type WebRTCSessionInfo, type WhiteLedConfig, type WhiteLedState, type WirelessChimeSilentState, type ZoomFocusStatus, type ZoomFocusTriplet, abilitiesHasAny, aesDecrypt, aesEncrypt, asLogger, autoDetectDeviceType, bcDecrypt, bcEncrypt, bcHeaderHasPayloadOffset, buildAacAudioSpecificConfigHex, buildAbilityInfoExtensionXml, buildBinaryExtensionXml, buildChannelExtensionXml, buildFloodlightManualXml, buildHlsRedirectUrl, buildLoginXml, buildLogoutXml, buildPreviewStopXml, buildPreviewStopXmlV11, buildPreviewXml, buildPreviewXmlV11, buildPtzControlXml, buildPtzPresetXml, buildPtzPresetXmlV2, buildRfc4571Sdp, buildRtspPath, buildRtspUrl, buildSirenManualXml, buildSirenTimesXml, buildStartZoomFocusXml, buildWhiteLedStateXml, collectCgiDiagnostics, collectMultifocalDiagnostics, collectNativeDiagnostics, collectNvrDiagnostics, computeDeviceCapabilities, convertToAnnexB as convertH265ToAnnexB, convertToAnnexB$1 as convertToAnnexB, convertToLengthPrefixed, createBaichuanEndpointsServer, createDebugGateLogger, createDiagnosticsBundle, createLogger, createMjpegBoundary, createNativeStream, createNullLogger, createReplayHttpServer, createRfc4571TcpServer, createRfc4571TcpServerForReplay, createRtspProxyServer, createTaggedLogger, decideVideoclipTranscodeMode, decodeHeader, deriveAesKey, detectIosClient, detectVideoCodecFromNal, discoverReolinkDevices, discoverViaHttpScan, discoverViaUdpBroadcast, discoverViaUdpDirect, encodeHeader, extractH264ParamSetsFromAccessUnit, extractH265ParamSetsFromAccessUnit, extractPpsFromAnnexB, extractSpsFromAnnexB, extractVpsFromAnnexB, flattenAbilitiesForChannel, formatMjpegFrame, getConstructedVideoStreamOptions, getGlobalLogger, getH265NalType, getMjpegContentType, getSupportItemForChannel, getVideoStream, getVideoclipClientInfo, getXmlText, hasStartCodes as hasH265StartCodes, hasStartCodes$1 as hasStartCodes, isDualLenseModel, isH264KeyframeAnnexB, isH265Irap, isH265KeyframeAnnexB, isNvrHubModel, isTcpFailureThatShouldFallbackToUdp, isValidH264AnnexBAccessUnit, isValidH265AnnexBAccessUnit, maskUid, md5HexUpper, md5StrModern, normalizeUid, packetizeAacAdtsFrame, packetizeAacRawFrame, packetizeH264, packetizeH265, parseAdtsHeader, parseBcMedia, parseRecordingFileName, parseSupportXml, printNvrDiagnostics, runAllDiagnosticsConsecutively, runMultifocalDiagnosticsConsecutively, sampleStreams, setGlobalLogger, splitAnnexBToNalPayloads$1 as splitAnnexBToNalPayloads, splitAnnexBToNals, splitAnnexBToNalPayloads as splitH265AnnexBToNalPayloads, testChannelStreams, xmlEscape, zipDirectory };
|
|
8759
|
+
export { type AIDetectionState, type AIEvent, type AIState, type AbilityInfo, type AccessUserListConfig, AesStreamDecryptor, type AiAlarmConfig, type AiConfig, type AiDenoiseConfig, type AiKey, type AiTypesCacheEntry, type AnyBuffer, type AudioAlarmParams, type AudioCfgConfig, type AudioConfig, type AudioTaskConfig, type AutoDetectInputs, type AutoDetectMode, type AutoDetectResult, AutodiscoveryClient, type AutodiscoveryClientOptions, BC_AES_IV, BC_CLASS_FILE_DOWNLOAD, BC_CLASS_LEGACY, BC_CLASS_MODERN_20, BC_CLASS_MODERN_24, BC_CLASS_MODERN_24_ALT, BC_CMD_ID_ABILITY_INFO, BC_CMD_ID_ALARM_EVENT_LIST, BC_CMD_ID_AUDIO_ALARM_PLAY, BC_CMD_ID_CHANNEL_INFO_ALL, BC_CMD_ID_CMD_123, BC_CMD_ID_CMD_209, BC_CMD_ID_CMD_265, BC_CMD_ID_CMD_440, BC_CMD_ID_COVER_PREVIEW, BC_CMD_ID_COVER_RESPONSE, BC_CMD_ID_COVER_STANDALONE_458, BC_CMD_ID_COVER_STANDALONE_459, BC_CMD_ID_COVER_STANDALONE_460, BC_CMD_ID_COVER_STANDALONE_461, BC_CMD_ID_COVER_STANDALONE_462, BC_CMD_ID_DING_DONG_CTRL, BC_CMD_ID_DING_DONG_OPT, BC_CMD_ID_FILE_INFO_LIST_CLOSE, BC_CMD_ID_FILE_INFO_LIST_DL_VIDEO, BC_CMD_ID_FILE_INFO_LIST_DOWNLOAD, BC_CMD_ID_FILE_INFO_LIST_GET, BC_CMD_ID_FILE_INFO_LIST_OPEN, BC_CMD_ID_FILE_INFO_LIST_REPLAY, BC_CMD_ID_FILE_INFO_LIST_STOP, BC_CMD_ID_FIND_REC_VIDEO_CLOSE, BC_CMD_ID_FIND_REC_VIDEO_GET, BC_CMD_ID_FIND_REC_VIDEO_OPEN, BC_CMD_ID_FLOODLIGHT_STATUS_LIST, BC_CMD_ID_GET_ABILITY_SUPPORT, BC_CMD_ID_GET_ACCESS_USER_LIST, BC_CMD_ID_GET_AI_ALARM, BC_CMD_ID_GET_AI_CFG, BC_CMD_ID_GET_AI_DENOISE, BC_CMD_ID_GET_AUDIO_ALARM, BC_CMD_ID_GET_AUDIO_CFG, BC_CMD_ID_GET_AUDIO_TASK, BC_CMD_ID_GET_BATTERY_INFO, BC_CMD_ID_GET_BATTERY_INFO_LIST, BC_CMD_ID_GET_DAY_NIGHT_THRESHOLD, BC_CMD_ID_GET_DAY_RECORDS, BC_CMD_ID_GET_DING_DONG_CFG, BC_CMD_ID_GET_DING_DONG_LIST, BC_CMD_ID_GET_DING_DONG_SILENT, BC_CMD_ID_GET_EMAIL_TASK, BC_CMD_ID_GET_FTP_TASK, BC_CMD_ID_GET_HDD_INFO_LIST, BC_CMD_ID_GET_KIT_AP_CFG, BC_CMD_ID_GET_LED_STATE, BC_CMD_ID_GET_MOTION_ALARM, BC_CMD_ID_GET_ONLINE_USER_LIST, BC_CMD_ID_GET_OSD_DATETIME, BC_CMD_ID_GET_PIR_INFO, BC_CMD_ID_GET_PTZ_POSITION, BC_CMD_ID_GET_PTZ_PRESET, BC_CMD_ID_GET_RECORD, BC_CMD_ID_GET_RECORD_CFG, BC_CMD_ID_GET_REC_ENC_CFG, BC_CMD_ID_GET_SIREN_STATUS, BC_CMD_ID_GET_SLEEP_STATE, BC_CMD_ID_GET_STREAM_INFO_LIST, BC_CMD_ID_GET_SUPPORT, BC_CMD_ID_GET_SYSTEM_GENERAL, BC_CMD_ID_GET_TIMELAPSE_CFG, BC_CMD_ID_GET_VIDEO_INPUT, BC_CMD_ID_GET_WHITE_LED, BC_CMD_ID_GET_WIFI, BC_CMD_ID_GET_WIFI_SIGNAL, BC_CMD_ID_GET_ZOOM_FOCUS, BC_CMD_ID_LOGIN, BC_CMD_ID_LOGOUT, BC_CMD_ID_PING, BC_CMD_ID_PTZ_CONTROL, BC_CMD_ID_PTZ_CONTROL_PRESET, BC_CMD_ID_PUSH_COORDINATE_POINT_LIST, BC_CMD_ID_PUSH_DINGDONG_LIST, BC_CMD_ID_PUSH_NET_INFO, BC_CMD_ID_PUSH_SERIAL, BC_CMD_ID_PUSH_SLEEP_STATUS, BC_CMD_ID_PUSH_VIDEO_INPUT, BC_CMD_ID_QUICK_REPLY_PLAY, BC_CMD_ID_SET_AI_ALARM, BC_CMD_ID_SET_AI_CFG, BC_CMD_ID_SET_AUDIO_TASK, BC_CMD_ID_SET_DING_DONG_CFG, BC_CMD_ID_SET_DING_DONG_SILENT, BC_CMD_ID_SET_MOTION_ALARM, BC_CMD_ID_SET_PIR_INFO, BC_CMD_ID_SET_WHITE_LED_STATE, BC_CMD_ID_SET_WHITE_LED_TASK, BC_CMD_ID_SET_ZOOM_FOCUS, BC_CMD_ID_SUPPORT, BC_CMD_ID_TALK, BC_CMD_ID_TALK_ABILITY, BC_CMD_ID_TALK_CONFIG, BC_CMD_ID_TALK_RESET, BC_CMD_ID_UDP_KEEP_ALIVE, BC_CMD_ID_VIDEO, BC_CMD_ID_VIDEO_STOP, BC_MAGIC, BC_MAGIC_REV, BC_TCP_DEFAULT_PORT, BC_XML_KEY, type BaichuanCachedPush, BaichuanClient, type BaichuanClientOptions, type BaichuanCoordinatePointListPush, type BaichuanDingdongListPush, type BaichuanEndpointsServerOptions, BaichuanEventEmitter, type BaichuanFrame, BaichuanFrameParser, type BaichuanGetOsdDatetimeResult, type BaichuanHeader, BaichuanHlsServer, type BaichuanHlsServerOptions, BaichuanHttpStreamServer, type BaichuanHttpStreamServerOptions, type BaichuanLedState, BaichuanMjpegServer, type BaichuanMjpegServerOptions, type BaichuanNetInfoPush, type BaichuanOsdChannelName, type BaichuanOsdDatetime, type BaichuanRecordCfg, type BaichuanRecordSchedule, BaichuanRtspServer, type BaichuanRtspServerOptions, type BaichuanSerialPush, type BaichuanSettingsPushCacheEntry, type BaichuanSleepState, type BaichuanSleepStatusPush, type BaichuanStreamEncodeTable, type BaichuanStreamInfo, type BaichuanStreamInfoList, type BaichuanTransport, type BaichuanVideoInputPush, BaichuanVideoStream, type BaichuanVideoStreamOptions, BaichuanWebRTCServer, type BaichuanWebRTCServerOptions, type BaichuanWifi, type BaichuanWifiSignal, type BatteryInfo, type BatteryInfoResponse, type BcMedia, type BcMediaAac, type BcMediaAdpcm, BcMediaAnnexBDecoder, type BcMediaAnnexBDecoderStats, type BcMediaAnnexBInfo, type BcMediaAudioFrame, type BcMediaAudioType, BcMediaCodec, type BcMediaIframe, type BcMediaInfoV1, type BcMediaInfoV2, type BcMediaPframe, type BcMediaType, type BcMediaVideoFrame, type BcMediaVideoType, type BcUdpDiscoveryMethod, BcUdpStream, type BcUdpStreamOptions, type CgiAbility, type CgiAbilityChn, type CgiAbilityLeaf, type CgiAiKey, type CgiAiStateValue, type CgiAudioAlarmPlayParam, type CgiBattery, type CgiChannelStatusEntry, type CgiChnTypeInfoValue, type CgiDetectionState, type CgiDevInfo, type CgiDeviceInfoEntries, type CgiEnc, type CgiEncStream, type CgiEncValue, type CgiGetAbilityResponse, type CgiGetAbilityValue, type CgiGetAiStateResponse, type CgiGetChannelstatusResponse, type CgiGetChannelstatusValue, type CgiGetChnTypeInfoResponse, type CgiGetDevInfoResponse, type CgiGetDevInfoValue, type CgiGetEncResponse, type CgiGetOsdValue, type CgiGetRtspUrlResponse, type CgiGetRtspUrlValue, type CgiGetVideoclipsParams, type CgiNetPort, type CgiOsd, type CgiPirInfo, type CgiPtzPreset, type CgiSetOsdParam, type CgiSetPirInfoParam, type CgiSetWhiteLedParam, type CgiWhiteLed, type ChannelPushCacheEntry, type ChannelPushDataEntry, type ChannelRecordingFile, type ChannelStreamMetadata, type ChimeAlarmCfg, type ChimeCfg, type ChimeDevice, type ChimeParams, type CollectNvrDiagnosticsOptions, CompositeRtspServer, type CompositeRtspServerOptions, CompositeStream, type CompositeStreamOptions, type CompositeStreamPipOptions, DUAL_LENS_DUAL_MOTION_MODELS, DUAL_LENS_MODELS, DUAL_LENS_SINGLE_MOTION_MODELS, type DayNightThresholdConfig, type DebugConfig, type DebugOptions, type DeviceAbilities, type DeviceCapabilities, type DeviceCapabilitiesCacheEntry, type DeviceCapabilitiesDebugInfo, type DeviceCapabilitiesResult, type DeviceInfoResponse, type DeviceInputData, type DeviceObjectType, type DeviceStatusResponse, type DeviceSupportFlags, type DeviceType, type DiagnosticsCollectorResult, type DiagnosticsStreamKind, type DiscoveredDevice, type DiscoveryOptions, type DownloadRecordingParams, type DualLensChannelAnalysis, type DualLensChannelInfo, type EmailTaskConfig, type EncryptionProtocol, type Events, type EventsResponse, type FloodlightTaskConfig, type FtpTaskConfig, type GetRecordingVideoResult, type GetRecordingVideoStats, type GetVideoclipsParams, type GetVodUrlParams, H264RtpDepacketizer, H265RtpDepacketizer, type HardwiredChimeState, type HddInfoListConfig, type HlsCodec, type HlsHttpResponse, type HlsServerStatus, type HlsSession, HlsSessionManager, type HlsSessionManagerOptions, type HlsSessionParams, Intercom, type IntercomOptions, type JsonObject, type JsonPrimitive, type JsonValue, type LastSleepProbe, type LogLevel, type Logger, type LoggerCallback, type LoginResponseValue, type MaxEncryption, type MediaStream, type MjpegFrame, MjpegTransformer, type MjpegTransformerOptions, type MotionAlarmConfig, type MotionEvent, NVR_HUB_EXACT_TYPES, NVR_HUB_MODEL_PATTERNS, type NativeVideoStreamVariant, type NvrChannelsSummaryCacheEntry, type OnlineUserListConfig, type OsdChannel, type OsdConfig, type OsdTime, type ParsedRecordingFileName, type PipPosition, type PirConfig, type PirState, type PlaybackSnapshotStreamInfo, type PtzCommand, type PtzPosition, type PtzPreset, type RecEncConfig, type RecordingAudioCodec, type RecordingDetectionClass, type RecordingDevType, type RecordingFile, type RecordingPlaybackUrls, type RecordingStreamType, type RecordingVideoCodec, type RecordingVodFlags, type RecordingVodStreamHint, type RecordingsCacheEntry, type RecordingsQueueItem, type ReolinkAiNotification, ReolinkBaichuanApi, type ReolinkBaichuanChannelIdentity, type ReolinkBaichuanChannelInfo, type ReolinkBaichuanDeviceSummary, type ReolinkBaichuanNetworkInfo, type ReolinkBaichuanPorts, ReolinkCgiApi, type ReolinkCmdRequest, type ReolinkCmdResponse, type ReolinkCmdResponseExt, type ReolinkDayNightNotification, type ReolinkDeviceInfo, type ReolinkDeviceInfoTag, type ReolinkEvent, ReolinkHttpClient, type ReolinkHttpClientOptions, type ReolinkJson, type ReolinkMotionNotification, type ReolinkNvrChannelInfo, type ReolinkNvrDeviceGroupSummary, type ReolinkNvrDeviceGroupsResult, type ReolinkSimpleEvent, type ReolinkSimpleEventType, type ReolinkSupportedStream, type ReolinkVideoStreamOptionsResult, type ReolinkVisitorNotification, type ReplayHttpServer, type ReplayHttpServerOptions, type ResponseMediaStreamOptions, type Rfc4571ApiFactoryContext, type Rfc4571Client, Rfc4571Muxer, type Rfc4571ReplayServer, type Rfc4571ReplayServerOptions, type Rfc4571TcpServer, type Rfc4571TcpServerOptions, type RtpPacketizationOptions, type RtspCreateOptions, type RtspProxyServerOptions, type RtspStreamProfile, type RunAllDiagnosticsConsecutivelyParams, type RunAllDiagnosticsConsecutivelyResult, type RunMultifocalDiagnosticsConsecutivelyParams, type RunMultifocalDiagnosticsConsecutivelyResult, type SirenState, type SirenStatusConfig, type SleepState, type SleepStatus, type StreamMetadata, type StreamProfile, type StreamSamplingOptions, type StreamSamplingSelection, type SupportConfig, type SupportInfo, type SupportItem, type SystemGeneralConfig, type TalkAbility$1 as TalkAbility, type TalkAudioConfig, type TalkConfig, type TalkSession$1 as TalkSession, type TalkSessionInfo, type TimelapseCfgConfig, type TwoWayAudioConfig, type VideoCodec, type VideoInputConfig, type VideoParamSets, type VideoStreamOptions, type VideoStreamOptionsCacheEntry, type VideoType, type VideoclipClientInfo, type VideoclipModeDecision, type VideoclipThumbnailResult, type VideoclipTranscodeMode, type VodFile, type VodSearchResponse, type VodSearchResult, type VodSearchStatus, type WakeUpOptions, type WebRTCAnswer, type WebRTCIceCandidate, type WebRTCOffer, type WebRTCSessionInfo, type WhiteLedConfig, type WhiteLedState, type WirelessChimeSilentState, type ZoomFocusStatus, type ZoomFocusTriplet, abilitiesHasAny, aesDecrypt, aesEncrypt, asLogger, autoDetectDeviceType, bcDecrypt, bcEncrypt, bcHeaderHasPayloadOffset, buildAacAudioSpecificConfigHex, buildAbilityInfoExtensionXml, buildBinaryExtensionXml, buildChannelExtensionXml, buildFloodlightManualXml, buildHlsRedirectUrl, buildLoginXml, buildLogoutXml, buildPreviewStopXml, buildPreviewStopXmlV11, buildPreviewXml, buildPreviewXmlV11, buildPtzControlXml, buildPtzPresetXml, buildPtzPresetXmlV2, buildRfc4571Sdp, buildRtspPath, buildRtspUrl, buildSirenManualXml, buildSirenTimesXml, buildStartZoomFocusXml, buildWhiteLedStateXml, collectCgiDiagnostics, collectMultifocalDiagnostics, collectNativeDiagnostics, collectNvrDiagnostics, computeDeviceCapabilities, convertToAnnexB as convertH265ToAnnexB, convertToAnnexB$1 as convertToAnnexB, convertToLengthPrefixed, createBaichuanEndpointsServer, createDebugGateLogger, createDiagnosticsBundle, createLogger, createMjpegBoundary, createNativeStream, createNullLogger, createReplayHttpServer, createRfc4571TcpServer, createRfc4571TcpServerForReplay, createRtspProxyServer, createTaggedLogger, decideVideoclipTranscodeMode, decodeHeader, deriveAesKey, detectIosClient, detectVideoCodecFromNal, discoverReolinkDevices, discoverViaArpTable, discoverViaDhcpListener, discoverViaHttpScan, discoverViaOnvif, discoverViaTcpPortScan, discoverViaUdpBroadcast, discoverViaUdpDirect, encodeHeader, extractH264ParamSetsFromAccessUnit, extractH265ParamSetsFromAccessUnit, extractPpsFromAnnexB, extractSpsFromAnnexB, extractVpsFromAnnexB, flattenAbilitiesForChannel, formatMjpegFrame, getConstructedVideoStreamOptions, getGlobalLogger, getH265NalType, getMjpegContentType, getSupportItemForChannel, getVideoStream, getVideoclipClientInfo, getXmlText, hasStartCodes as hasH265StartCodes, hasStartCodes$1 as hasStartCodes, isDualLenseModel, isH264KeyframeAnnexB, isH265Irap, isH265KeyframeAnnexB, isNvrHubModel, isTcpFailureThatShouldFallbackToUdp, isValidH264AnnexBAccessUnit, isValidH265AnnexBAccessUnit, maskUid, md5HexUpper, md5StrModern, normalizeUid, packetizeAacAdtsFrame, packetizeAacRawFrame, packetizeH264, packetizeH265, parseAdtsHeader, parseBcMedia, parseRecordingFileName, parseSupportXml, printNvrDiagnostics, runAllDiagnosticsConsecutively, runMultifocalDiagnosticsConsecutively, sampleStreams, setGlobalLogger, splitAnnexBToNalPayloads$1 as splitAnnexBToNalPayloads, splitAnnexBToNals, splitAnnexBToNalPayloads as splitH265AnnexBToNalPayloads, testChannelStreams, xmlEscape, zipDirectory };
|
package/dist/index.d.ts
CHANGED
|
@@ -300,27 +300,30 @@ export declare type AutoDetectResult = {
|
|
|
300
300
|
};
|
|
301
301
|
|
|
302
302
|
/**
|
|
303
|
-
*
|
|
304
|
-
*
|
|
303
|
+
* Continuous discovery client for Reolink cameras on the network.
|
|
304
|
+
* Runs periodic scans using all configured discovery methods and maintains
|
|
305
|
+
* an always-up-to-date list of discovered devices.
|
|
305
306
|
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
307
|
+
* Supports callbacks for new/updated devices, making it ideal for plugins
|
|
308
|
+
* that want to be notified as cameras appear (e.g. battery cameras waking up).
|
|
308
309
|
*
|
|
309
310
|
* @example
|
|
310
311
|
* ```typescript
|
|
311
312
|
* const client = new AutodiscoveryClient({
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* scanIntervalMs:
|
|
313
|
+
* enableArpLookup: true,
|
|
314
|
+
* enableOnvifDiscovery: true,
|
|
315
|
+
* scanIntervalMs: 60_000,
|
|
315
316
|
* autoStart: true,
|
|
317
|
+
* onDeviceDiscovered: (device) => {
|
|
318
|
+
* console.log(`New device: ${device.host} (${device.model})`);
|
|
319
|
+
* },
|
|
316
320
|
* });
|
|
317
321
|
*
|
|
318
|
-
* //
|
|
322
|
+
* // Get the current list
|
|
319
323
|
* const devices = client.getDiscoveredDevices();
|
|
320
|
-
* console.log(`Trovate ${devices.length} telecamere`);
|
|
321
324
|
*
|
|
322
|
-
* //
|
|
323
|
-
*
|
|
325
|
+
* // Stop
|
|
326
|
+
* client.stop();
|
|
324
327
|
* ```
|
|
325
328
|
*/
|
|
326
329
|
export declare class AutodiscoveryClient {
|
|
@@ -329,96 +332,54 @@ export declare class AutodiscoveryClient {
|
|
|
329
332
|
private scanTimer;
|
|
330
333
|
private isRunning;
|
|
331
334
|
private currentScanPromise;
|
|
332
|
-
/**
|
|
333
|
-
* Costruttore del client di autodiscovery.
|
|
334
|
-
*
|
|
335
|
-
* @param options - Opzioni di configurazione per il discovery
|
|
336
|
-
*/
|
|
337
335
|
constructor(options?: AutodiscoveryClientOptions);
|
|
338
336
|
/**
|
|
339
|
-
*
|
|
340
|
-
* Se già in esecuzione, non fa nulla.
|
|
337
|
+
* Start continuous discovery. If already running, does nothing.
|
|
341
338
|
*/
|
|
342
339
|
start(): void;
|
|
343
340
|
/**
|
|
344
|
-
*
|
|
345
|
-
* Se non è in esecuzione, non fa nulla.
|
|
341
|
+
* Stop continuous discovery. If not running, does nothing.
|
|
346
342
|
*/
|
|
347
343
|
stop(): void;
|
|
348
344
|
/**
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
* @returns Array di dispositivi discoverati, ordinati per host
|
|
345
|
+
* Returns the current list of discovered devices, sorted by host IP.
|
|
352
346
|
*/
|
|
353
347
|
getDiscoveredDevices(): DiscoveredDevice[];
|
|
354
348
|
/**
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
* @returns Numero di dispositivi discoverati
|
|
349
|
+
* Returns the number of currently discovered devices.
|
|
358
350
|
*/
|
|
359
351
|
getDeviceCount(): number;
|
|
360
352
|
/**
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
* @returns `true` se il discovery è in esecuzione, `false` altrimenti
|
|
353
|
+
* Returns whether continuous discovery is currently running.
|
|
364
354
|
*/
|
|
365
355
|
isActive(): boolean;
|
|
366
356
|
/**
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
* @returns Promise che si risolve quando lo scan è completato
|
|
357
|
+
* Force an immediate scan (doesn't wait for the scheduled interval).
|
|
358
|
+
* If a scan is already in progress, waits for it to complete.
|
|
371
359
|
*/
|
|
372
360
|
scanNow(): Promise<void>;
|
|
373
361
|
/**
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
* @param host - Indirizzo IP del dispositivo da rimuovere
|
|
377
|
-
* @returns `true` se il dispositivo è stato rimosso, `false` se non era presente
|
|
362
|
+
* Remove a device from the discovered list.
|
|
378
363
|
*/
|
|
379
364
|
removeDevice(host: string): boolean;
|
|
380
365
|
/**
|
|
381
|
-
*
|
|
366
|
+
* Clear all discovered devices.
|
|
382
367
|
*/
|
|
383
368
|
clearDevices(): void;
|
|
384
|
-
/**
|
|
385
|
-
* Esegue un singolo scan della rete.
|
|
386
|
-
*/
|
|
387
369
|
private performScan;
|
|
388
|
-
/**
|
|
389
|
-
* Unisce le informazioni di un dispositivo esistente con quelle di un nuovo scan.
|
|
390
|
-
* Restituisce il dispositivo aggiornato se ci sono state modifiche, altrimenti `null`.
|
|
391
|
-
*/
|
|
392
370
|
private mergeDeviceInfo;
|
|
393
|
-
/**
|
|
394
|
-
* Programma il prossimo scan.
|
|
395
|
-
*/
|
|
396
371
|
private scheduleNextScan;
|
|
397
372
|
}
|
|
398
373
|
|
|
399
|
-
export declare interface AutodiscoveryClientOptions {
|
|
400
|
-
/**
|
|
401
|
-
networkCidr?: string;
|
|
402
|
-
/** Username to use for authentication attempts (default: "admin") */
|
|
403
|
-
username?: string;
|
|
404
|
-
/** Password to use for authentication attempts (default: empty, will try unauthenticated) */
|
|
405
|
-
password?: string;
|
|
406
|
-
/** Timeout per HTTP probe in milliseconds (default: 2000) */
|
|
407
|
-
httpProbeTimeoutMs?: number;
|
|
408
|
-
/** Maximum number of concurrent HTTP probes (default: 50) */
|
|
409
|
-
maxConcurrentProbes?: number;
|
|
410
|
-
/** Logger instance for debug output */
|
|
411
|
-
logger?: Logger;
|
|
412
|
-
/** Ports to scan for HTTP (default: [80, 443]) */
|
|
413
|
-
httpPorts?: number[];
|
|
414
|
-
/** Interval between discovery scans in milliseconds (default: 60000 = 60 seconds) */
|
|
374
|
+
export declare interface AutodiscoveryClientOptions extends DiscoveryOptions {
|
|
375
|
+
/** Interval between discovery scans in milliseconds (default: 120000 = 2 minutes) */
|
|
415
376
|
scanIntervalMs?: number;
|
|
416
377
|
/** Whether to start discovery automatically on construction (default: false) */
|
|
417
378
|
autoStart?: boolean;
|
|
418
|
-
/**
|
|
419
|
-
|
|
420
|
-
/**
|
|
421
|
-
|
|
379
|
+
/** Called when new (previously unseen) devices are discovered */
|
|
380
|
+
onDeviceDiscovered?: (device: DiscoveredDevice) => void;
|
|
381
|
+
/** Called when an existing device's info is updated (e.g. model filled in) */
|
|
382
|
+
onDeviceUpdated?: (device: DiscoveredDevice) => void;
|
|
422
383
|
}
|
|
423
384
|
|
|
424
385
|
export declare type BaichuanCachedPush<T> = {
|
|
@@ -3628,7 +3589,7 @@ export declare interface DiscoveredDevice {
|
|
|
3628
3589
|
/** Firmware version (if available) */
|
|
3629
3590
|
firmwareVersion?: string;
|
|
3630
3591
|
/** Discovery method used to find this device */
|
|
3631
|
-
discoveryMethod: "http_probe" | "udp_broadcast" | "udp_direct";
|
|
3592
|
+
discoveryMethod: "http_probe" | "udp_broadcast" | "udp_direct" | "tcp_port_scan" | "arp" | "dhcp" | "onvif";
|
|
3632
3593
|
/** Whether HTTPS is supported */
|
|
3633
3594
|
supportsHttps?: boolean;
|
|
3634
3595
|
/** Whether the device is accessible via HTTP */
|
|
@@ -3657,11 +3618,45 @@ export declare interface DiscoveredDevice {
|
|
|
3657
3618
|
*/
|
|
3658
3619
|
export declare function discoverReolinkDevices(options?: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3659
3620
|
|
|
3621
|
+
/**
|
|
3622
|
+
* Discover Reolink devices by reading the system ARP table and filtering
|
|
3623
|
+
* for Reolink MAC address prefixes (EC:71:DB). This mirrors the DHCP-based
|
|
3624
|
+
* discovery used by Home Assistant but reads the already-populated ARP cache
|
|
3625
|
+
* instead of sniffing live DHCP packets.
|
|
3626
|
+
*
|
|
3627
|
+
* Works on Linux, macOS, and Docker containers (reads /proc/net/arp or `arp -a`).
|
|
3628
|
+
*/
|
|
3629
|
+
export declare function discoverViaArpTable(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3630
|
+
|
|
3631
|
+
/**
|
|
3632
|
+
* Discover Reolink devices by passively listening for DHCP traffic (port 67/68).
|
|
3633
|
+
* Parses DHCP ACK/REQUEST packets and filters for Reolink MAC prefix or hostname.
|
|
3634
|
+
* Requires root or CAP_NET_RAW (typical in Docker with --net=host).
|
|
3635
|
+
*
|
|
3636
|
+
* This mirrors Home Assistant's DHCP discovery: matches hostname "reolink*" or MAC "EC:71:DB".
|
|
3637
|
+
*/
|
|
3638
|
+
export declare function discoverViaDhcpListener(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3639
|
+
|
|
3660
3640
|
/**
|
|
3661
3641
|
* Discover devices via HTTP port scanning.
|
|
3662
3642
|
*/
|
|
3663
3643
|
export declare function discoverViaHttpScan(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3664
3644
|
|
|
3645
|
+
/**
|
|
3646
|
+
* Discover devices via ONVIF WS-Discovery (multicast probe on 239.255.255.250:3702).
|
|
3647
|
+
* Most Reolink cameras and NVRs support ONVIF and will respond with their service
|
|
3648
|
+
* endpoint (XAddrs), model, and scopes. This is the standard IP camera discovery
|
|
3649
|
+
* mechanism used by NVRs, VMS, and similar software.
|
|
3650
|
+
*/
|
|
3651
|
+
export declare function discoverViaOnvif(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3652
|
+
|
|
3653
|
+
/**
|
|
3654
|
+
* Discover Reolink devices by scanning TCP port 9000 (Baichuan protocol).
|
|
3655
|
+
* This is the most reliable method — every Reolink camera/NVR listens on port 9000.
|
|
3656
|
+
* It only checks if the port is open; it does not authenticate or extract device info.
|
|
3657
|
+
*/
|
|
3658
|
+
export declare function discoverViaTcpPortScan(options: DiscoveryOptions): Promise<DiscoveredDevice[]>;
|
|
3659
|
+
|
|
3665
3660
|
/**
|
|
3666
3661
|
* Discover devices via UDP broadcast (for battery cameras).
|
|
3667
3662
|
*/
|
|
@@ -3692,6 +3687,20 @@ export declare type DiscoveryOptions = {
|
|
|
3692
3687
|
enableUdpDiscovery?: boolean;
|
|
3693
3688
|
/** Whether to enable HTTP port scanning (default: true) */
|
|
3694
3689
|
enableHttpScanning?: boolean;
|
|
3690
|
+
/** Whether to enable TCP port 9000 scanning (Baichuan protocol). Works with all Reolink devices. (default: false) */
|
|
3691
|
+
enableTcpPortScan?: boolean;
|
|
3692
|
+
/** Timeout per TCP port probe in milliseconds (default: 1500) */
|
|
3693
|
+
tcpProbeTimeoutMs?: number;
|
|
3694
|
+
/** Whether to enable ARP table lookup for Reolink MAC prefix (ec:71:db). Similar to Home Assistant DHCP discovery. (default: false) */
|
|
3695
|
+
enableArpLookup?: boolean;
|
|
3696
|
+
/** Whether to enable passive DHCP listening for Reolink devices (requires root/NET_RAW). (default: false) */
|
|
3697
|
+
enableDhcpListener?: boolean;
|
|
3698
|
+
/** Timeout for DHCP listener in milliseconds (default: 10000) */
|
|
3699
|
+
dhcpListenerTimeoutMs?: number;
|
|
3700
|
+
/** Whether to enable ONVIF WS-Discovery (multicast probe on 239.255.255.250:3702). Most Reolink cameras support ONVIF. (default: false) */
|
|
3701
|
+
enableOnvifDiscovery?: boolean;
|
|
3702
|
+
/** Timeout for ONVIF WS-Discovery in milliseconds (default: 5000) */
|
|
3703
|
+
onvifDiscoveryTimeoutMs?: number;
|
|
3695
3704
|
/** Ports to scan for HTTP (default: [80, 443]) */
|
|
3696
3705
|
httpPorts?: number[];
|
|
3697
3706
|
};
|