UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

582 lines (581 loc) 17.2 kB
import { z } from 'zod'; declare const scheduleSchema: 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; }>; export declare const streamTriggerSchema: 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; }[]; }>]>; export type TStreamTrigger = z.infer<typeof streamTriggerSchema>; export type TStreamTriggerType = TStreamTrigger['type']; export type TTriggerSchedule = z.infer<typeof scheduleSchema>; export declare const streamInputTypeSchema: z.ZodUnion<[z.ZodLiteral<"CSw">, z.ZodLiteral<"CRS">, z.ZodLiteral<"RTSP_URL">]>; export type TStreamInputType = z.infer<typeof streamInputTypeSchema>; export declare const streamingProtocolTypeSchema: z.ZodUnion<[z.ZodLiteral<"RTMP">, z.ZodLiteral<"RTMPS">, z.ZodLiteral<"HLS_PUSH">]>; export type TStreamingProtocolType = z.infer<typeof streamingProtocolTypeSchema>; export declare const videoCodecSchema: z.ZodUnion<[z.ZodLiteral<"h264">, z.ZodLiteral<"h265">, z.ZodLiteral<"av1">]>; export type TVideoCodec = z.infer<typeof videoCodecSchema>; export declare const overlaysSchema: z.ZodUnion<[z.ZodLiteral<"all">, z.ZodLiteral<"text">, z.ZodLiteral<"image">, z.ZodLiteral<"application">, z.ZodLiteral<"">, z.ZodLiteral<"off">]>; export type TOverlays = z.infer<typeof overlaysSchema>; export declare const streamDelaySchema: 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"; }>; export type TStreamDelay = z.infer<typeof streamDelaySchema>; export type TStreamDelayUnit = TStreamDelay['unit']; 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<"">, 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 declare const streamVideoSchema: 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; }>; export type TStreamVideo = z.infer<typeof streamVideoSchema>; export declare const streamAudioSchema: 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; }>]>; export type TStreamAudio = z.infer<typeof streamAudioSchema>; export type TStreamAudioSource = TStreamAudio['source']; export type TAudioOfSource<T extends TStreamAudioSource> = { audio: Extract<TStreamAudio, { source: T; }>; }; export declare const streamCommonSchema: 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; }>]>; }, "strip", z.ZodTypeAny, { 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; }[]; }; }, { 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; }[]; }; }>; export type TCommonStream = z.infer<typeof streamCommonSchema>; export {};