UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

571 lines (570 loc) 16.6 kB
import { z } from 'zod'; export declare const streamCommonSchema: z.ZodObject<{ streamId: z.ZodString; enabled: z.ZodBoolean; active: z.ZodBoolean; title: z.ZodString; trigger: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"manual">; port: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "manual"; port?: number | undefined; }, { type: "manual"; port?: number | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"onetime">; startTime: z.ZodNumber; stopTime: z.ZodNumber; everActivated: z.ZodBoolean; prepareAheadS: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "onetime"; startTime: number; stopTime: number; everActivated: boolean; prepareAheadS?: number | undefined; }, { type: "onetime"; startTime: number; stopTime: number; everActivated: boolean; prepareAheadS?: number | undefined; }>, 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">; prepareAheadS: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "recurrent"; schedule: { start: { day: number; timeS: number; }; stop: { day: number; timeS: number; }; isActive: boolean; }[]; prepareAheadS?: number | undefined; }, { type: "recurrent"; schedule: { start: { day: number; timeS: number; }; stop: { day: number; timeS: number; }; isActive: boolean; }[]; prepareAheadS?: number | undefined; }>]>; video: z.ZodObject<{ output: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"video">; url: z.ZodNullable<z.ZodString>; parameters: z.ZodString; saveToSdCard: z.ZodOptional<z.ZodObject<{ ruleId: z.ZodString; configurationId: z.ZodString; }, "strip", z.ZodTypeAny, { ruleId: string; configurationId: string; }, { ruleId: string; configurationId: string; }>>; }, "strip", z.ZodTypeAny, { type: "video"; url: string | null; parameters: string; saveToSdCard?: { ruleId: string; configurationId: string; } | undefined; }, { type: "video"; url: string | null; parameters: string; saveToSdCard?: { ruleId: string; configurationId: string; } | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"images">; url: z.ZodNullable<z.ZodString>; imageIntervalS: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: "images"; url: string | null; imageIntervalS: number; }, { type: "images"; url: string | null; imageIntervalS: number; }>, z.ZodObject<{ type: z.ZodLiteral<"none">; saveToSdCard: z.ZodObject<{ ruleId: z.ZodString; configurationId: z.ZodString; }, "strip", z.ZodTypeAny, { ruleId: string; configurationId: string; }, { ruleId: string; configurationId: string; }>; }, "strip", z.ZodTypeAny, { type: "none"; saveToSdCard: { ruleId: string; configurationId: string; }; }, { type: "none"; saveToSdCard: { ruleId: string; configurationId: string; }; }>]>; input: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"RTSP_URL">; url: z.ZodString; internalVapixParameters: z.ZodString; }, "strip", z.ZodTypeAny, { type: "RTSP_URL"; url: string; internalVapixParameters: string; }, { type: "RTSP_URL"; url: string; internalVapixParameters: string; }>, z.ZodObject<{ type: z.ZodLiteral<"CSw">; }, "strip", z.ZodTypeAny, { type: "CSw"; }, { type: "CSw"; }>, z.ZodObject<{ type: z.ZodLiteral<"CRS">; internalVapixParameters: z.ZodString; userVapixParameters: z.ZodString; }, "strip", z.ZodTypeAny, { type: "CRS"; internalVapixParameters: string; userVapixParameters: string; }, { type: "CRS"; internalVapixParameters: string; userVapixParameters: string; }>]>; delayS: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { 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; }, { 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: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{ source: z.ZodLiteral<"none">; }, "strip", z.ZodTypeAny, { source: "none"; }, { source: "none"; }>, z.ZodObject<{ source: z.ZodLiteral<"microphone">; audioChannelNbr: z.ZodNumber; forceStereo: z.ZodBoolean; }, "strip", z.ZodTypeAny, { source: "microphone"; audioChannelNbr: number; forceStereo: boolean; }, { source: "microphone"; audioChannelNbr: number; forceStereo: boolean; }>, z.ZodObject<{ source: z.ZodLiteral<"file">; name: z.ZodString; path: z.ZodString; forceStereo: z.ZodBoolean; }, "strip", z.ZodTypeAny, { path: string; name: string; source: "file"; forceStereo: boolean; }, { path: string; name: string; source: "file"; forceStereo: boolean; }>, z.ZodObject<{ source: z.ZodLiteral<"url">; name: z.ZodString; url: z.ZodString; avSyncMsec: z.ZodNumber; forceStereo: z.ZodBoolean; }, "strip", z.ZodTypeAny, { name: string; url: string; source: "url"; forceStereo: boolean; avSyncMsec: number; }, { name: string; url: string; source: "url"; forceStereo: boolean; avSyncMsec: number; }>]>; status: z.ZodObject<{ led: z.ZodBoolean; port: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { led: boolean; port?: number | undefined; }, { led: boolean; port?: number | undefined; }>; }, "strip", z.ZodTypeAny, { 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; }; }, { 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; }; }>; export type TCommonStream = z.infer<typeof streamCommonSchema>; export type TStreamAudio = TCommonStream['audio']; export type TStreamAudioSource = NonNullable<TStreamAudio>['source']; export type TAudioOfSource<T extends TStreamAudioSource> = { audio: Extract<TStreamAudio, { source: T; }>; }; export type TStreamTrigger = TCommonStream['trigger']; export type TStreamTriggerType = TStreamTrigger['type']; export type TTriggerSchedule = Extract<TStreamTrigger, { type: 'recurrent'; }>['schedule']; export type TStreamVideo = TCommonStream['video']; export type TStreamInputType = TStreamVideo['input']['type']; export type TStreamOutputType = TStreamVideo['output']['type']; export declare const internalVapixParametersSchema: z.ZodObject<{ bitrateMode: z.ZodUnion<[z.ZodLiteral<"VBR">, z.ZodLiteral<"MBR">, z.ZodLiteral<"ABR">]>; maximumBitRate: z.ZodNumber; retentionTime: z.ZodNumber; bitRateLimit: z.ZodNumber; } & { camera: z.ZodString; resolution: z.ZodString; fps: z.ZodNumber; compression: z.ZodNumber; govLength: z.ZodNumber; videoCodec: z.ZodUnion<[z.ZodLiteral<"h264">, z.ZodLiteral<"h265">, z.ZodLiteral<"av1">]>; h264Profile: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"high">, z.ZodLiteral<"main">, z.ZodLiteral<"baseline">]>>; audio: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>; nbrOfChannels: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>; overlays: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"all">, z.ZodLiteral<"text">, z.ZodLiteral<"image">, z.ZodLiteral<"application">, z.ZodLiteral<"off">]>>; }, "strip", z.ZodTypeAny, { camera: string; resolution: string; compression: number; bitrateMode: "VBR" | "MBR" | "ABR"; maximumBitRate: number; retentionTime: number; bitRateLimit: number; audio: 0 | 1; fps: number; govLength: number; videoCodec: "h264" | "h265" | "av1"; overlays?: "text" | "all" | "image" | "application" | "off" | undefined; h264Profile?: "high" | "main" | "baseline" | undefined; nbrOfChannels?: 1 | 2 | undefined; }, { camera: string; resolution: string; compression: number; bitrateMode: "VBR" | "MBR" | "ABR"; maximumBitRate: number; retentionTime: number; bitRateLimit: number; audio: 0 | 1; fps: number; govLength: number; videoCodec: "h264" | "h265" | "av1"; overlays?: "text" | "all" | "image" | "application" | "off" | undefined; h264Profile?: "high" | "main" | "baseline" | undefined; nbrOfChannels?: 1 | 2 | undefined; }>; export type TInternalVapixParameters = z.infer<typeof internalVapixParametersSchema>; export type TVideoCodec = TInternalVapixParameters['videoCodec']; export type TOverlays = TInternalVapixParameters['overlays'];