UNPKG

onvif-nvt-ts

Version:

Wrapper for ONVIF spec to control NVT (Network Video Transitter) devices. Forked and added TypeScript support from onvif-nvt.

82 lines (81 loc) 3.22 kB
import URL from 'url-parse'; import Analytics from './modules/analytics'; import Core from './modules/core'; import Events from './modules/events'; import Media from './modules/media'; import Media2 from './modules/media2'; import Ptz from './modules/ptz'; /** * Wrapper class for all onvif modules to manage an Onvif device (camera). */ export default class Camera { core?: Core; analytics?: Analytics; events?: Events; media?: Media; media2?: Media2; ptz?: Ptz; rootPath: any; serviceAddress: URL; timeDiff: number; address: any; port: any; username: any; password: any; deviceInformation: any; profileList: any[]; defaultProfile: any; /** * Add a module to Camera. The available modules are: * <ul> * <li>analytics - automatically added based on capabilities</li> * <li>core - automatically added</li> * <li>events - automatically added based on capabilities</li> * <li>media - automatically added based on capabilities</li> * <li>media2</li> * <li>ptz - automatically added based on capabilities</li> * </ul> * @param {string} name The name of the module. */ add(name: string): Promise<void>; /** * Connect to the specified camera. * @param address The camera's address * @param port Optional port (80 used if this is null) * @param username The username for the account on the camera. This is optional if your camera does not require a username. * @param password The password for the account on the camera. This is optional if your camera does not require a password. * @param servicePath The service path for the camera. If null or 'undefined' the default path according to the ONVIF spec will be used. */ connect(address: string, port?: number, username?: string, password?: string, servicePath?: string): Promise<unknown>; /** * Change or remove authentication. * @param username The username for the account on the camera. This is optional if your camera does not require a username. * @param password The password for the account on the camera. This is optional if your camera does not require a password. */ setAuth(username?: string, password?: string): void; /** * Returns the ONVIF device's informaton. Available only after connection. */ getInformation(): any; /** * Returns the default profile that will be used when one is not supplied to functions that require it. Available after connection. */ getDefaultProfile(): any; coreGetSystemDateAndTime(): Promise<void>; coreGetServices(): Promise<void>; checkForProxy(service: { XAddr: string; }): void; coreGetCapabilities(): Promise<void>; coreGetDeviceInformation(): Promise<void>; coreGetScopes(): Promise<void>; mediaGetProfiles(): Promise<void>; parseProfiles(profiles: any | any[]): any[]; /** * Returns an array of profiles. Available after connection. * The profiles will contain media stream URIs and snapshot URIs for each profile. */ getProfiles(): any[]; mediaGetStreamURI(): Promise<void>; mediaGetSnapshotUri(): Promise<void>; }