Click or drag to resize

ICameraManagerStartRecording Method

Starts recording for the given cameras. The recording type defines whether recording is started in alarm or manual mode. Recording information is tracked by the system and can be retrieved using FindRecordings(Guid). Use StopRecording(Guid, Camera) to stop a recording initiated by this method.

Namespace: Bosch.Vms.SDK
Assembly: Bosch.Vms.SDK (in Bosch.Vms.SDK.dll) Version: 1.9.0.0
Syntax
C#
bool StartRecording(
	Camera[] cameras,
	Guid recordingId,
	RecordingType recordingType,
	out Camera[] failedCameras
)

Parameters

cameras  Camera
Cameras for which recording is to be started.
recordingId  Guid
The unique ID of recording.
recordingType  RecordingType
Type of the recording that is to be started.
failedCameras  Camera
On return contains cameras (from cameras) for which recording was not started because configuration data implies that recording is not possible for them (see also section "Remarks").

Return Value

Boolean
True, if recording succeeded on all cameras, false, if some of them failed.
Exceptions
ExceptionCondition
SdkException Thrown in following cases:
  • if cameras is null or if it refers to an empty array or all specified cameras are absent in the configuration or not permitted to caller
  • if "recordingId" is an empty Guid or if it is already in use
  • if any other runtime problem occurs which causes an exception
See also the inner exception for more details.
UnauthorizedAccessSdkException Thrown if operation is not permitted to caller.
Remarks
Important: The recording id needs to be unique and must not have been used in a previous call to this method. Also, do not try to call StopRecording(Guid, Camera) when no camera supplied to this method started recording (check the return value).

Avoid nested manual recordings on the same camera. The first call to StopRecording(Guid, Camera) will stop it, even if there was more than one call to this method requesting manual recording (nested alarm recordings on a camera are handled correctly). It is not possible to stop manual recording triggered for a VRM based camera using StopRecording(Guid, Camera). Manual recordings of VRM based cameras always last for the configured "Post Event Time". Manual recordings of NVR based cameras last for the configured "Manual Recording Time" unless stopped using StopRecording(Guid, Camera).

Concerning output parameter failedCameras: the method puts only cameras into this array for which the configuration data about the camera implies that recording is inherently impossible for this camera. Examples are:

  • The camera does not exist in the currently active configuration.
  • The camera is configured as "live-only" camera.
  • The camera is connected to a video matrix and thus is also a "live-only" camera. (See also IMatrixManager)
  • The camera is assigned to a VRM which is configured incompletely (no storage is assigned or the storage has no LUNs)
  • The camera belongs to a stand-alone recorder (DVR, Vidos); BVMS does not control recording on stand-alone recorders.
Please note that at runtime there might arise problems which prevent recording (network problems, storage problems, hardware problems, local-storage encoders without storage medium, etc.). The method does not check for all these potential problems nor does it wait and check whether recording has been started successfully for the camera, because these checks would block the call for a long time. A camera is not added to the array failedCameras if recording could not be started due to such a runtime problem.

See Also