UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

1,757 lines 448 kB
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