Capabilities
Used to retrieve camera capabilities (transcoding, video modes...).
Table of contents
- GET /api/<versionNumber>/capabilities/recording
- GET /api/<versionNumber>/capabilities/transcoding
- GET /api/<versionNumber>/capabilities/scenes
GET /api/<versionNumber>/capabilities/recording
Format:
http://<baseURL>/api/<versionNumber>/capabilities/recording
Example:
http://192.168.1.101/api/2/capabilities/recording
Parameters:
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
Description:
Returns camera recording capabilities in JSON format. JSON object returned contains description of all supported video and image modes on the camera.
Following video modes with it's corresponding resolutions, framerates, playback rates and field of views are currently supported:
Video mode | Resolution | Framerate | Playback rate | Field Of View |
normal | 1080p | 30fps | 30fps | wide, normal |
normal | 1080p | 60fps | 60fps | wide, normal |
normal | 720p | 60fps | 60fps | wide, normal |
normal | 720p | 120fps | 120fps | wide, normal |
slow_motion | 1080p | 60fps | 30fps | wide, normal |
slow_motion | 720p | 120fps | 30fps | wide, normal |
slow_motion | wvga | 180fps | 30fps | wide |
time_lapse | 4k | 1fps, 1/5fps, 1/10fps, 1/15fps, 1/30fps, 1/60fps, variable | 15fps, 30fps | wide |
time_lapse | 1080p | 1fps, 1/5fps, 1/10fps, 1/15fps, 1/30fps, 1/60fps, variable | 15fps, 30fps | wide |
night_lapse | 4k | 1/10fps, 1/15fps, 1/30fps, 1/60fps | 15fps, 30fps | wide |
night_lapse | 1080p | 1/10fps, 1/15fps, 1/30fps, 1/60fps | 15fps, 30fps | wide |
NOTE: Dynamic timelapse (having variable interval between capturing frames) is considered to be special case of timelapse mode. It's 'interval_secs' attribute (look at the example below) will be '0', thus notifying the client that this mode has variable capture interval).
Every 'mode' object has one optional parameter: 'scenes_disabled'. It's an array of strings, containing names of the scenes which are not supported by that particular mode. Primary example of this is night_lapse mode which doesn't support scene change. If 'scenes_disabled' attribute is omitted all existing scenes can be applied to the current mode.
Following image modes are currently supported:
Image mode | Resolution | Capture rate |
single | 16MP | |
continuous | 16MP | 1fps, 1/5fps, 1/10fps, 1/15fps, 1/30fps, 1/60fps |
burst | 16MP, 8MP | 10/1s, 10/2s |
Status code:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
GET http://<span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink">192.168.1.101</span></span></span></span></span>/api/2/capabilities/recording
and response:
{ "video": [ { "mode":"normal", "resolution":"1080p", "framerate_fps":60, "fov":"wide" }, ... { "mode":"slow_motion", "resolution":"1080p", "framerate_fps":60, "fov":"wide", "slow_motion_rate":2 }, ... { "mode":"highlight", "resolution":"1080p", "framerate_fps":30, "fov":"wide" }, ... { "mode":"time_lapse", "resolution":"4k", "framerate_fps":30, "interval_secs":1, "fov":"wide" }, ... time_lapse mode with interval_secs=0 indicates dynamic timelapse mode { "mode":"time_lapse", "resolution":"4k", "framerate_fps":30, "interval_secs":0, "fov":"wide" }, ... { "mode":"night_lapse", "resolution":"4k", "framerate_fps":30, "interval_secs":10, "fov":"wide", "scenes_disabled":["auto","bright","night","underwater","phone"] }, ], "image": [ { "mode":"single", "resolution":"16MP" }, { "mode":"continuous", "resolution":"16MP", "interval_secs":0.5 }, ... { "mode":"burst", "resolution":"16MP", "duration_secs":1, "count":10 }, ... ] }
GET /api/<versionNumber>/capabilities/transcoding
Format:
http://<baseURL>/api/<versionNumber>/capabilities/transcoding
Example:
http://192.168.1.101/api/2/capabilities/transcoding
Parameters:
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
Description:
Returns camera transcoding capabilities in JSON format. JSON object returned contains transcoding possibilities (what output resolution/framerate videos are possible to generate from given input resolution/framerate video).
Following transcoding options are currently supported:
Input resolution | Input framerate | Output resolution |
4k | 15 | 2.7k, 1080p, 720p, wvga |
2.7k | 30 | 1080p, 720p, wvga |
1080p | 30, 60 | 720p |
1080p | 30, 60 | wvga |
720p | 120, 60 | 1080p |
720p | 120, 60 | wvga |
wvga | 30 | 1080p |
wvga | 30 | 720p |
Status code:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
GET http://<span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink">192.168.1.101</span></span></span></span></span>/api/2/capabilities/transcoding
and response:
{ "transcoder": [ { "input_resolution":"4k", "input_framerate_fps":15, "output_resolution":"1080p", "output_framerate_fps":30 }, { "input_resolution":"4k", "input_framerate_fps":15, "output_resolution":"720p", "output_framerate_fps":30 }, { "input_resolution":"4k", "input_framerate_fps":15, "output_resolution":"wvga", "output_framerate_fps":30 }, ... ] }
GET /api/<versionNumber>/capabilities/scenes
Format:
http://<baseURL>/api/<versionNumber>/capabilities/scenes
Example:
http://192.168.1.101/api/2/capabilities/scenes
Parameters:
Parameter | Description | Req'd? | Type / Values |
---|---|---|---|
baseURL | Fixed address, Bandit acts like an access point with this addres. TomTom Bandit's WiFi has to be turned on. | Yes | 192.168.1.101 |
versionNumber | Service version number. The current value is 2. | Yes | 2 |
Description:
Returns camera scene and video parameter capabilities in JSON format.
Following options are currently supported for scenes:
Parameter | Description | Type |
mode | Scene mode. Possible options are: 'bright', 'night', 'underwater', 'auto' and 'phone'. | string, max. 32 characters |
brightness | Brightness value for specified mode. | integer |
contrast | Contrast value for specified mode. | integer |
hue | Hue value for specified mode. | integer |
saturation | Saturation value for specified mode. | integer |
sharpness | Sharpness value for specified mode. | integer |
Ranges (min and max values) for every video parameter are defined as a part of the 'limits' attribute.
Status code:
Code | Description |
200 | OK |
400 | Bad Request (wrong or unrecognised parameters) |
500 | Server Error (request can't be processed) |
Example request:
GET http://<span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink"><span class="nolink">192.168.1.101</span></span></span></span></span>/api/2/capabilities/scenes
and response:
{ "scenes": [ { "mode": "auto", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 }, { "mode": "bright", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 }, { "mode": "night", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 }, { "mode": "underwater", "brightness":135, "contrast":99, "hue":130, "saturation":110, "sharpness":128 }, { "mode": "phone", "brightness":124, "contrast":101, "hue":128, "saturation":130, "sharpness":126 } ], "limits": [ { "parameter":"brightness", "max":255, "min":0 }, { "parameter":"contrast", "max":255, "min":0 }, { "parameter":"hue", "max":255, "min":0 }, { "parameter":"saturation", "max":255, "min":0 }, { "parameter":"sharpness", "max":255, "min":0 } ] }