ts-onvif
Version:
Client to ONVIF devices
132 lines (131 loc) • 5.54 kB
TypeScript
/**
* Recording ver10 module
* @author Andrew D.Laptev <a.d.laptev@gmail.com>
* @see https://www.onvif.org/ver10/recording.wsdl
*/
import { Onvif } from './onvif';
import Service from './service';
import { GetRecordingsResponseItem, GetRecordingJobsResponseItem, RecordingConfiguration, RecordingJobConfiguration, TrackConfiguration } from './interfaces/onvif';
import { ReferenceToken } from './interfaces/common';
import { Capabilities, RecordingOptions, CreateRecording, CreateRecordingJob, CreateRecordingJobResponse, CreateTrack, DeleteRecording, DeleteRecordingJob, DeleteTrack, ExportRecordedData, ExportRecordedDataResponse, GetExportRecordedDataState, GetExportRecordedDataStateResponse, GetRecordingConfiguration, GetRecordingJobConfiguration, GetRecordingJobState, GetRecordingOptions, GetTrackConfiguration, OverrideSegmentDuration, SetRecordingConfiguration, SetRecordingJobConfiguration, SetRecordingJobConfigurationResponse, SetRecordingJobMode, SetTrackConfiguration, StopExportRecordedData, StopExportRecordedDataResponse } from './interfaces/recording';
/**
* Recording service
*/
export default class Recording extends Service {
constructor(onvif: Onvif);
private static recordingSourceToBuild;
private static recordingConfigurationToBuild;
private static trackConfigurationToBuild;
private static recordingJobTrackToBuild;
private static recordingJobSourceToBuild;
private static recordingJobConfigurationToBuild;
private static searchScopeToBuild;
private static storageDestinationToBuild;
/**
* Returns the capabilities of the recording service.
*/
getServiceCapabilities(): Promise<Capabilities>;
/**
* Create a new recording.
* @param options
*/
createRecording({ recordingConfiguration }: CreateRecording): Promise<ReferenceToken>;
/**
* Delete a recording.
* @param options
*/
deleteRecording({ recordingToken }: DeleteRecording): Promise<void>;
/**
* Return descriptions of all recordings on the device.
*/
getRecordings(): Promise<GetRecordingsResponseItem[]>;
/**
* Change the configuration of a recording.
* @param options
*/
setRecordingConfiguration({ recordingToken, recordingConfiguration, }: SetRecordingConfiguration): Promise<void>;
/**
* Retrieve the recording configuration for a recording.
* @param options
*/
getRecordingConfiguration({ recordingToken }: GetRecordingConfiguration): Promise<RecordingConfiguration>;
/**
* Return recording options for a recording token.
* @param options
*/
getRecordingOptions({ recordingToken }: GetRecordingOptions): Promise<RecordingOptions>;
/**
* Create a new track within a recording.
* @param options
*/
createTrack({ recordingToken, trackConfiguration }: CreateTrack): Promise<ReferenceToken>;
/**
* Remove a track from a recording.
* @param options
*/
deleteTrack({ recordingToken, trackToken }: DeleteTrack): Promise<void>;
/**
* Retrieve the configuration for a specific track.
* @param options
*/
getTrackConfiguration({ recordingToken, trackToken }: GetTrackConfiguration): Promise<TrackConfiguration>;
/**
* Change the configuration of a track.
* @param options
*/
setTrackConfiguration({ recordingToken, trackToken, trackConfiguration, }: SetTrackConfiguration): Promise<void>;
/**
* Create a new recording job.
* @param options
*/
createRecordingJob({ jobConfiguration }: CreateRecordingJob): Promise<CreateRecordingJobResponse>;
/**
* Remove a recording job.
* @param options
*/
deleteRecordingJob({ jobToken }: DeleteRecordingJob): Promise<void>;
/**
* Return a list of all recording jobs on the device.
*/
getRecordingJobs(): Promise<GetRecordingJobsResponseItem[]>;
/**
* Change the configuration for a recording job.
* @param options
*/
setRecordingJobConfiguration({ jobToken, jobConfiguration, }: SetRecordingJobConfiguration): Promise<SetRecordingJobConfigurationResponse>;
/**
* Return the current configuration for a recording job.
* @param options
*/
getRecordingJobConfiguration({ jobToken }: GetRecordingJobConfiguration): Promise<RecordingJobConfiguration>;
/**
* Change the mode of a recording job.
* @param options
*/
setRecordingJobMode({ jobToken, mode }: SetRecordingJobMode): Promise<void>;
/**
* Return the state of a recording job.
* @param options
*/
getRecordingJobState({ jobToken }: GetRecordingJobState): Promise<any>;
/**
* Export selected recordings to a storage target.
* @param options
*/
exportRecordedData(options: ExportRecordedData): Promise<ExportRecordedDataResponse>;
/**
* Stop an ExportRecordedData operation.
* @param options
*/
stopExportRecordedData({ operationToken }: StopExportRecordedData): Promise<StopExportRecordedDataResponse>;
/**
* Retrieve the state of an ExportRecordedData operation.
* @param options
*/
getExportRecordedDataState({ operationToken, }: GetExportRecordedDataState): Promise<GetExportRecordedDataStateResponse>;
/**
* Request a temporary override of the target segment duration for a recording.
* @param options
*/
overrideSegmentDuration({ targetSegmentDuration, expiration, recordingConfiguration, }: OverrideSegmentDuration): Promise<void>;
}