English | Korean | Chinese | Japanese

Chapter 2. Recording Information APIs

Request Channel List

 Request
http://<address>:<port>/reqChannelList

 Response
[
  {"ch":1, "sub":0, "title":"Garden#1", "connected":true, "recording":true,
   "live_hls":true, "ptz":true,
   "ptz_presets": [{"no": 1, "title": "Position#1"},{"no": 2, "title": "Position#2"}],
   "recordingStart": "2025-04-01", "recordingEnd": "2025-04-17"},
  {"ch":2, "sub":0, "title":"Garden#2", "connected":true, "recording":false,
   "live_hls":true, "ptz":false,
   "recordingStart": "2025-04-01", "recordingEnd": "2025-04-17"},
  ...
  {"ch":8, "sub":0, "title":"Playground", "connected":false, "recording":false,
   "live_hls":false, "ptz":false,
   "recordingStart": "2025-04-01", "recordingEnd": "2025-04-17"}
]

· ch: Channel number.

· sub: Sub-stream index; 0 for the primary channel, 1 for the first sub-channel, and 2 for the second sub-channel.

· title: Title of the channel.

· connected: Indicates whether the camera is connected.

· recording: Indicates whether the camera is recording.

· live_hls: Indicates whether the channel supports HLS live streaming.

· ptz: Indicates whether the camera is a PTZ (Pan-Tilt-Zoom) camera.

· ptz_presets: A list of PTZ presets, where "no" is the preset number and "title" is the preset title.

· recordingStart: Recording start date.

· recordingEnd: Recording end date.

 

Request Recording Dates

 Request
http://<address>:<port>/reqRecordingDates?month=<YYYYMM>

· month: Specifies the year and month for which recording dates are requested, formatted as `YYYYMM`.

 Response
[
  {"ch":1, "dates":[17,19,20,21]},
  {"ch":2, "dates":[17,19,20,21]},
  ...
  {"ch":8, "dates":[17,19,20,21]}
]

· ch: Channel number.

· dates: Array of dates with recordings.

 

Request Recording Times

 Request
http://<address>:<port>/reqRecordingTimes?date=<YYYYMMDD>
	&ch=<channel no>
	[&sub=<sub-stream index, default=0>]

· date: Specifies the recording date to request, formatted as `YYYYMMDD`.

· ch: Channel number.

· sub: Sub-stream index; defaults to 0 (primary stream) if not provided.

 Response
{
  "recordings": [
    [40593, 490],[41240, 2870],[44112, 4806],[48920, 1100]
  ],
  "startTimestamp": 1613660400,
  "totalSeconds": 86400,
  "dstInfo": {
    "biasMinStart": 0,
    "biasMinEnd": 0,
    "biasDstMinStart": 0,
    "biasDstMinEnd": 0,
    "changeTimeSec": 0
  }
}

· recordings: An array of recordings for the specified day.

· Each recording is represented as a pair [seconds, duration]:

· seconds: Video start time in seconds since startTimestamp.

· duration: Duration of the video segment in seconds.

· startTimestamp: Unix timestamp of the start time for the recordings.

· totalSeconds: Total number of seconds in the day. On days when Daylight Saving Time (DST) changes, this value can vary.

· dstInfo: Provides information about Daylight Saving Time (DST) adjustments for that day.

· biasMinStart / biasMinEnd: Time difference in minutes at the start and end of the day, respectively.

· biasDstMinStart / biasDstMinEnd: Time difference in minutes at the start and end of the DST period, respectively.

· changeTimeSec: Exact time of the change, in seconds from the start of the day.

 

Request DST Info

 Request
http://<address>:<port>/reqDSTInfo?date=<YYYYMMDD>

· date: Specifies the date for which Daylight Saving Time (DST) information is requested, formatted as `YYYYMMDD`.

 Response
{
  "dstInfo": {
    "biasMinStart": 0,
    "biasMinEnd": 0,
    "biasDstMinStart": 0,
    "biasDstMinEnd": 0,
    "changeTimeSec": 0
  }
}

· dstInfo: Contains Daylight Saving Time (DST) information for the specified date.

· biasMinStart / biasMinEnd: Time difference in minutes at the start and end of the day, respectively.

· biasDstMinStart / biasDstMinEnd: Time difference in minutes at the start and end of the DST period, respectively.

· changeTimeSec: The moment of time change, measured in seconds from the start of the day.