@pickstar-2002/video-info-mcp
Version:
🎬 基于 MCP 协议的专业视频信息分析工具,支持多格式视频文件的详细信息提取和技术参数分析
725 lines • 28.3 kB
TypeScript
import { z } from 'zod';
export declare const VideoStreamSchema: z.ZodObject<{
index: z.ZodNumber;
codec_name: z.ZodString;
codec_long_name: z.ZodString;
profile: z.ZodOptional<z.ZodString>;
codec_type: z.ZodLiteral<"video">;
width: z.ZodNumber;
height: z.ZodNumber;
coded_width: z.ZodOptional<z.ZodNumber>;
coded_height: z.ZodOptional<z.ZodNumber>;
closed_captions: z.ZodOptional<z.ZodNumber>;
film_grain: z.ZodOptional<z.ZodNumber>;
has_b_frames: z.ZodOptional<z.ZodNumber>;
sample_aspect_ratio: z.ZodOptional<z.ZodString>;
display_aspect_ratio: z.ZodOptional<z.ZodString>;
pix_fmt: z.ZodString;
level: z.ZodOptional<z.ZodNumber>;
color_range: z.ZodOptional<z.ZodString>;
color_space: z.ZodOptional<z.ZodString>;
color_transfer: z.ZodOptional<z.ZodString>;
color_primaries: z.ZodOptional<z.ZodString>;
chroma_location: z.ZodOptional<z.ZodString>;
field_order: z.ZodOptional<z.ZodString>;
refs: z.ZodOptional<z.ZodNumber>;
is_avc: z.ZodOptional<z.ZodString>;
nal_length_size: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
r_frame_rate: z.ZodString;
avg_frame_rate: z.ZodString;
time_base: z.ZodString;
start_pts: z.ZodOptional<z.ZodNumber>;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration_ts: z.ZodOptional<z.ZodNumber>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
max_bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bits_per_raw_sample: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
nb_frames: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
extradata_size: z.ZodOptional<z.ZodNumber>;
disposition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
}, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
}>;
export declare const AudioStreamSchema: z.ZodObject<{
index: z.ZodNumber;
codec_name: z.ZodString;
codec_long_name: z.ZodString;
profile: z.ZodOptional<z.ZodString>;
codec_type: z.ZodLiteral<"audio">;
sample_fmt: z.ZodString;
sample_rate: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
channels: z.ZodNumber;
channel_layout: z.ZodOptional<z.ZodString>;
bits_per_sample: z.ZodOptional<z.ZodNumber>;
initial_padding: z.ZodOptional<z.ZodNumber>;
r_frame_rate: z.ZodString;
avg_frame_rate: z.ZodString;
time_base: z.ZodString;
start_pts: z.ZodOptional<z.ZodNumber>;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration_ts: z.ZodOptional<z.ZodNumber>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
max_bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
nb_frames: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
extradata_size: z.ZodOptional<z.ZodNumber>;
disposition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
}, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
}>;
export declare const FormatSchema: z.ZodObject<{
filename: z.ZodString;
nb_streams: z.ZodNumber;
nb_programs: z.ZodNumber;
format_name: z.ZodString;
format_long_name: z.ZodString;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
size: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
probe_score: z.ZodOptional<z.ZodNumber>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
}, {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
}>;
export declare const VideoInfoSchema: z.ZodObject<{
streams: z.ZodArray<z.ZodUnion<[z.ZodObject<{
index: z.ZodNumber;
codec_name: z.ZodString;
codec_long_name: z.ZodString;
profile: z.ZodOptional<z.ZodString>;
codec_type: z.ZodLiteral<"video">;
width: z.ZodNumber;
height: z.ZodNumber;
coded_width: z.ZodOptional<z.ZodNumber>;
coded_height: z.ZodOptional<z.ZodNumber>;
closed_captions: z.ZodOptional<z.ZodNumber>;
film_grain: z.ZodOptional<z.ZodNumber>;
has_b_frames: z.ZodOptional<z.ZodNumber>;
sample_aspect_ratio: z.ZodOptional<z.ZodString>;
display_aspect_ratio: z.ZodOptional<z.ZodString>;
pix_fmt: z.ZodString;
level: z.ZodOptional<z.ZodNumber>;
color_range: z.ZodOptional<z.ZodString>;
color_space: z.ZodOptional<z.ZodString>;
color_transfer: z.ZodOptional<z.ZodString>;
color_primaries: z.ZodOptional<z.ZodString>;
chroma_location: z.ZodOptional<z.ZodString>;
field_order: z.ZodOptional<z.ZodString>;
refs: z.ZodOptional<z.ZodNumber>;
is_avc: z.ZodOptional<z.ZodString>;
nal_length_size: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
r_frame_rate: z.ZodString;
avg_frame_rate: z.ZodString;
time_base: z.ZodString;
start_pts: z.ZodOptional<z.ZodNumber>;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration_ts: z.ZodOptional<z.ZodNumber>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
max_bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bits_per_raw_sample: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
nb_frames: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
extradata_size: z.ZodOptional<z.ZodNumber>;
disposition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
}, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
}>, z.ZodObject<{
index: z.ZodNumber;
codec_name: z.ZodString;
codec_long_name: z.ZodString;
profile: z.ZodOptional<z.ZodString>;
codec_type: z.ZodLiteral<"audio">;
sample_fmt: z.ZodString;
sample_rate: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
channels: z.ZodNumber;
channel_layout: z.ZodOptional<z.ZodString>;
bits_per_sample: z.ZodOptional<z.ZodNumber>;
initial_padding: z.ZodOptional<z.ZodNumber>;
r_frame_rate: z.ZodString;
avg_frame_rate: z.ZodString;
time_base: z.ZodString;
start_pts: z.ZodOptional<z.ZodNumber>;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration_ts: z.ZodOptional<z.ZodNumber>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
max_bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
nb_frames: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
extradata_size: z.ZodOptional<z.ZodNumber>;
disposition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
}, {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
}>]>, "many">;
format: z.ZodObject<{
filename: z.ZodString;
nb_streams: z.ZodNumber;
nb_programs: z.ZodNumber;
format_name: z.ZodString;
format_long_name: z.ZodString;
start_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
duration: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
size: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
bit_rate: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
probe_score: z.ZodOptional<z.ZodNumber>;
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
}, {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
}>;
}, "strip", z.ZodTypeAny, {
streams: ({
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
} | {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
})[];
format: {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
};
}, {
streams: ({
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "video";
width: number;
height: number;
pix_fmt: string;
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
profile?: string | undefined;
coded_width?: number | undefined;
coded_height?: number | undefined;
closed_captions?: number | undefined;
film_grain?: number | undefined;
has_b_frames?: number | undefined;
sample_aspect_ratio?: string | undefined;
display_aspect_ratio?: string | undefined;
level?: number | undefined;
color_range?: string | undefined;
color_space?: string | undefined;
color_transfer?: string | undefined;
color_primaries?: string | undefined;
chroma_location?: string | undefined;
field_order?: string | undefined;
refs?: number | undefined;
is_avc?: string | undefined;
nal_length_size?: string | number | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
bits_per_raw_sample?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
} | {
index: number;
codec_name: string;
codec_long_name: string;
codec_type: "audio";
r_frame_rate: string;
avg_frame_rate: string;
time_base: string;
sample_fmt: string;
sample_rate: string | number;
channels: number;
profile?: string | undefined;
start_pts?: number | undefined;
start_time?: string | number | undefined;
duration_ts?: number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
max_bit_rate?: string | number | undefined;
nb_frames?: string | number | undefined;
extradata_size?: number | undefined;
disposition?: Record<string, number> | undefined;
tags?: Record<string, string> | undefined;
channel_layout?: string | undefined;
bits_per_sample?: number | undefined;
initial_padding?: number | undefined;
})[];
format: {
filename: string;
nb_streams: number;
nb_programs: number;
format_name: string;
format_long_name: string;
start_time?: string | number | undefined;
duration?: string | number | undefined;
bit_rate?: string | number | undefined;
tags?: Record<string, string> | undefined;
size?: string | number | undefined;
probe_score?: number | undefined;
};
}>;
export type VideoStream = z.infer<typeof VideoStreamSchema>;
export type AudioStream = z.infer<typeof AudioStreamSchema>;
export type Format = z.infer<typeof FormatSchema>;
export type VideoInfo = z.infer<typeof VideoInfoSchema>;
export interface ProcessedVideoInfo {
filename: string;
fileSize: string;
duration: string;
durationSeconds: number;
format: string;
formatLongName: string;
videoStreams: {
index: number;
codec: string;
codecLongName: string;
profile?: string;
resolution: string;
aspectRatio?: string;
pixelFormat: string;
frameRate: string;
avgFrameRate: string;
bitRate?: string;
maxBitRate?: string;
totalFrames?: string;
colorSpace?: string;
colorRange?: string;
}[];
audioStreams: {
index: number;
codec: string;
codecLongName: string;
profile?: string;
sampleRate: string;
channels: number;
channelLayout?: string;
sampleFormat: string;
bitRate?: string;
maxBitRate?: string;
}[];
bitrateAnalysis: {
overallBitRate?: string;
videoBitRate?: string;
audioBitRate?: string;
maxBitRate?: string;
estimatedSize: string;
};
technicalReport: {
videoQuality: string;
audioQuality: string;
compressionRatio?: string;
recommendations: string[];
};
}
export declare const GetVideoInfoArgsSchema: z.ZodObject<{
filePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
filePath: string;
}, {
filePath: string;
}>;
export declare const AnalyzeStreamsArgsSchema: z.ZodObject<{
filePath: z.ZodString;
includeMetadata: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
filePath: string;
includeMetadata?: boolean | undefined;
}, {
filePath: string;
includeMetadata?: boolean | undefined;
}>;
export declare const CalculateBitrateArgsSchema: z.ZodObject<{
filePath: z.ZodString;
sampleDuration: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
filePath: string;
sampleDuration?: number | undefined;
}, {
filePath: string;
sampleDuration?: number | undefined;
}>;
export declare const GenerateReportArgsSchema: z.ZodObject<{
filePath: z.ZodString;
format: z.ZodOptional<z.ZodEnum<["json", "text", "markdown"]>>;
}, "strip", z.ZodTypeAny, {
filePath: string;
format?: "json" | "text" | "markdown" | undefined;
}, {
filePath: string;
format?: "json" | "text" | "markdown" | undefined;
}>;
export type GetVideoInfoArgs = z.infer<typeof GetVideoInfoArgsSchema>;
export type AnalyzeStreamsArgs = z.infer<typeof AnalyzeStreamsArgsSchema>;
export type CalculateBitrateArgs = z.infer<typeof CalculateBitrateArgsSchema>;
export type GenerateReportArgs = z.infer<typeof GenerateReportArgsSchema>;
//# sourceMappingURL=types.d.ts.map