VideoOS.Platform.ConfigurationItems.Camera Class Reference

More...

Inheritance diagram for VideoOS.Platform.ConfigurationItems.Camera:
VideoOS.Platform.ConfigurationItems.IConfigurationItem VideoOS.Platform.ConfigurationItems.IConfigurationChildItem

Public Member Functions

 Camera (FQID fqid)
 Construct the class from a MIP FQID - note that not all configuration items have a corresponding FQID.
 
 Camera (ServerId serverId, ConfigurationItem camera)
 Construct the class from serverId of the Management Server that owns the configuration, and the already returned ConfigurationItem.
 
 Camera (ServerId serverId, string path)
 Construct the class from serverId of the Management Server that owns the configuration, and the path of the item.
 
ChangeDeviceRecordingStorageServerTask ChangeDeviceRecordingStorage ()
 Change storage for device.
 
ServerTask ChangeDeviceRecordingStorage (String itemSelection, bool moveData)
 Change storage for device.
 
ChangeSecurityPermissionsServerTask ChangeSecurityPermissions ()
 Edit permissions.
 
ServerTask ChangeSecurityPermissions (String userPath)
 Edit permissions.
 
ClassCollectionServerTask GetOtherRecordingServersWithMedia ()
 Get recording servers with media.
 
ClassCollectionServerTask GetOtherRecordingStoragesWithMedia ()
 [DEPRECATED] This function is deprecated and should not be used. As an alternative, use the value of the 'RecordingStorage' property to get the configured recording storage for the device.
 
ServerTask GetPtzAbsolutePosition ()
 Get absolute position.
 
ServerTask JpegGetLive (int width, int height)
 Get a single JPEG from live stream.
 
RetrieveEdgeStorageServerTask RetrieveEdgeStorage ()
 Retrieve recordings from edge storage.
 
ServerTask RetrieveEdgeStorage (DateTime startTime, DateTime endTime)
 Retrieve recordings from edge storage.
 
ServerTask RetrieveEdgeStorage (DateTime startTime, DateTime endTime, String identifier, Collection< string > relatedTasks)
 Retrieve recordings from edge storage.
 
ServerTask SendDriverCommand (string command, string parameter, int timeOut)
 Send driver command to device.
 
ServerTask SetPtzAbsolutePosition (double pan, double tilt, double zoom, double speed, bool allowRepeats)
 Set absolute position.
 
ServerTask TruncateStorage ()
 Delete all recordings for device on storage.
 
TruncateStorageOnOtherRecordingServerServerTask TruncateStorageOnOtherRecordingServer ()
 Delete all recordings for device on another recording server.
 
ServerTask TruncateStorageOnOtherRecordingServer (String itemSelection)
 Delete all recordings for device on another recording server.
 
- Public Member Functions inherited from VideoOS.Platform.ConfigurationItems.IConfigurationItem
void ClearChildrenCache ()
 Clear the internal cache of children. Can be used to force a new set of children to be fetched from the server at next access.
 
ServerTask ExecuteMethod (string methodId)
 Execute the provided method. The method id must be one of the defined values in the Methods property.
 
void FillChildren (string[] itemTypes)
 Fill all children and grand-children - as long as the itemtype is contained in itemType parameter.
 
void FillChildren (string[] itemTypes, ItemFilter[] itemFilters)
 Fill all children and grand-children - as long as the itemtype is contained in itemType parameter and filters match. If multiple filters are defined for same itemtype, all must match for the item to be included ('and' operation).
If no filter is defined for an ItemType, then all items of that type is filled.
 
void Save ()
 Will save all updated values to server.
 
ValidateResult ValidateItem ()
 Validate the current content.
 
- Public Member Functions inherited from VideoOS.Platform.ConfigurationItems.IConfigurationChildItem
string GetProperty (string key)
 Return a property value as string, if key is not found the return value will be null.
 
ICollection< string > GetPropertyKeys ()
 Get a collection of all available property keys.
 
List< ValueTypeInfoGetValueTypeInfoList (string propertyKey)
 Get defined ValueTypeInfo for a given property. If no ValueTypeInfo is available, an empty list is returned.
 
void SetProperty (string key, string content)
 Sets the value of a property (all is string format here)
 
override string ToString ()
 Display the 'DisplayName' is the default ToString()
 

Properties

int Channel [get]
 Channel.
 
ClientSettingsFolder ClientSettingsFolder [get]
 Return the single folder item of the given ItemType.
 
double CoverageDepth [get, set]
 Depth. Indicate the viewing depth of the device.
 
double CoverageDirection [get, set]
 Direction. Indicate the viewing direction of the device.
 
double CoverageFieldOfView [get, set]
 Field of view. Indicate the field of view of the device.
 
DateTime CreatedDate [get]
 [RESERVED] Reserved for future use
 
CustomPropertiesFolder CustomPropertiesFolder [get]
 Return the single folder item of the given ItemType.
 
DeviceDriverSettingsFolder DeviceDriverSettingsFolder [get]
 Return the single folder item of the given ItemType.
 
bool EdgeStorageEnabled [get, set]
 Remote recording enabled.
 
bool EdgeStoragePlaybackEnabled [get, set]
 Remote recording playback.
 
bool Enabled [get, set]
 Indicate if this item is active in the VMS system, e.g. enabled.
 
String FailoverSetting [get, set]
 Failover setting. Specify how the device is operating on a failover recording server. . Valid values are available in the FailoverSettingValues property dictionary.
 
Dictionary< string, string > FailoverSettingValues [get]
 A list of valid names/values for the FailoverSetting property.
 
FisheyeLensFolder FisheyeLensFolder [get]
 Return the single folder item of the given ItemType.
 
string GisPoint [get, set]
 Device position. Device position. Position of device in longitude, latitude and potentially altitude.
The format is "POINT (LONGITUDE LATITUDE)" and if you want to clear the coordinates, the value to use is "POINT EMPTY".
Examples: "POINT (55.656932878513 12.3763545558449)" "POINT EMPTY"
Can also include altitude, if so the format is "POINT (LONGITUDE LATITUDE ALTITUDE)"

 
HardwareDeviceEventFolder HardwareDeviceEventFolder [get]
 Return the single folder item of the given ItemType.
 
int Icon [get, set]
 Icon identifier. The relevant device icon to show in Smart Map. Values between 0-9 for cameras, 0-6 for input devices, 0-3 for microphones and 0-3 for outputs. If invalid value is given, Smart Map have a fallback icon.
 
string Id [get]
 ID.
 
DateTime LastModified [get]
 Last modified.
 
bool ManualRecordingTimeoutEnabled [get, set]
 Manual recording timeout enabled.
 
int ManualRecordingTimeoutMinutes [get, set]
 Manual recording timeout in minutes.
 
MotionDetectionFolder MotionDetectionFolder [get]
 Return the single folder item of the given ItemType.
 
PatrollingProfileFolder PatrollingProfileFolder [get]
 Return the single folder item of the given ItemType.
 
bool PrebufferEnabled [get, set]
 Prebuffer enabled.
 
bool PrebufferInMemory [get, set]
 Prebuffer in memory.
 
int PrebufferSeconds [get, set]
 Prebuffer seconds.
 
PrivacyProtectionFolder PrivacyProtectionFolder [get]
 Return the single folder item of the given ItemType.
 
bool PtzEnabled [get]
 PTZ enabled.
 
PtzPresetFolder PtzPresetFolder [get]
 Return the single folder item of the given ItemType.
 
bool RecordingEnabled [get, set]
 Recording enabled.
 
double RecordingFramerate [get, set]
 Recording frame rate.
 
String RecordingStorage [get]
 Path. Contains the path to the related recording storage.
 
bool RecordKeyframesOnly [get, set]
 Record keyframes only.
 
bool RecordOnRelatedDevices [get, set]
 Record on related devices.
 
string ShortName [get, set]
 Short name. Used as name in the user interface where appropriate.
 
ICollection< StreamChildItemStreamDefinitions [get]
 Returns a collection that defines how each of the active streams are configured. The property collection contains the specific settings for the stream, like 'Codec', 'FPS', 'Resolution' and more for a camera stream.
 
StreamFolder StreamFolder [get]
 Return the single folder item of the given ItemType.
 
ICollection< StreamUsageChildItemStreamUsages [get]
 Returns a collection that defines how each of the active streams are used, e.g. for live and/or recording.
 
- Properties inherited from VideoOS.Platform.ConfigurationItems.IConfigurationItem
Guid Guid [get]
 Returns the id property or part of the path, when available. When no id is available this will be Guid.Empty. This is relevant for some items of ItemCategory.ChildItem where no property with key = "Id" exists and path does not contains a guid.
 
Collection< string > Methods [get]
 The available methods for this class.
 
- Properties inherited from VideoOS.Platform.ConfigurationItems.IConfigurationChildItem
string Description [get, set]
 Description.
 
virtual string DisplayName [get]
 Name of this ConfigurationItem in user readable format. Usually the same as property with key = "Name".
 
string ItemCategory [get]
 Return the item category for this item. This can be used to understand how multiple items are fetched and saved together. Only ItemCategory == 'Item' can be saved.
 
string Name [get, set]
 Name.
 
string ParentItemPath [get]
 Get hold of the next real parent path, e.g. skip any 'Folder' type parent.
 
string ParentPath [get]
 The path for the parent of this ConfigurationItem.
 
string Path [get]
 The identification of this item.

 
ServerId ServerId [get, set]
 Contains the ServerId of the Management Server holding this item.
 

Detailed Description

Constructor & Destructor Documentation

◆ Camera() [1/3]

VideoOS.Platform.ConfigurationItems.Camera.Camera ( ServerId serverId,
ConfigurationItem camera )
inline

Construct the class from serverId of the Management Server that owns the configuration, and the already returned ConfigurationItem.

Parameters
serverIdIdentify the Management Server that owns the configuration
cameraThe ConfigurationItem returned from elsewhere
Exceptions
ArgumentMIPExceptionWhen LoginSettings not found for serverId

◆ Camera() [2/3]

VideoOS.Platform.ConfigurationItems.Camera.Camera ( ServerId serverId,
string path )
inline

Construct the class from serverId of the Management Server that owns the configuration, and the path of the item.

This construction will contact the server and read the specified item.

Parameters
serverIdIdentify the Management Server that owns the configuration
pathThe path of a specific item
Exceptions
MIPExceptionRepresents a number of possible exceptions. Possible exceptions can be found via the inherited exceptions - like PathNotFoundMIPException

◆ Camera() [3/3]

VideoOS.Platform.ConfigurationItems.Camera.Camera ( FQID fqid)
inline

Construct the class from a MIP FQID - note that not all configuration items have a corresponding FQID.

This construction will contact the server and read the specified item.

Parameters
fqidIdentify the MIP item
Exceptions
MIPExceptionRepresents a number of possible exceptions. Possible exceptions can be found via the inherited exceptions - like PathNotFoundMIPException

Member Function Documentation

◆ ChangeDeviceRecordingStorage() [1/2]

ChangeDeviceRecordingStorageServerTask VideoOS.Platform.ConfigurationItems.Camera.ChangeDeviceRecordingStorage ( )
inline

Change storage for device.

◆ ChangeDeviceRecordingStorage() [2/2]

ServerTask VideoOS.Platform.ConfigurationItems.Camera.ChangeDeviceRecordingStorage ( String itemSelection,
bool moveData )
inline

Change storage for device.

Parameters
itemSelectionSelect a storage to move to
moveDataThis property is deprecated and will be ignored.

◆ ChangeSecurityPermissions() [1/2]

ChangeSecurityPermissionsServerTask VideoOS.Platform.ConfigurationItems.Camera.ChangeSecurityPermissions ( )
inline

Edit permissions.

◆ ChangeSecurityPermissions() [2/2]

ServerTask VideoOS.Platform.ConfigurationItems.Camera.ChangeSecurityPermissions ( String userPath)
inline

Edit permissions.

Parameters
userPathUser path. User path format: /User[SID]. 'SID' can contain role ID.

◆ GetOtherRecordingServersWithMedia()

ClassCollectionServerTask VideoOS.Platform.ConfigurationItems.Camera.GetOtherRecordingServersWithMedia ( )
inline

Get recording servers with media.

◆ GetOtherRecordingStoragesWithMedia()

ClassCollectionServerTask VideoOS.Platform.ConfigurationItems.Camera.GetOtherRecordingStoragesWithMedia ( )
inline

[DEPRECATED] This function is deprecated and should not be used. As an alternative, use the value of the 'RecordingStorage' property to get the configured recording storage for the device.

◆ GetPtzAbsolutePosition()

ServerTask VideoOS.Platform.ConfigurationItems.Camera.GetPtzAbsolutePosition ( )
inline

Get absolute position.

◆ JpegGetLive()

ServerTask VideoOS.Platform.ConfigurationItems.Camera.JpegGetLive ( int width,
int height )
inline

Get a single JPEG from live stream.

Parameters
widthThe maximum width of the image
heightThe maximun height of the image

◆ RetrieveEdgeStorage() [1/3]

RetrieveEdgeStorageServerTask VideoOS.Platform.ConfigurationItems.Camera.RetrieveEdgeStorage ( )
inline

Retrieve recordings from edge storage.

◆ RetrieveEdgeStorage() [2/3]

ServerTask VideoOS.Platform.ConfigurationItems.Camera.RetrieveEdgeStorage ( DateTime startTime,
DateTime endTime )
inline

Retrieve recordings from edge storage.

Parameters
startTimeStart time
endTimeEnd time

◆ RetrieveEdgeStorage() [3/3]

ServerTask VideoOS.Platform.ConfigurationItems.Camera.RetrieveEdgeStorage ( DateTime startTime,
DateTime endTime,
String identifier,
Collection< string > relatedTasks )
inline

Retrieve recordings from edge storage.

Parameters
startTimeStart time
endTimeEnd time
identifierJob identifier. Must be either empty or a valid GUID
relatedTasksRelated edge retrieval tasks. Identifiers of related edge retrieval tasks. Must be a list of valid GUIDs.

◆ SendDriverCommand()

ServerTask VideoOS.Platform.ConfigurationItems.Camera.SendDriverCommand ( string command,
string parameter,
int timeOut )
inline

Send driver command to device.

Parameters
commandThe command to be send by the driver to the device, as a relative URI
parameterThe GET query string or POST data. Do not prepend the query string with ?
timeOutTimeout in milliseconds. If 0 this is a fire and forget and the call will just return right away without waiting for a response

◆ SetPtzAbsolutePosition()

ServerTask VideoOS.Platform.ConfigurationItems.Camera.SetPtzAbsolutePosition ( double pan,
double tilt,
double zoom,
double speed,
bool allowRepeats )
inline

Set absolute position.

Parameters
panPan value (between -1.0 and 1.0)
tiltTilt value (between -1.0 and 1.0)
zoomZoom value (between 0.0 and 1.0)
speedSpeed to use during movement (between 0.0 and 1.0)
allowRepeatsIf false repeated requests with identical values will be ignored

◆ TruncateStorage()

ServerTask VideoOS.Platform.ConfigurationItems.Camera.TruncateStorage ( )
inline

Delete all recordings for device on storage.

◆ TruncateStorageOnOtherRecordingServer() [1/2]

TruncateStorageOnOtherRecordingServerServerTask VideoOS.Platform.ConfigurationItems.Camera.TruncateStorageOnOtherRecordingServer ( )
inline

Delete all recordings for device on another recording server.

◆ TruncateStorageOnOtherRecordingServer() [2/2]

ServerTask VideoOS.Platform.ConfigurationItems.Camera.TruncateStorageOnOtherRecordingServer ( String itemSelection)
inline

Delete all recordings for device on another recording server.

Parameters
itemSelectionSelect recording server

Property Documentation

◆ Channel

int VideoOS.Platform.ConfigurationItems.Camera.Channel
get

Channel.

◆ ClientSettingsFolder

ClientSettingsFolder VideoOS.Platform.ConfigurationItems.Camera.ClientSettingsFolder
get

Return the single folder item of the given ItemType.

◆ CoverageDepth

double VideoOS.Platform.ConfigurationItems.Camera.CoverageDepth
getset

Depth. Indicate the viewing depth of the device.

◆ CoverageDirection

double VideoOS.Platform.ConfigurationItems.Camera.CoverageDirection
getset

Direction. Indicate the viewing direction of the device.

◆ CoverageFieldOfView

double VideoOS.Platform.ConfigurationItems.Camera.CoverageFieldOfView
getset

Field of view. Indicate the field of view of the device.

◆ CreatedDate

DateTime VideoOS.Platform.ConfigurationItems.Camera.CreatedDate
get

[RESERVED] Reserved for future use

◆ CustomPropertiesFolder

CustomPropertiesFolder VideoOS.Platform.ConfigurationItems.Camera.CustomPropertiesFolder
get

Return the single folder item of the given ItemType.

◆ DeviceDriverSettingsFolder

DeviceDriverSettingsFolder VideoOS.Platform.ConfigurationItems.Camera.DeviceDriverSettingsFolder
get

Return the single folder item of the given ItemType.

◆ EdgeStorageEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.EdgeStorageEnabled
getset

Remote recording enabled.

◆ EdgeStoragePlaybackEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.EdgeStoragePlaybackEnabled
getset

Remote recording playback.

◆ Enabled

bool VideoOS.Platform.ConfigurationItems.Camera.Enabled
getset

Indicate if this item is active in the VMS system, e.g. enabled.

◆ FailoverSetting

String VideoOS.Platform.ConfigurationItems.Camera.FailoverSetting
getset

Failover setting. Specify how the device is operating on a failover recording server. . Valid values are available in the FailoverSettingValues property dictionary.

◆ FailoverSettingValues

Dictionary<string, string> VideoOS.Platform.ConfigurationItems.Camera.FailoverSettingValues
get

A list of valid names/values for the FailoverSetting property.

◆ FisheyeLensFolder

FisheyeLensFolder VideoOS.Platform.ConfigurationItems.Camera.FisheyeLensFolder
get

Return the single folder item of the given ItemType.

◆ GisPoint

string VideoOS.Platform.ConfigurationItems.Camera.GisPoint
getset

Device position. Device position. Position of device in longitude, latitude and potentially altitude.
The format is "POINT (LONGITUDE LATITUDE)" and if you want to clear the coordinates, the value to use is "POINT EMPTY".
Examples: "POINT (55.656932878513 12.3763545558449)" "POINT EMPTY"
Can also include altitude, if so the format is "POINT (LONGITUDE LATITUDE ALTITUDE)"

◆ HardwareDeviceEventFolder

HardwareDeviceEventFolder VideoOS.Platform.ConfigurationItems.Camera.HardwareDeviceEventFolder
get

Return the single folder item of the given ItemType.

◆ Icon

int VideoOS.Platform.ConfigurationItems.Camera.Icon
getset

Icon identifier. The relevant device icon to show in Smart Map. Values between 0-9 for cameras, 0-6 for input devices, 0-3 for microphones and 0-3 for outputs. If invalid value is given, Smart Map have a fallback icon.

◆ Id

string VideoOS.Platform.ConfigurationItems.Camera.Id
get

ID.

◆ LastModified

DateTime VideoOS.Platform.ConfigurationItems.Camera.LastModified
get

Last modified.

◆ ManualRecordingTimeoutEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.ManualRecordingTimeoutEnabled
getset

Manual recording timeout enabled.

◆ ManualRecordingTimeoutMinutes

int VideoOS.Platform.ConfigurationItems.Camera.ManualRecordingTimeoutMinutes
getset

Manual recording timeout in minutes.

◆ MotionDetectionFolder

MotionDetectionFolder VideoOS.Platform.ConfigurationItems.Camera.MotionDetectionFolder
get

Return the single folder item of the given ItemType.

◆ PatrollingProfileFolder

PatrollingProfileFolder VideoOS.Platform.ConfigurationItems.Camera.PatrollingProfileFolder
get

Return the single folder item of the given ItemType.

◆ PrebufferEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.PrebufferEnabled
getset

Prebuffer enabled.

◆ PrebufferInMemory

bool VideoOS.Platform.ConfigurationItems.Camera.PrebufferInMemory
getset

Prebuffer in memory.

◆ PrebufferSeconds

int VideoOS.Platform.ConfigurationItems.Camera.PrebufferSeconds
getset

Prebuffer seconds.

◆ PrivacyProtectionFolder

PrivacyProtectionFolder VideoOS.Platform.ConfigurationItems.Camera.PrivacyProtectionFolder
get

Return the single folder item of the given ItemType.

◆ PtzEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.PtzEnabled
get

PTZ enabled.

◆ PtzPresetFolder

PtzPresetFolder VideoOS.Platform.ConfigurationItems.Camera.PtzPresetFolder
get

Return the single folder item of the given ItemType.

◆ RecordingEnabled

bool VideoOS.Platform.ConfigurationItems.Camera.RecordingEnabled
getset

Recording enabled.

◆ RecordingFramerate

double VideoOS.Platform.ConfigurationItems.Camera.RecordingFramerate
getset

Recording frame rate.

◆ RecordingStorage

String VideoOS.Platform.ConfigurationItems.Camera.RecordingStorage
get

Path. Contains the path to the related recording storage.

◆ RecordKeyframesOnly

bool VideoOS.Platform.ConfigurationItems.Camera.RecordKeyframesOnly
getset

Record keyframes only.

◆ RecordOnRelatedDevices

bool VideoOS.Platform.ConfigurationItems.Camera.RecordOnRelatedDevices
getset

Record on related devices.

◆ ShortName

string VideoOS.Platform.ConfigurationItems.Camera.ShortName
getset

Short name. Used as name in the user interface where appropriate.

◆ StreamDefinitions

ICollection<StreamChildItem> VideoOS.Platform.ConfigurationItems.Camera.StreamDefinitions
get

Returns a collection that defines how each of the active streams are configured. The property collection contains the specific settings for the stream, like 'Codec', 'FPS', 'Resolution' and more for a camera stream.

Please note that this should only be used for reading the settings. If you need to update them, you should go through the DeviceDriverSettingsFolder.

Replaces code like:
var streamDefinitions = camera.DeviceDriverSettingsFolder.DeviceDriverSettings.First().StreamChildItems; With
var streamDefinitions = myCamera.StreamDefinitions

◆ StreamFolder

StreamFolder VideoOS.Platform.ConfigurationItems.Camera.StreamFolder
get

Return the single folder item of the given ItemType.

◆ StreamUsages

ICollection<StreamUsageChildItem> VideoOS.Platform.ConfigurationItems.Camera.StreamUsages
get

Returns a collection that defines how each of the active streams are used, e.g. for live and/or recording.

Replaces code like:
var streamUsages = myCamera.StreamFolder.Streams?.FirstOrDefault()?.StreamUsageChildItems;
With
var streamUsages = myCamera.StreamUsages