UNPKG

ts-onvif

Version:

Client to ONVIF devices

75 lines 2.4 kB
"use strict"; /** * Replay ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/replay.wsdl */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const service_1 = __importDefault(require("./service")); const toOnvifXMLSchemaObject_1 = require("./utils/toOnvifXMLSchemaObject"); /** * Replay service */ class Replay extends service_1.default { constructor(onvif) { super(onvif, 'replay'); } static resolveStreamSetup(options) { if (options.streamSetup) { return options.streamSetup; } return { stream: options.stream ?? 'RTP-Unicast', transport: { protocol: options.protocol ?? 'RTSP' }, }; } /** * Returns the capabilities of the replay service. */ async getServiceCapabilities() { const response = await this.request({ GetServiceCapabilities: {}, }); return response.getServiceCapabilitiesResponse?.capabilities ?? {}; } /** * Requests a URI that can be used to initiate playback of a recorded stream using RTSP. * @param options */ async getReplayUri(options) { const response = await this.request({ GetReplayUri: { StreamSetup: (0, toOnvifXMLSchemaObject_1.streamSetupToBuild)(Replay.resolveStreamSetup(options)), RecordingToken: options.recordingToken, }, }); return response.getReplayUriResponse.uri; } /** * Returns the current configuration of the replay service. */ async getReplayConfiguration() { const response = await this.request({ GetReplayConfiguration: {}, }); return response.getReplayConfigurationResponse.configuration; } /** * Changes the current configuration of the replay service. * @param options */ async setReplayConfiguration({ configuration }) { return this.request({ SetReplayConfiguration: { Configuration: { SessionTimeout: configuration.sessionTimeout, }, }, }); } } exports.default = Replay; //# sourceMappingURL=replay.js.map