UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

168 lines (167 loc) 7.83 kB
import { IClient, TResponse } from './internal/types'; import { TStreamSaveList, TTrackerSaveList, TClipSaveList, TPlaylistSaveList, TCameraOptions, TGlobalAudioSettings, TSecondaryAudioSettings } from './types/CamSwitcherAPI'; import { TAudioChannel, THttpRequestOptions, TProxyParams, TStorageType } from './types/common'; import { ProxyClient } from './internal/ProxyClient'; export declare class CamSwitcherAPI<Client extends IClient<TResponse, any>> { private client; private CustomFormData; private vapixAgent; constructor(client: Client, CustomFormData?: { new (form?: HTMLFormElement | undefined, submitter?: HTMLElement | null | undefined): FormData; prototype: FormData; }); static getProxyPath: () => string; static getWsEventsPath: () => string; static getClipPreviewPath: (clipId: string, storage: TStorageType) => string; getClient(proxyParams?: TProxyParams): Client | ProxyClient<Client>; checkCameraTime(options?: THttpRequestOptions): Promise<boolean>; getNetworkCameraList(options?: THttpRequestOptions): Promise<{ name: string; ip: string; }[]>; generateSilence(sampleRate: number, channels: TAudioChannel, options?: THttpRequestOptions): Promise<void>; getMaxFps(source: number, options?: THttpRequestOptions): Promise<number>; getStorageInfo(options?: THttpRequestOptions): Promise<{ storage: "FLASH" | "SD_DISK"; writable: boolean; size: number; available: number; }[]>; wsAuthorization(options?: THttpRequestOptions): Promise<string>; getOutputInfo(options?: THttpRequestOptions): Promise<{ rtspUrl: string; ws: string; wsInitialMessage: string; }>; getAudioPushInfo(options?: THttpRequestOptions): Promise<{ ws: string; wsInitialMessage: string; }>; getStreamSaveList(options?: THttpRequestOptions): Promise<Record<string, { ip?: string | undefined; niceName?: string | undefined; mdnsName?: string | undefined; port?: number | undefined; enabled?: boolean | undefined; auth?: string | undefined; query?: string | undefined; channel?: "audio" | "video" | "av" | undefined; keyboard?: Record<string, string | null> | undefined; sortIndexOverview?: number | undefined; viewNumber?: number | undefined; }>>; getClipSaveList(options?: THttpRequestOptions): Promise<Record<string, { niceName?: string | undefined; channel?: "audio" | "video" | "av" | undefined; keyboard?: Record<string, string | null> | undefined; sortIndexOverview?: number | undefined; }>>; getPlaylistSaveList(options?: THttpRequestOptions): Promise<Record<string, { niceName?: string | undefined; channel?: "audio" | "video" | "av" | undefined; keyboard?: Record<string, string | null> | undefined; sortIndexOverview?: number | undefined; isFavourite?: boolean | undefined; sortIndexFavourite?: number | undefined; play_type?: "PLAY_ALL" | "PLAY_ALL_LOOP" | "PLAY_ALL_SHUFFLED" | "PLAY_ALL_LOOP_SHUFFLED" | "PLAY_ONE_RANDOM" | undefined; default?: boolean | undefined; stream_list?: { repeat: number; video: { storage?: "FLASH" | "SD_DISK" | undefined; stream_name?: string | undefined; clip_name?: string | undefined; tracker_name?: string | undefined; }; id: string; isTimeoutCustom: boolean; ptz_preset_pos_name: string; timeout: number; audio?: { storage?: "FLASH" | "SD_DISK" | undefined; stream_name?: string | undefined; clip_name?: string | undefined; tracker_name?: string | undefined; } | undefined; }[] | undefined; }>>; getTrackerSaveList(options?: THttpRequestOptions): Promise<Record<string, { name?: string | undefined; channel?: "audio" | "video" | "av" | undefined; keyboard?: Record<string, string | null> | undefined; sortIndexOverview?: number | undefined; viewNumber?: number | undefined; id?: string | undefined; previewId?: string | undefined; duration?: number | undefined; width?: number | undefined; height?: number | undefined; fps?: number | undefined; motion_history_frames?: number | undefined; include_zone?: number[][] | undefined; include_node_ids?: string[] | undefined; camera_list?: { name: string; id: string; overview: boolean; zone: number[]; playlist_name: string; ptz_preset_pos_no: number; }[] | undefined; camera_view_number?: number | undefined; }>>; setStreamSaveList(data: TStreamSaveList, options?: THttpRequestOptions): Promise<void>; setClipSaveList(data: TClipSaveList, options?: THttpRequestOptions): Promise<void>; setPlaylistSaveList(data: TPlaylistSaveList, options?: THttpRequestOptions): Promise<void>; setTrackerSaveList(data: TTrackerSaveList, options?: THttpRequestOptions): Promise<void>; playlistSwitch(playlistName: string, options?: THttpRequestOptions): Promise<void>; playlistQueuePush(playlistName: string, options?: THttpRequestOptions): Promise<void>; playlistQueueClear(options?: THttpRequestOptions): Promise<void>; playlistQueueList(options?: THttpRequestOptions): Promise<string[]>; playlistQueuePlayNext(options?: THttpRequestOptions): Promise<void>; addNewClip(file: any, clipType: 'video' | 'audio', storage: TStorageType, clipId: string, fileName?: string, options?: THttpRequestOptions): Promise<void>; removeClip(clipId: string, storage: TStorageType, options?: THttpRequestOptions): Promise<void>; getClipList(options?: THttpRequestOptions): Promise<Record<string, { storage: "FLASH" | "SD_DISK"; stream_list: ({ type: "video"; width: number; height: number; fps: number; sample_rate: number; h264_profile: "high" | "main" | "baseline"; h264_level: "4.1"; gop: number; bitrate: number; } | { type: "audio"; sample_rate: number; channel_count: 1 | 2; })[]; duration: number; }>>; setCamSwitchOptions(data: TCameraOptions, cameraFWVersion: string, options?: THttpRequestOptions): Promise<void>; setGlobalAudioSettings(settings: TGlobalAudioSettings, options?: THttpRequestOptions): Promise<void>; setSecondaryAudioSettings(settings: TSecondaryAudioSettings, options?: THttpRequestOptions): Promise<void>; setDefaultPlaylist(playlistId: string, options?: THttpRequestOptions): Promise<void>; setPermanentRtspUrlToken(token: string, options?: THttpRequestOptions): Promise<void>; getCamSwitchOptions(options?: THttpRequestOptions): Promise<any>; getGlobalAudioSettings(options?: THttpRequestOptions): Promise<{ type: "fromSource" | "source"; source: string; storage?: string | undefined; }>; getSecondaryAudioSettings(options?: THttpRequestOptions): Promise<{ type: "CLIP" | "STREAM" | "NONE"; storage: "FLASH" | "SD_DISK"; secondaryAudioLevel: number; masterAudioLevel: number; streamName?: string | undefined; clipName?: string | undefined; }>; getPermanentRtspUrlToken(options?: THttpRequestOptions): Promise<string>; private _getJson; private _post; private setParamFromCameraJSON; private getParamFromCameraAndJSONParse; }