camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
1,762 lines • 101 kB
TypeScript
import { IClient, TResponse } from './internal/types';
import { TAudioFile, TAudioFileStorageType, TDiagnosticsParams, TStream } from './types/CamStreamerAPI/CamStreamerAPI';
import { THttpRequestOptions } from './types/common';
import { TOldStream, TOldStringStream } from './types/CamStreamerAPI/oldStreamSchema';
import { BasicAPI } from './internal/BasicAPI';
export declare class CamStreamerAPI<Client extends IClient<TResponse, any>> extends BasicAPI<Client> {
static getProxyPath: () => string;
static getWsEventsPath: () => string;
checkAPIAvailable(options?: THttpRequestOptions): Promise<void>;
wsAuthorization(options?: THttpRequestOptions): Promise<string>;
getUtcTime(options?: THttpRequestOptions): Promise<number>;
getMaxFps(source?: number, options?: THttpRequestOptions): Promise<any>;
isCSPassValid(pass: string, options?: THttpRequestOptions): Promise<boolean>;
getCamStreamerAppLog(options?: THttpRequestOptions): Promise<string>;
getStreamList<TUnknownStream extends {
platform: string;
}>(options?: THttpRequestOptions): Promise<({
post: {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
} | {
postLocation: "page";
page: string;
};
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "facebook";
deleteAfterEnd: boolean;
countdown: boolean;
description?: string | undefined;
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "windy";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
streamPrivacy: "public" | "unlisted" | "private";
platform: "youtube";
playlists: string[];
tags: string[];
notificationEmails: string[];
latency: "normal" | "low" | "ultra_low";
afterEndStatus: "public" | "unlisted" | "private" | "no_change";
dvr: boolean;
hasWatchdogs: boolean;
streamingProtocol: "RTMP" | "RTMPS" | "HLS";
description?: string | undefined;
countdown?: boolean | undefined;
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "da_cast";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "dailymotion";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "facebook_rtmp";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "game_changer";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "hls_pull";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "hls_push";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "ibm";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "mpeg_dvb";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "microsoft_azure";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "microsoft_stream";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "rtmp";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "sd_card";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "srt";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "twitch";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "vimeo";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "wowza";
} | {
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "onetime";
startTime: number;
stopTime: number;
everActivated: boolean;
prepareAheadS?: number | undefined;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
prepareAheadS?: number | undefined;
};
video: {
output: {
type: "video";
url: string | null;
parameters: string;
saveToSdCard?: {
ruleId: string;
configurationId: string;
} | undefined;
} | {
type: "images";
url: string | null;
imageIntervalS: number;
} | {
type: "none";
saveToSdCard: {
ruleId: string;
configurationId: string;
};
};
input: {
type: "RTSP_URL";
url: string;
internalVapixParameters: string;
} | {
type: "CSw";
} | {
type: "CRS";
internalVapixParameters: string;
userVapixParameters: string;
};
delayS?: number | undefined;
};
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: number;
forceStereo: boolean;
} | {
path: string;
name: string;
source: "file";
forceStereo: boolean;
} | {
name: string;
url: string;
source: "url";
forceStereo: boolean;
avSyncMsec: number;
};
platform: "youtube_rtmp";
} | TUnknownStream)[]>;
setStreamList<TUnknownStream extends {
platform: string;
}>(streamList: (TStream | TUnknownStream)[], options?: THttpRequestOptions): Promise<void>;
getStream(streamId: string, options?: THttpRequestOptions): Promise<{
post: {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
} | {
postLocation: "page";
page: string;
};
status: {
led: boolean;
port?: number | undefined;
};
streamId: string;
enabled: boolean;
active: boolean;
title: string;
trigger: {
type: "manual";
port?: number | undefined;
} | {
type: "on