- 1. IOTCAV:startVideo
- 2. IOTCAV:startAudio
- 3. IOTCAV:startSpeaker
- 4. IOTCAV:playbackControl
- 5. getVideoFormatPreset
- 6. setVideoFormatPreset
- 7. getVideoBrightness
- 8. setVideoBrightness
- 9. getVideoContrast
- 10. setVideoContrast
- 11. setCloudRecordingEndpoint
- 12. getCloudRecordingEndpoint
- 13. enableCloudRecording
- 14. getCloudRecordingStatus
- 15. getCameraCapability
- 16. setWifi
- 17. queryWifiList
- 18. getCurrentWifi
- 19. queryStorageList
- 20. getStorageInfo
- 21. formatStorage
- 22. createCredential
- 23. deleteCredential
- 24. getAllIdentities
- 25. getDeviceInfo
- 26. setName
- 27. getName
- 28. getBatteryLevel
- 29. addPushNotificationService
- 30. delPushNotificationService
- 31. queryPushNotificationService
- 32. upgradeFirmware
- 33. checkFirmwareUpgradeStatus
- 34. writeFirmware
- 35. getAllSettings
- 36. panTiltStep
- 37. queryEventList
- 38. startWebRtc
- 39. stopWebRtc
- 40. exchangeSdp
- 41. startWebRtcStreams
- 42. stopWebRtcStreams
- 43. getLiveCapabilities
- 44. startLiveStream
- 45. getPlaybackCapabilities
- 46. startPlayback
- 47. setEventRecordingTriggers
- 48. getEventRecordingTriggers
- 49. enableAllLocalRecording
- 50. isAllLocalRecordingEnabled
- 51. setContinuousRecordingSchedule
- 52. getContinuousRecordingSchedule
- 53. enableContinuousScheduleRecording
- 54. isContinuousScheduleRecordingEnabled
- 55. setPushNotificationTriggers
- 56. getPushNotificationTriggers
- 57. enablePushNotification
- 58. enablePushNotifications
- 59. arePushNotificationsEnabled
- 60. isPushNotificationEnabled
- 61. getChannelInfo
- 62. setChannelName
- 63. getChannelName
- 64. getChannelNames
- 65. queryEventCalendar
- 66. queryEventListByNumber
核心接口说明
描述: Use this function to request the device to start playing video stream with AV JSON control. Please note that "IOTCAV:" should be removed from the control string before sending it.
版本: 1.0
指令集: IOTCAV:videoStreaming
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Boolean | M | true: request the device to start playing video, false: request the device to stop playing video |
| videoFormatPreset | String | O | please check getCameraCapability for the information of video format presets |
返回值: 200, 400
返回内容: Empty
Profile定义:
AV指令请求例子:
AV指令回复内容:
描述: Use this function to request the device to start playing audio stream with AV JSON control. Please note that "IOTCAV:" should be removed from the control string before sending it.
版本: 1.0
指令集: IOTCAV:audioStreaming
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Boolean | M | true: request the device to start playing audio, false: request the device to stop playing audio |
返回值: 200, 400
返回内容: Empty
Profile定义:
AV指令请求例子:
AV指令回复内容:
描述: Use this function to request the device to recieve audio stream from client. Please note that "IOTCAV:" should be removed from the control string before sending it.
版本: 1.0
指令集: IOTCAV:speaker
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Boolean | M | true: request the device to start recieving audio, false: request the device to stop recieving audio |
返回值: 200, 400
返回内容: Empty
Profile定义:
AV指令请求例子:
AV指令回复内容:
描述: Use this function to request the device to start playing video stream with AV JSON control. Please note that "IOTCAV:" should be removed from the control string before sending it.
版本: 1.0
指令集: IOTCAV:playback
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| ctrl | Int | M | - |
| fileName | String | M | - |
| iotcChannel | Int | O | device should use channel 1 in default |
Enumeration of ctrl
0 - pause: Device should continue to play video stream after receiving control "play" not "pause"
1 - play
2 - stop
返回值: 200, 400
返回内容: Empty
Profile定义:
AV指令请求例子:
AV指令回复内容:
描述: Use this function to get the currently utilized video format present, please check getCameraCapability for the information of video format presets.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | For NVR, DVR devices |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | String | M | Present name |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set the current video format present, please check getCameraCapability for the information of video format presets.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | String | M | Present name |
| channel | Int | O | For NVR,DVR devices |
返回值: 200, 400
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Get the brightness value of the video stream.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | support in v1.2 |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Int | M | value range is 0-100 |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Set the brightness value of the video stream.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Int | M | value range is 0-100 |
| channel | Int | O | support in v1.2 |
返回值: 200, 400
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Get the contrast value of the video stream.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | support in v1.2 |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Int | M | value range is 0-100 |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Set the contrast value of the video stream.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Int | M | value range is 0-100 |
| channel | Int | O | support in v1.2 |
返回值: 200, 400
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Setup target could recording url of the device, this function is supported internally by Nebula Device.
版本: 1.2
指令集: cloudRecording
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| url | String | M | URL of VSaaS server |
| intention | String | O | Enumeration of "subscribe", "cancel", "modify" |
| header | Dictionary | O | all content will be put in the http header |
| channel | Integer | O | specific channel that this endpoint belongs to, only given for devices that supports channels |
| recordingType | String | O | specific recording type that is supported by this endpoint. Will be either "fulltime" or "event" |
返回值: 200, 400
返回内容: Empty
Profile定义:
Nebula command request example no channel old format:
Nebula command request example no channel:
Nebula command request example with channel:
Nebula指令回复内容:
描述: Use this function to get the currently configured cloud recording endpoint information of the device, which is internally supported by Nebula Device.
版本: 1.2
指令集: cloudRecording
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | specific channel for multi-channel devices |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| url | String | M | URL of VSaaS server |
| intention | String | O | Enumeration of "subscribe", "cancel", "modify" |
| header | Dictionary | O | http header configuration of the endpoint |
| channel | Integer | O | channel bound to the endpoint |
| recordingType | String | O | "fulltime" or "event" recording type |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to enable or disable the cloud recording function of the device, which takes effect based on the configured cloud recording endpoint.
版本: 1.2
指令集: cloudRecording
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| value | Boolean | M | true: enable cloud recording, false: disable cloud recording |
| channel | Int | O | specific channel for multi-channel devices |
| recordingType | String | O | "fulltime" or "event" recording type |
返回值: 200, 400
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the current running status of the device's cloud recording function.
版本: 1.2
指令集: cloudRecording
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | specific channel for multi-channel devices |
| recordingType | String | O | "fulltime" or "event" recording type |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| status | String | M | running: normal recording; stopped: recording disabled; error: recording exception |
| errorMsg | String | O | error description when status is "error" |
| channel | Integer | O | channel bound to the recording task |
| recordingType | String | O | "fulltime" or "event" recording type |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the hardware capability information of the camera device, including supported video format presets and resolution ranges.
版本: 1.0
指令集: videoConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | For NVR, DVR devices |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| videoFormatPresets | Array | M | list of supported video format presets (e.g. ["hd", "720p", "1080p"]) |
| maxResolution | String | O | maximum supported resolution (e.g. "1920x1080") |
| minResolution | String | O | minimum supported resolution (e.g. "640x480") |
| supportedBrightnessRange | String | M | adjustable range of brightness (fixed as "0-100") |
| supportedContrastRange | String | M | adjustable range of contrast (fixed as "0-100") |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to configure the WiFi connection parameters of the device and make the device connect to the specified WiFi hotspot.
版本: 1.1
指令集: wifiConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| ssid | String | M | name of the target WiFi hotspot |
| password | String | M | password of the target WiFi hotspot |
| timeout | Int | O | connection timeout (default 30 seconds, unit: s) |
返回值: 200, 400, 408, 500
说明: 400=parameter error; 408=connection timeout; 500=connection failed
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the list of WiFi hotspots scannable by the device around.
版本: 1.1
指令集: wifiConfiguration
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| scanTime | Int | O | scan duration (default 5 seconds, unit: s) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| wifiList | Array | M | list of scannable WiFi hotspots |
| wifiList[].ssid | String | M | name of the WiFi hotspot |
| wifiList[].rssi | Int | M | WiFi signal strength (negative value, closer to 0 is stronger) |
| wifiList[].security | String | M | encryption type (e.g. "WPA2", "WPA3", "OPEN") |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the information of the WiFi hotspot currently connected by the device.
版本: 1.1
指令集: wifiConfiguration
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| ssid | String | M | name of the currently connected WiFi |
| rssi | Int | O | current WiFi signal strength |
| ipAddress | String | O | IP address obtained by the device |
| gateway | String | O | gateway address of the current network |
| netmask | String | O | subnet mask of the current network |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the list of mounted storage devices on the device (such as SD card, internal storage).
版本: 1.0
指令集: storageManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| storageList | Array | M | list of mounted storage devices |
| storageList[].storageId | String | M | unique ID of the storage device |
| storageList[].storageType | String | M | storage type ("SD" for SD card, "INTERNAL" for internal storage) |
| storageList[].totalSpace | Long | M | total space of the storage (unit: byte) |
| storageList[].freeSpace | Long | M | free space of the storage (unit: byte) |
| storageList[].status | String | M | storage status ("normal", "error", "unformatted") |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the detailed information of the specified storage device according to the storage device ID.
版本: 1.0
指令集: storageManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| storageId | String | M | unique ID of the storage device (from queryStorageList result) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| storageId | String | M | unique ID of the storage device |
| storageType | String | M | storage type ("SD" or "INTERNAL") |
| totalSpace | Long | M | total space of the storage (unit: byte) |
| freeSpace | Long | M | free space of the storage (unit: byte) |
| status | String | M | storage status ("normal", "error", "unformatted") |
| formatVersion | String | O | format version of the storage (e.g. "FAT32", "EXT4") |
| usedTime | Long | O | used duration of the storage (unit: second) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to format the specified storage device. Note: Formatting will clear all data on the device.
版本: 1.0
指令集: storageManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| storageId | String | M | unique ID of the storage device (from queryStorageList result) |
| formatType | String | O | format type (default "FAT32", support "FAT32", "EXT4") |
| quickFormat | Boolean | O | whether to enable quick format (default true) |
返回值: 200, 400, 404, 500
说明: 400=parameter error; 404=storage device not found; 500=format failed
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to create a new access credential (username and password) for the device to authenticate user access.
版本: 1.1
指令集: deviceSecurity
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| identity | String | M | unique username for the new credential |
| password | String | M | password corresponding to the username (length 6-16 characters) |
| permission | String | O | permission level ("admin" for full permission, "viewer" for view-only permission, default "admin") |
返回值: 200, 400, 409
说明: 400=parameter error; 409=identity already exists
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to delete an existing access credential (username) from the device.
版本: 1.1
指令集: deviceSecurity
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| identity | String | M | existing username to be deleted |
返回值: 200, 400, 404
说明: 400=parameter error; 404=identity does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the list of all existing access identities (usernames) and their corresponding permission levels on the device.
版本: 1.1
指令集: deviceSecurity
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| identityList | Array | M | list of all access identities |
| identityList[].identity | String | M | username of the access identity |
| identityList[].permission | String | M | permission level ("admin" or "viewer") |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the basic hardware and software information of the TUTK device.
版本: 1.0
指令集: deviceManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| deviceModel | String | M | model number of the device (e.g. "TUTK-CAM-001") |
| deviceSN | String | M | unique serial number of the device |
| firmwareVersion | String | M | current firmware version of the device |
| hardwareVersion | String | O | hardware version of the device |
| manufacturer | String | M | device manufacturer (fixed as "TUTK Inc.") |
| macAddress | String | O | MAC address of the device's network interface |
| supportFeatures | Array | O | list of supported advanced features (e.g. ["cloudRecording", "webRtc"]) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set a custom display name for the TUTK device.
版本: 1.0
指令集: deviceManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| name | String | M | custom device name (length 1-32 characters, support Chinese and English) |
返回值: 200, 400
说明: 400=parameter error (invalid name length or format)
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the current custom display name of the TUTK device.
版本: 1.0
指令集: deviceManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| name | String | M | current display name of the device (default is device model if not set) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to get the current battery level and charging status of the battery-powered TUTK device.
版本: 1.1
指令集: deviceManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| batteryLevel | Int | M | current battery level (0-100, 100 means fully charged) |
| isCharging | Boolean | M | true: device is charging; false: device is not charging |
| batteryStatus | String | O | battery health status ("normal", "low", "fault") |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to add a push notification service configuration to the device (support FCM, APNs, etc.).
版本: 1.2
指令集: pushNotification
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| serviceType | String | M | push service type ("FCM", "APNs", "MI Push", "Huawei Push") |
| token | String | M | push token corresponding to the service |
| serviceId | String | O | custom unique ID for the push service (auto-generated if not set) |
返回值: 200, 400, 409
说明: 400=parameter error; 409=serviceId already exists
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to delete an existing push notification service configuration from the device by serviceId.
版本: 1.2
指令集: pushNotification
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| serviceId | String | M | unique ID of the push service to be deleted |
返回值: 200, 400, 404
说明: 400=parameter error; 404=serviceId does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the list of all existing push notification service configurations on the device.
版本: 1.2
指令集: pushNotification
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| pushServiceList | Array | M | list of all push notification service configurations |
| pushServiceList[].serviceId | String | M | unique ID of the push service |
| pushServiceList[].serviceType | String | M | push service type ("FCM", "APNs", etc.) |
| pushServiceList[].token | String | M | push token of the service |
| pushServiceList[].createTime | Long | O | creation time of the service (timestamp, unit: ms) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to trigger the device to perform firmware upgrade (need to pre-configure firmware source via writeFirmware).
版本: 1.2
指令集: deviceMaintenance
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| forceUpgrade | Boolean | O | true: force upgrade even if current version is latest; false: skip if version is not newer (default false) |
| rebootAfterUpgrade | Boolean | O | true: auto reboot device after upgrade completed (default true); false: manual reboot required |
返回值: 200, 400, 403, 409
说明: 400=parameter error; 403=no valid firmware found; 409=upgrade is already in progress
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the current progress and status of the device firmware upgrade.
版本: 1.2
指令集: deviceMaintenance
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| upgradeStatus | String | M | Enumeration: "idle", "upgrading", "completed", "failed" |
| upgradeProgress | Int | M | Upgrade progress percentage (0-100, valid only when status is "upgrading") |
| errorMsg | String | O | Error description when upgrade status is "failed" (empty if no error) |
| targetFirmwareVersion | String | O | Version of the target firmware to be upgraded |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to upload and write firmware binary data or firmware download URL to the device (preparation for upgrade).
版本: 1.2
指令集: deviceMaintenance
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| firmwareSource | String | M | Enumeration: "url", "binary" (specify firmware source type) |
| firmwareUrl | String | O | Valid when firmwareSource is "url": public accessible firmware download URL |
| firmwareBinary | Base64 | O | Valid when firmwareSource is "binary": Base64 encoded firmware binary data |
| firmwareVersion | String | M | Version number of the target firmware (e.g. "v1.3.0") |
返回值: 200, 400, 413
说明: 400=parameter error (missing url/binary for corresponding source); 413=firmware file is too large
返回内容: Empty
Profile定义:
Nebula指令请求(URL方式):
Nebula指令回复内容:
描述: Use this function to get all current system configuration settings of the device (including video, network, security, etc.).
版本: 1.2
指令集: deviceManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| videoSettings | Dictionary | M | Video related settings (include brightness, contrast, videoFormatPreset) |
| networkSettings | Dictionary | M | Network related settings (include wifi info, IP config) |
| securitySettings | Dictionary | M | Security related settings (include credential enable status) |
| pushSettings | Dictionary | O | Push notification related settings (include enable status) |
| recordingSettings | Dictionary | O | Recording related settings (include cloud and local recording config) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to control the pan (horizontal) and tilt (vertical) movement of the PTZ camera by step distance.
版本: 1.1
指令集: cameraControl
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| panStep | Int | M | Horizontal movement step (-10 to 10: negative=left, positive=right, 0=no movement) |
| tiltStep | Int | M | Vertical movement step (-10 to 10: negative=down, positive=up, 0=no movement) |
| speed | Int | O | Movement speed (1-5, default 3, higher value means faster movement) |
返回值: 200, 400, 405
说明: 400=parameter error (step out of range); 405=device does not support PTZ function
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the historical event list of the device (e.g. motion detection, alarm, etc.) by time range.
版本: 1.2
指令集: eventManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| startTime | Long | M | Start time of the query range (timestamp, unit: ms) |
| endTime | Long | M | End time of the query range (timestamp, unit: ms, must be larger than startTime) |
| eventType | String | O | Filter by event type ("motion", "alarm", "upgrade", "offline", default query all types) |
| pageSize | Int | O | Number of events per page (10-100, default 20) |
| pageNum | Int | O | Page number of the query result (start from 1, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventList | Array | M | List of historical events matching the query conditions |
| eventList[].eventId | String | M | Unique ID of the event |
| eventList[].eventType | String | M | Type of the event ("motion", "alarm", etc.) |
| eventList[].eventTime | Long | M | Occurrence time of the event (timestamp, unit: ms) |
| eventList[].eventDesc | String | O | Detailed description of the event |
| totalCount | Int | M | Total number of events matching the query conditions |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to initiate a WebRTC connection between the client and the device for real-time media streaming.
版本: 1.2
指令集: webRtcManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| streamType | String | M | Media stream type ("video", "audio", "video_audio", default "video_audio") |
| sessionId | String | O | Custom unique WebRTC session ID (auto-generated if not set) |
返回值: 200, 400, 405, 409
说明: 400=parameter error; 405=device does not support WebRTC; 409=WebRTC session already exists
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to terminate an existing WebRTC connection between the client and the device.
版本: 1.2
指令集: webRtcManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| sessionId | String | O | ID of the WebRTC session to be terminated (terminate all sessions if not set) |
返回值: 200, 400, 404
说明: 400=parameter error; 404=specified WebRTC session does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to exchange SDP (Session Description Protocol) information between client and device for WebRTC connection establishment.
版本: 1.2
指令集: webRtcManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| sessionId | String | M | ID of the corresponding WebRTC session |
| sdpType | String | M | Enumeration: "offer", "answer" (type of the SDP message) |
| sdpContent | String | M | Content of the SDP (Session Description Protocol) message |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| sdpType | String | M | Response SDP type ("offer" or "answer") |
| sdpContent | String | M | Response SDP content from the device |
返回值: 200, 400, 404
说明: 400=parameter error; 404=specified WebRTC session does not exist
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to initiate multiple WebRTC media streams (main stream + sub stream) between client and device simultaneously.
版本: 1.2
指令集: webRtcManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| mainStreamType | String | M | Main stream media type ("video", "audio", "video_audio") |
| subStreamType | String | O | Sub stream media type ("video", "audio", "video_audio", default no sub stream) |
| sessionId | String | O | Custom unique WebRTC multi-stream session ID (auto-generated if not set) |
返回值: 200, 400, 405, 409
说明: 400=parameter error; 405=device does not support multi-stream WebRTC; 409=multi-stream session already exists
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to terminate an existing multi-stream WebRTC connection (main stream + sub stream) between the client and the device.
版本: 1.2
指令集: webRtcManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| sessionId | String | O | ID of the multi-stream WebRTC session to be terminated (terminate all multi-stream sessions if not set) |
返回值: 200, 400, 404
说明: 400=parameter error; 404=specified multi-stream WebRTC session does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the live stream capabilities of the device (including supported stream types, resolutions, and protocols).
版本: 1.2
指令集: liveStreamManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| supportedProtocols | Array | M | Supported live stream protocols (e.g. ["RTMP", "HLS", "WebRTC"]) |
| supportedResolutions | Array | M | Supported live stream resolutions (e.g. ["480p", "720p", "1080p"]) |
| supportedStreamTypes | Array | M | Supported stream types (e.g. ["video", "audio", "video_audio"]) |
| maxBitrate | Int | O | Maximum live stream bitrate (unit: kbps, e.g. 2048) |
| supportMultiStream | Boolean | O | Whether the device supports multi-stream live broadcast (true/false) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to initiate a live stream broadcast from the device to the specified remote server (e.g. RTMP server).
版本: 1.2
指令集: liveStreamManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| protocol | String | M | Live stream protocol (must be one of the supportedProtocols from getLiveCapabilities, e.g. "RTMP") |
| streamUrl | String | M | Remote server stream push URL (e.g. "rtmp://live.example.com/live/stream_key") |
| streamType | String | O | Stream type ("video", "audio", "video_audio", default "video_audio") |
| resolution | String | O | Live stream resolution (must be one of supportedResolutions, default "720p") |
| bitrate | Int | O | Live stream bitrate (unit: kbps, cannot exceed maxBitrate, default 1024) |
返回值: 200, 400, 405, 409
说明: 400=parameter error; 405=device does not support live stream; 409=live stream is already in progress
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the playback capabilities of the device (including supported playback formats, time ranges, and storage sources).
版本: 1.2
指令集: playbackManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| supportedFormats | Array | M | Supported playback video formats (e.g. ["H264", "H265", "MP4"]) |
| supportedStorageSources | Array | M | Supported playback storage sources (e.g. ["local_sd", "local_hdd", "cloud"]) |
| maxPlaybackDuration | Long | O | Maximum single playback duration (unit: ms, e.g. 3600000 for 1 hour) |
| supportFastForward | Boolean | O | Whether support fast forward playback (true/false) |
| supportRewind | Boolean | O | Whether support rewind playback (true/false) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to initiate historical video playback from the specified storage source of the device.
版本: 1.2
指令集: playbackManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| storageSource | String | M | Playback storage source (must be one of supportedStorageSources, e.g. "local_sd") |
| startTime | Long | M | Start time of playback (timestamp, unit: ms) |
| endTime | Long | M | End time of playback (timestamp, unit: ms, must be larger than startTime) |
| format | String | O | Playback video format (must be one of supportedFormats, default "H264") |
| playbackSpeed | Float | O | Playback speed (1.0=normal, 2.0=2x fast forward, 0.5=0.5x slow play, default 1.0) |
| channel | Int | O | Specific channel for playback (for NVR/DVR devices, default 1) |
返回值: 200, 400, 404, 409
说明: 400=parameter error; 404=no video found in the specified time range; 409=playback is already in progress
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set the event types that trigger local or cloud recording on the device.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| triggerList | Array | M | List of event triggers for recording |
| triggerList[].eventType | String | M | Event type (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection") |
| triggerList[].recordingType | String | M | Recording type triggered by event ("local", "cloud", "local_and_cloud") |
| triggerList[].preRecordTime | Int | O | Pre-recording time before event occurs (unit: s, 0-30, default 5) |
| triggerList[].postRecordTime | Int | O | Post-recording time after event ends (unit: s, 10-60, default 10) |
| channel | Int | O | Specific channel for trigger setting (for NVR/DVR devices, default 1) |
返回值: 200, 400
说明: 400=parameter error (invalid event type or recording type)
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the current event recording trigger settings of the device.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| triggerList | Array | M | Current list of event recording triggers |
| triggerList[].eventType | String | M | Configured event type (e.g. "motion", "human_detection") |
| triggerList[].recordingType | String | M | Configured recording type (e.g. "local_and_cloud") |
| triggerList[].preRecordTime | Int | M | Configured pre-recording time (unit: s) |
| triggerList[].postRecordTime | Int | M | Configured post-recording time (unit: s) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to enable or disable all local recording functions (event recording + continuous recording) of the device.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| enable | Boolean | M | true: enable all local recording; false: disable all local recording |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400, 405
说明: 400=parameter error; 405=device does not support local recording
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query whether all local recording functions of the device are currently enabled.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| enable | Boolean | M | Current status of all local recording (true=enabled, false=disabled) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set the schedule for continuous automatic recording of the device (supports different schedules for different weekdays).
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| scheduleList | Array | M | List of continuous recording schedules |
| scheduleList[].weekday | Int | M | Weekday (0=Sunday, 1=Monday, ..., 6=Saturday) |
| scheduleList[].timeRanges | Array | M | Time ranges for continuous recording on this weekday |
| scheduleList[].timeRanges[].startHour | Int | M | Start hour of recording (0-23) |
| scheduleList[].timeRanges[].startMinute | Int | M | Start minute of recording (0-59) |
| scheduleList[].timeRanges[].endHour | Int | M | End hour of recording (0-23, must be >= startHour) |
| scheduleList[].timeRanges[].endMinute | Int | M | End minute of recording (0-59) |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400
说明: 400=parameter error (invalid weekday or time range)
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the current continuous recording schedule settings of the device.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| scheduleList | Array | M | Current list of continuous recording schedules |
| scheduleList[].weekday | Int | M | Configured weekday (0=Sunday, 1=Monday, ..., 6=Saturday) |
| scheduleList[].timeRanges | Array | M | Configured time ranges for continuous recording on this weekday |
| scheduleList[].timeRanges[].startHour | Int | M | Configured start hour of recording (0-23) |
| scheduleList[].timeRanges[].startMinute | Int | M | Configured start minute of recording (0-59) |
| scheduleList[].timeRanges[].endHour | Int | M | Configured end hour of recording (0-23) |
| scheduleList[].timeRanges[].endMinute | Int | M | Configured end minute of recording (0-59) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to enable or disable the continuous schedule recording function of the device.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| enable | Boolean | M | true: enable continuous schedule recording; false: disable continuous schedule recording |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400, 405
说明: 400=parameter error; 405=device does not support continuous schedule recording
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query whether the continuous schedule recording function of the device is currently enabled.
版本: 1.2
指令集: recordingManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| enable | Boolean | M | Current status of continuous schedule recording (true=enabled, false=disabled) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set the event types that trigger push notifications on the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| triggerList | Array | M | List of event triggers for push notifications |
| triggerList[].eventType | String | M | Event type (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection", "storage_full") |
| triggerList[].enable | Boolean | M | true: enable this event to trigger push notification; false: disable |
| triggerList[].notifyTitle | String | O | Custom push notification title for this event (default is event type name) |
| triggerList[].notifyContent | String | O | Custom push notification content for this event (default is system preset content) |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400
说明: 400=parameter error (invalid event type)
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the current push notification trigger settings of the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| triggerList | Array | M | Current list of push notification triggers |
| triggerList[].eventType | String | M | Configured event type (e.g. "motion", "human_detection") |
| triggerList[].enable | Boolean | M | Configured status of this trigger (true=enabled, false=disabled) |
| triggerList[].notifyTitle | String | M | Configured push notification title for this event |
| triggerList[].notifyContent | String | M | Configured push notification content for this event |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to enable or disable the push notification function for a single specific event type of the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventType | String | M | Target event type (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection", "storage_full") |
| enable | Boolean | M | true: enable push notification for this event; false: disable push notification for this event |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400, 404
说明: 400=parameter error; 404=specified event type does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to batch enable or disable push notification functions for multiple event types of the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventTypeList | Array | M | List of target event types (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection", "storage_full") |
| enable | Boolean | M | true: batch enable push notifications for these events; false: batch disable push notifications for these events |
| channel | Int | O | Specific channel for setting (for NVR/DVR devices, default 1) |
返回值: 200, 400
说明: 400=parameter error (invalid event type in list)
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to batch query the push notification status of multiple event types of the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventTypeList | Array | M | List of target event types for query (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection", "storage_full") |
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| statusList | Array | M | List of push notification status for the queried event types |
| statusList[].eventType | String | M | Queried event type (e.g. "motion", "audio") |
| statusList[].enable | Boolean | M | Push notification status of this event (true=enabled, false=disabled) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the push notification status of a single specific event type of the device.
版本: 1.2
指令集: notificationManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventType | String | M | Target event type for query (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection", "storage_full") |
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| enable | Boolean | M | Push notification status of the specified event (true=enabled, false=disabled) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the detailed information of a specific channel of the device (for NVR/DVR multi-channel devices).
版本: 1.2
指令集: channelManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | M | Target channel number for query (e.g. 1, 2, 3) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | M | Channel number (same as the query parameter) |
| channelName | String | M | Name of the channel (e.g. "Front Door Camera") |
| status | String | M | Channel status (enumeration: "online", "offline", "error") |
| cameraType | String | O | Type of camera connected to this channel (e.g. "IP Camera", "Analog Camera") |
| resolution | String | O | Supported maximum resolution of this channel (e.g. "1080p") |
| recordingEnabled | Boolean | O | Whether recording is enabled for this channel (true=enabled, false=disabled) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to set a custom name for a specific channel of the device (for NVR/DVR multi-channel devices).
版本: 1.2
指令集: channelManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | M | Target channel number for setting (e.g. 1, 2, 3) |
| channelName | String | M | Custom channel name (maximum length: 32 characters, support letters, numbers, and special characters) |
返回值: 200, 400, 404
说明: 400=parameter error (invalid channel name length); 404=specified channel does not exist
返回内容: Empty
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the custom name of a specific channel of the device (for NVR/DVR multi-channel devices).
版本: 1.2
指令集: channelManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channel | Int | M | Target channel number for query (e.g. 1, 2, 3) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channelName | String | M | Current custom name of the specified channel (return default name if not customized) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to batch query the custom names of all supported channels of the device (for NVR/DVR multi-channel devices).
版本: 1.2
指令集: channelManagement
请求参数: Empty
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| channelNameList | Array | M | List of channel names for all supported channels |
| channelNameList[].channel | Int | M | Channel number (e.g. 1, 2, 3) |
| channelNameList[].channelName | String | M | Custom name of the channel (return default name if not customized) |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the date list that contains recorded events of the device (for quick calendar-based event navigation).
版本: 1.2
指令集: eventManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| year | Int | M | Target year for query (e.g. 2025) |
| month | Int | M | Target month for query (1-12) |
| eventType | String | O | Filter by event type (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection") |
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventDateList | Array | M | List of dates that contain the specified type of events |
| eventDateList[].date | String | M | Date in "YYYY-MM-DD" format (e.g. "2025-12-30") |
| eventDateList[].eventCount | Int | M | Number of events on this date |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
描述: Use this function to query the latest N pieces of event records of the device (batch query by specified event count).
版本: 1.2
指令集: eventManagement
请求参数:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventCount | Int | M | Number of latest events to query (1-100, maximum 100) |
| eventType | String | O | Filter by event type (enumeration: "motion", "audio", "alarm", "human_detection", "vehicle_detection") |
| channel | Int | O | Specific channel for query (for NVR/DVR devices, default 1) |
返回内容:
| Parameter name | Data type | Requirement | Description |
|---|---|---|---|
| eventList | Array | M | List of the latest N pieces of event records (sorted in descending order by time) |
| eventList[].eventId | String | M | Unique identifier of the event |
| eventList[].eventType | String | M | Type of the event (e.g. "motion", "human_detection") |
| eventList[].startTime | String | M | Start time of the event in "YYYY-MM-DD HH:mm:ss" format |
| eventList[].endTime | String | O | End time of the event in "YYYY-MM-DD HH:mm:ss" format |
| eventList[].filePath | String | O | Storage path of the event recording file (for local recording) |
| eventList[].channel | Int | M | Channel number corresponding to the event |
Profile定义:
Nebula指令请求:
Nebula指令回复内容:
