Go to documentation repository
Documentation for Axxon One 2.0. Documentation for other versions of Axxon One is available too.
Previous page Next page
- Created by Alina Luchkina, last updated by Darya Andryieuskaya on 12.12.2022 1 minute read
Get list of video cameras and information about them
The returned VIDEOSOURCEID identifiers will have the format as follows "HOSTNAME/ObjectType.Id/Endpoint.Name". Friendly name and other related metadata will also be returned.
Parameter | Required | Description |
---|---|---|
limit | No | Determines the maximum number of returned results, the default value is 1000 |
next_page | No | The value of the nextPageToken parameter, which will be in the response if the request returns not all results. It is used to get the following values |
filter | No | Allows you to get a subset of results according to the filter. Currently, it can have the HOSTNAME or VIDEOSOURCEID values Attention! If Office is specified as the server name, then the GET http://IP-address:port/prefix/camera/list?filter=Office request will return all cameras of the Office server. |
group_ids | No | List of the group identifiers to which the cameras must belong (see Get list of groups and their contents). You can specify several identifiers using the separator "|". For example: http://localhost:80/camera/list?group_ids=6af92229-43ff-0347-9dae-081bf9835733|b48111eb-64c5-294c-a69c-4adb07c954d1 In this case, the response will contain all cameras that belong at least to one of the specified groups |
query | No | Allows getting a subset of results according to the search query |
Request example 1:
GET http://127.0.0.1:80/camera/list?filter=hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0
Response example:
{ "cameras" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", "archives" : [], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.audio:0", "isActivated" : false } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [], "displayId" : "1", "displayName" : "Street", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "0", "longitude" : "0", "model" : "TestDevice", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/TelemetryControl.0", "areaZoom" : false, "focus" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "iris" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "is_active" : true, "move" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "pointMove" : false, "zoom" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false } } ], "rays" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:0", "displayId" : "1.0.0", "displayName" : "Ray", "enabled" : true, "isActivated" : true }, { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:1", "displayId" : "1.0.1", "displayName" : "Ray", "enabled" : true, "isActivated" : true } ], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0" } ] }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "archives" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "default" : false, "incomplete" : false, "isEmbedded" : false, "storage" : "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage", "storageDisplayName" : "AliceBlue" } ], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.audio:0", "isActivated" : true } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [ { "accessPoint" : "hosts/Server1/AVDetector.1/EventSupplier", "displayName" : "Face detection", "events" : [ "TargetList", "faceAppeared" ], "isActivated" : false, "parentDetector" : "", "type" : "TvaFaceDetector" } ], "displayId" : "2", "displayName" : "Hall", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "78.2379", "longitude" : "15.4466", "model" : "Virtual several streams", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [], "rays" : [], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0" }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:1" } ] } ], "search_meta_data" : [ { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 }, { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 } ] }
Parameter | Parameter description |
---|---|
archives | List of archives to which the camera is connected |
audioStreams | Audio stream |
comment | Comment |
camera_access | Access rights to the camera, where:
|
detectors | List of created detectors |
displayId | Friendly identifier |
displayName | Name |
groups | List of groups to which the camera belongs |
ipAddress | IP address |
isActivated | True—the object is enabled, False—the object is disabled |
azimuth, latitude, longitude | The coordinates of the camera. Depending on the server localization, the parameter values can be separated by either a period or a comma |
model | Model |
ptzs | PTZ devices, where:
|
textSources | Event sources |
vendor | Vendor |
videoStreams | Video streams |
rays | Rays |
Note
Starting with Axxon One version 2.0.10, the response will also contain information about the speakers:
..., "speakers" : [ { "accessPoint" : "hosts/SERVER/DeviceIpint.1/SinkEndpoint.0", "isActivated" : true } ], ...
Request example 2:
GET http://127.0.0.1:80/camera/list?query.query=1.Camera&query.search_type=FUZZY&search_fields=DISPLAY_NAME&decorated_name_template={display_id}.{display_name}
Parameter | Parameter description |
---|---|
search_type | An integer number or a value that specifies which search type to use. Valid values are:
|
search_fields | A list of integers or values separated by the "|" character that specifies which fields must be searched. If a match is found, subsequent fields won't be searched. Valid values are:
|
decorated_name_template | A template that determines how the final search string is built, based on which the search will be performed. There are keywords that can be replaced by actual device values. The keywords are:
The default template is {display_id}.{display_name}. For example, for a device that has the "Camera" name and the short name "1", the final search string is "1.Camera" |
Response example:
{ "cameras" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", "archives" : [], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.audio:0", "isActivated" : false } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [], "displayId" : "1", "displayName" : "\u041a\u0430\u043c\u0435\u0440\u0430", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "0", "longitude" : "0", "model" : "Virtual", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [], "rays" : [], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0" } ] } ], "search_meta_data" : [ { "matches" : [ 0, 1, 2, 3, 4, 5, 6, 7 ], "score" : 220 } ] }
Get camera live stream
General information
GET http://IP Address:port/prefix/live/media/{VIDEOSOURCEID}
{VIDEOSOURCEID}—a three-component source endpoint ID (see Get list of cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Attention!
- If no parameters are specified in the request, then the video will be received in the MJPEG format.
- You can't get audio in MJPEG format.
Parameter | Required | Description |
---|---|---|
format | No | Parameter values are "mp4", "hls". Video can be received in the original format (without recompression) via HLS protocols. HLS protocol supports only H.264 format. The "mp4" player allows to receive the original video in H.264 and H.265 formats. In all other cases the Server recompresses it to MJPEG format Attention! If video is requested in the format that differs from the original one, then recompression will be performed, therefore, Server load will increase. |
w, h | No | w—frame width, h—frame height Attention!
|
fr | No | The FPS value Attention! This parameter is relevant only for MJPEG video. |
enable_token_auth | No | Get authorized and signed links to video streams:
|
valid_token_hours | No | |
key_frames | No | 1—playback only by key frames; 0—original frame rate (default) |
authToken | No | Connecting via AxxonNet. For example, https://axxonnet.com/arpserver/25455_0/webclient/live/media/SERVER/DeviceIpint.1/SourceEndpoint.video:0:1?authToken=... |
auth_token | No | Authorizing when connecting directly to the Server and authorizing by token. For example, http://127.0.0.1:80/live/media/SERVER/DeviceIpint.1/SourceEndpoint.video:0:0?format=mp4&auth_token=... |
Sample request:
GET http://127.0.0.1:80/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&enable_token_auth=1&valid_token_hours=1
HLS video
HLS protocol video can be received in the original format only. The following parameters are used when receiving HLS protocol video:
Parameter | Required | Description |
---|---|---|
keep_alive | No | Time in seconds in which the stream is to be kept alive |
hls_time | No | The segment length in seconds |
hls_list_size | No | The maximum number of playlist entries. If set to 0, the list file will contain all segments |
hls_wrap | No | The number after which the segment filename number wraps. If set to 0, the number will be never wrapped |
Sample request:
GET http://127.0.0.1:80/live/media/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0?format=hls&keep_alive=60
Sample response:
{ "keep_alive_seconds": 60, "keep_alive_url": "/live/media/hls/keep?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stop_url": "/live/media/hls/stop?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stream_url": "/hls/7e9d8c93-80e2-4521-9a54-cb854fe3cd2d/playout.m3u8" }
Parameter | Description |
---|---|
keep_alive_seconds | Time in seconds in which the stream is to be kept alive |
keep_alive_url | The url to keep the stream alive |
stop_url | The url to stop the stream |
stream_url | The url to access the list of segments |
Attention!
HLS protocol video becomes available with some delay (about 20 seconds). This is due to a feature of the HLS protocol: after receiving the link, it forms a cache of several video segments, and only after that the video starts playing.
To playback video via HLS protocol, use the stream_url parameter from the response as follows:
ffplay "http://root:root@10.0.12.65:80/hls/c83b48d5-2ab7-49eb-91ef-593f808d4e51/playout.m3u8"
RTSP video
RTSP protocol video is sent in the original format only.
Request to get the structure of the RTSP link: http://login:password@IPAddress:Port/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?format=rtsp
Sample response:
{ "http": { "description": "RTP/RTSP/HTTP/TCP", "path": "hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0", "port": "8554" }, "rtsp": { "description": "RTP/UDP or RTP/RTSP/TCP", "path": "hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0", "port": "554" } }
Request to get video: GET rtsp://login:password@IP Address:554/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0
Attention!
In some cases, the RTSP video can be streamed with artifacts. To fix this, change the TCP/IP settings using this reg file.
RTSP stream information:
GET http://IP Address:port/prefix/rtsp/stat
HTTP video
ffplay.exe -v debug "http://login:password@IP Address:8001/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=1600&h=0"
Attention!
HTTP sends video in mjpeg only, the w and h parameters are mandatory.
Tunneling RTSP over HTTP
See Configure tunneling RTSP over HTTP in VLC.
Video is sent over the tunnel in the original format.
Sample request:
ffplay -rtsp_transport http "rtsp://login:password@IP Address:80/rtspproxy/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0"
GET for VLC: rtsp://login:password@IP Address:80/rtspproxy/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0
H.264 and H.265 video
To get live video in the original H.264 and H.265 formats, use mp4 format.
Sample request:
ffplay.exe "http://root:root@192.168.25.112:8001/live/media/Server1/DeviceIpint.61/SourceEndpoint.video:0:0?format=mp4"
Get camera snapshot
{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Parameter | Required | Description |
---|---|---|
w h | No | w – frame width, h – frame height Note
|
crop_x crop_y crop_width crop_height | No |
|
Note
By default, the snapshot update period is 30 seconds. To change this value, create the NGP_SNAPSHOT_TIMEOUT system variable and set the required value in milliseconds (see Appendix 9. Creating system variable).
Sample request:
- To get a snapshot in the original resolution:
GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0
- To get a snapshot in 640*480 resolution:
GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480
- To get the right lower particle of a snapshot:
GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5
- To get the right lower particle of a snapshot in 640*480 resolution:
GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5
Get list of groups and their contents
Get list of all available groups
GET http://IP-Address:port/prefix/group
Sample request:
GET http://127.0.0.1:80/group
Sample response:
{ "groups" : [ { "Brief" : "Group1", "Description" : "", "Id" : "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "groups" : [ { "Brief" : "Group2", "Description" : "", "Id" : "dac24803-313c-43ab-aa9a-276922a55cb6", "groups" : [] }, { "Brief" : "Group3", "Description" : "", "Id" : "13764152-6910-44b6-99b5-f74641ad4a14", "groups" : [ { "Brief" : "Group4", "Description" : "Group4", "Id" : "9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f", "groups" : [] } ] } ] } ] }
Get group contents
GET http://IP-Address:port/prefix/group/{GROUPID}.
GROUPID – value of the Id field received using the previous request.
Sample request:
GET http://127.0.0.1:80/group/9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f
Sample response:
{ "members" : [ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0" ] }
Get list of groups containing specified camera
GET http://IP-Address:port/prefix/group/contains/{VIDEOSOURCEID}
{VIDEOSOURCEID} – three-component source endpoint ID (see Get list of cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Sample request:
GET http://127.0.0.1:80/group/contains/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0
Sample response:
{ "groups" : [ "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "13764152-6910-44b6-99b5-f74641ad4a14", "dac24803-313c-43ab-aa9a-276922a55cb6" ] }
Get list of video cameras and information about them
Get list of telemetry devices for specified video source
Camera statistics
{VIDEOSOURCEID} − three-component source endpoint ID (see Get list of cameras and information about them). For instance, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Statistics for the several cameras: POST http://IP-Address:port/prefix/statistics/ + request body in the following format:
[ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0", "hosts/SERVER1/DeviceIpint.2/SourceEndpoint.video:0:0" ]
Parameter | Required | Description |
---|---|---|
waterlevel | No | waterlevel = 1 − the response will contain the current water level value, if the water level detection is created for the camera (see Configuring the Water level detector). |
Request example:
GET http://127.0.0.1:80/statistics/Server1/DeviceIpint.1/SourceEndpoint.video:0:0
Response example:
{ "bitrate": 592831, "fps": 2.278942490e+01, "width": 1280, "height": 720, "mediaType": 2, "streamType": 877088845 }
Parameter | Description |
---|---|
bitrate | Bitrate of the video stream in bits per second |
fps | Number of frames per second |
width | The height and width of the video in pixels |
height | |
mediaType | Media type |
streamType | Type of stream (see the possible values) |
- No labels