camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
168 lines (167 loc) • 7.83 kB
TypeScript
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;
}