camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
1,757 lines • 448 kB
TypeScript
import { z } from 'zod';
import { facebookSchema, facebookStreamPrivacySchema } from './facebookSchema';
import { mpegDvbSchema } from './mpegDvbSchema';
import { rtmpSchema } from './rtmpSchema';
import { sdCardSchema } from './sdCardSchema';
import { windySchema } from './windySchema';
import { youtubeSchema } from './youtubeSchema';
import { vimeoSchema } from './vimeoSchema';
import { twitchSchema } from './twitchSchema';
import { churchSchema } from './churchSchema';
import { srtSchema } from './srtSchema';
import { daCastSchema } from './daCastSchema';
import { hlsPullSchema } from './hlsPullSchema';
import { hlsPushSchema } from './hlsPushSchema';
import { wowzaSchema } from './wowzaSchema';
import { dailymotionSchema } from './dailymotionSchema';
import { ibmSchema } from './ibmSchema';
import { microsoftAzureSchema } from './microsoftAzureSchema';
import { microsoftStreamSchema } from './microsoftStreamSchema';
import { gameChangerSchema } from './gameChangerSchema';
import { FileLike } from '../common';
import { youtubeRtmpSchema } from './youtubeRtmpSchema';
export declare const streamSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
type: z.ZodLiteral<"facebook">;
description: z.ZodOptional<z.ZodString>;
deleteAfterEnd: z.ZodBoolean;
saveToSdCard: z.ZodBoolean;
statusCameraLed: z.ZodBoolean;
statusCameraOutput: z.ZodNullable<z.ZodString>;
countdown: z.ZodBoolean;
post: z.ZodDiscriminatedUnion<"postLocation", [z.ZodObject<{
postLocation: z.ZodLiteral<"timeline">;
streamPrivacy: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"friends">, z.ZodLiteral<"only_me">]>;
}, "strip", z.ZodTypeAny, {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
}, {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
}>, z.ZodObject<{
postLocation: z.ZodLiteral<"page">;
page: z.ZodString;
}, "strip", z.ZodTypeAny, {
postLocation: "page";
page: string;
}, {
postLocation: "page";
page: string;
}>]>;
}, "strip", z.ZodTypeAny, {
post: {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
} | {
postLocation: "page";
page: string;
};
type: "facebook";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
deleteAfterEnd: boolean;
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
countdown: boolean;
description?: string | undefined;
}, {
post: {
postLocation: "timeline";
streamPrivacy: "public" | "friends" | "only_me";
} | {
postLocation: "page";
page: string;
};
type: "facebook";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
deleteAfterEnd: boolean;
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
countdown: boolean;
description?: string | undefined;
}>, z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
type: z.ZodLiteral<"mpeg_dvb">;
ipAddress: z.ZodString;
port: z.ZodNumber;
standard: z.ZodEnum<["DVB", "ATSC"]>;
nullPacketsPaddingEnabled: z.ZodBoolean;
nullPacketsPaddingKbps: z.ZodNumber;
videoPid: z.ZodNumber;
audioPid: z.ZodNumber;
mpegtsStreamId: z.ZodNumber;
pmtPid: z.ZodNumber;
pcrPid: z.ZodNumber;
pcrPeriodMs: z.ZodNumber;
providerName: z.ZodString;
serviceName: z.ZodString;
statusCameraLed: z.ZodBoolean;
statusCameraOutput: z.ZodNullable<z.ZodString>;
saveToSdCard: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
type: "mpeg_dvb";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
port: number;
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
ipAddress: string;
standard: "DVB" | "ATSC";
nullPacketsPaddingEnabled: boolean;
nullPacketsPaddingKbps: number;
videoPid: number;
audioPid: number;
mpegtsStreamId: number;
pmtPid: number;
pcrPid: number;
pcrPeriodMs: number;
providerName: string;
serviceName: string;
}, {
type: "mpeg_dvb";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
port: number;
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
ipAddress: string;
standard: "DVB" | "ATSC";
nullPacketsPaddingEnabled: boolean;
nullPacketsPaddingKbps: number;
videoPid: number;
audioPid: number;
mpegtsStreamId: number;
pmtPid: number;
pcrPid: number;
pcrPeriodMs: number;
providerName: string;
serviceName: string;
}>, z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
outputUrl: z.ZodString;
streamKey: z.ZodString;
streamIdentifier: z.ZodOptional<z.ZodString>;
saveToSdCard: z.ZodBoolean;
statusCameraLed: z.ZodBoolean;
statusCameraOutput: z.ZodNullable<z.ZodString>;
} & {
type: z.ZodLiteral<"rtmp">;
}, "strip", z.ZodTypeAny, {
type: "rtmp";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
outputUrl: string;
streamKey: string;
streamIdentifier?: string | undefined;
}, {
type: "rtmp";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
saveToSdCard: boolean;
statusCameraLed: boolean;
statusCameraOutput: string | null;
outputUrl: string;
streamKey: string;
streamIdentifier?: string | undefined;
}>, z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
type: z.ZodLiteral<"sd_card">;
}, "strip", z.ZodTypeAny, {
type: "sd_card";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
}, {
type: "sd_card";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
}>, z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
type: z.ZodLiteral<"windy">;
}, "strip", z.ZodTypeAny, {
type: "windy";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
}, {
type: "windy";
audio: {
source: "none";
} | {
source: "microphone";
audioChannelNbr: 1 | 2;
} | {
source: "file";
fileName: string;
filePath: string;
} | {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
};
video: {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
};
enabled: boolean;
id: number;
active: boolean;
title: string;
trigger: {
type: "manual";
ioPort: string | null;
} | {
type: "onetime";
startTime: number;
stopTime: number;
} | {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
};
}>, z.ZodObject<{
id: z.ZodNumber;
enabled: z.ZodBoolean;
active: z.ZodBoolean;
title: z.ZodString;
trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<"manual">;
ioPort: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: "manual";
ioPort: string | null;
}, {
type: "manual";
ioPort: string | null;
}>, z.ZodObject<{
type: z.ZodLiteral<"onetime">;
startTime: z.ZodNumber;
stopTime: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: "onetime";
startTime: number;
stopTime: number;
}, {
type: "onetime";
startTime: number;
stopTime: number;
}>, z.ZodObject<{
type: z.ZodLiteral<"recurrent">;
schedule: z.ZodArray<z.ZodObject<{
start: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
stop: z.ZodObject<{
day: z.ZodNumber;
timeS: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
day: number;
timeS: number;
}, {
day: number;
timeS: number;
}>;
isActive: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}, {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}>, "many">;
}, "strip", z.ZodTypeAny, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}, {
type: "recurrent";
schedule: {
start: {
day: number;
timeS: number;
};
stop: {
day: number;
timeS: number;
};
isActive: boolean;
}[];
}>]>;
video: z.ZodObject<{
inputType: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>;
sourceUrl: z.ZodOptional<z.ZodString>;
internalVapixParameters: z.ZodString;
userVapixParameters: z.ZodString;
streamingProtocol: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>;
streamDelay: z.ZodOptional<z.ZodObject<{
value: z.ZodNumber;
unit: z.ZodUnion<[z.ZodLiteral<"seconds">, z.ZodLiteral<"minutes">, z.ZodLiteral<"hours">]>;
}, "strip", z.ZodTypeAny, {
value: number;
unit: "seconds" | "minutes" | "hours";
}, {
value: number;
unit: "seconds" | "minutes" | "hours";
}>>;
}, "strip", z.ZodTypeAny, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}, {
inputType: "RTSP_URL" | "CSw" | "CRS";
internalVapixParameters: string;
userVapixParameters: string;
streamingProtocol: "RTMP" | "RTMPS" | "HLS_PUSH";
sourceUrl?: string | undefined;
streamDelay?: {
value: number;
unit: "seconds" | "minutes" | "hours";
} | undefined;
}>;
audio: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
source: z.ZodLiteral<"none">;
}, "strip", z.ZodTypeAny, {
source: "none";
}, {
source: "none";
}>, z.ZodObject<{
source: z.ZodLiteral<"microphone">;
audioChannelNbr: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>;
}, "strip", z.ZodTypeAny, {
source: "microphone";
audioChannelNbr: 1 | 2;
}, {
source: "microphone";
audioChannelNbr: 1 | 2;
}>, z.ZodObject<{
source: z.ZodLiteral<"file">;
fileName: z.ZodString;
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
source: "file";
fileName: string;
filePath: string;
}, {
source: "file";
fileName: string;
filePath: string;
}>, z.ZodObject<{
source: z.ZodLiteral<"url">;
fileName: z.ZodString;
fileUrl: z.ZodString;
avSyncMsec: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}, {
source: "url";
fileName: string;
fileUrl: string;
avSyncMsec: number;
}>]>;
} & {
type: z.ZodLiteral<"youtube">;
description: z.ZodOptional<z.ZodString>;
playlist: z.ZodOptional<z.ZodString>;
tags: z.ZodArray<z.ZodString, "many">;
notificationEmail: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
streamPrivacy: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"unlisted">, z.ZodLiteral<"private">]>;
latency: z.ZodUnion<[z.ZodLiteral<"normal">, z.ZodLiteral<"low">, z.ZodLiteral<"ultra_low">]>;
afterEndStatus: z.ZodUnion<[z.ZodLiteral<"no_change">, z.Zo