233 lines
4.6 KiB
TypeScript
233 lines
4.6 KiB
TypeScript
export interface Disposition {
|
|
default: boolean;
|
|
dub: boolean;
|
|
original: boolean;
|
|
comment: boolean;
|
|
lyrics: boolean;
|
|
karaoke: boolean;
|
|
forced: boolean;
|
|
hearing_impaired: boolean;
|
|
visual_impaired: boolean;
|
|
clean_effects: boolean;
|
|
attached_pic: boolean;
|
|
timed_thumbnails: boolean;
|
|
non_diegetic: boolean;
|
|
captions: boolean;
|
|
descriptions: boolean;
|
|
metadata: boolean;
|
|
dependent: boolean;
|
|
still_image: boolean;
|
|
multilayer: boolean;
|
|
}
|
|
|
|
export interface VideoTrack {
|
|
index: number;
|
|
codec_name: string;
|
|
codec_long_name: string;
|
|
profile: string;
|
|
codec_type: string;
|
|
codec_tag_string: string;
|
|
codec_tag: string;
|
|
width: number;
|
|
height: number;
|
|
coded_width: number;
|
|
coded_height: number;
|
|
closed_captions: number;
|
|
film_grain: number;
|
|
has_b_frames: number;
|
|
sample_aspect_ratio: string;
|
|
display_aspect_ratio: string;
|
|
pix_fmt: string;
|
|
level: number;
|
|
color_range: string;
|
|
chroma_location: string;
|
|
field_order: string;
|
|
refs: number;
|
|
r_frame_rate: string;
|
|
avg_frame_rate: string;
|
|
time_base: string;
|
|
start_pts: number;
|
|
start_time: string;
|
|
extradata_size: number;
|
|
disposition: Disposition;
|
|
tags: {
|
|
language: string;
|
|
};
|
|
}
|
|
|
|
export interface AudioTrack {
|
|
index: number;
|
|
codec_name: string;
|
|
codec_long_name: string;
|
|
profile: string;
|
|
codec_type: string;
|
|
codec_tag_string: string;
|
|
codec_tag: string;
|
|
channels: number;
|
|
channel_layout: string;
|
|
sample_rate: number;
|
|
bits_per_sample: number;
|
|
bits_per_raw_sample: number;
|
|
block_align: number;
|
|
frame_size: number;
|
|
initial_padding: number;
|
|
final_padding: number;
|
|
bit_rate: number;
|
|
max_bit_rate: number;
|
|
bits_per_frame: number;
|
|
id: number;
|
|
disposition: Disposition;
|
|
tags: {
|
|
language: string;
|
|
};
|
|
}
|
|
|
|
export interface SubtitlesTrack {
|
|
index: number;
|
|
codec_name: string;
|
|
codec_long_name: string;
|
|
profile: string;
|
|
codec_type: string;
|
|
codec_tag_string: string;
|
|
codec_tag: string;
|
|
width: number;
|
|
height: number;
|
|
coded_width: number;
|
|
coded_height: number;
|
|
closed_captions: number;
|
|
film_grain: number;
|
|
has_b_frames: number;
|
|
sample_aspect_ratio: string;
|
|
display_aspect_ratio: string;
|
|
pix_fmt: string;
|
|
level: number;
|
|
color_range: string;
|
|
chroma_location: string;
|
|
field_order: string;
|
|
refs: number;
|
|
r_frame_rate: string;
|
|
avg_frame_rate: string;
|
|
time_base: string;
|
|
start_pts: number;
|
|
start_time: string;
|
|
extradata_size: number;
|
|
disposition: Disposition;
|
|
tags: {
|
|
language: string;
|
|
};
|
|
}
|
|
|
|
export interface VideoInfo {
|
|
format: {
|
|
filename: string;
|
|
nb_streams: number;
|
|
nb_programs: number;
|
|
nb_stream_groups: number;
|
|
format_name: string;
|
|
format_long_name: string;
|
|
start_time: string;
|
|
duration: string;
|
|
size: string;
|
|
bit_rate: string;
|
|
probe_score: number;
|
|
tags: {
|
|
encoder: string;
|
|
creation_time: string;
|
|
};
|
|
};
|
|
streams: (VideoTrack | AudioTrack | SubtitlesTrack)[];
|
|
}
|
|
|
|
export interface OMDBMovieInfo {
|
|
Title: string;
|
|
Year: string;
|
|
Rated: string;
|
|
Released: string;
|
|
Runtime: string;
|
|
Genre: string;
|
|
Director: string;
|
|
Writer: string;
|
|
Actors: string;
|
|
Plot: string;
|
|
Language: string;
|
|
Country: string;
|
|
Awards: string;
|
|
Poster: string;
|
|
Ratings: { Source: string; Value: string }[];
|
|
Metascore: string;
|
|
imdbRating: string;
|
|
imdbVotes: string;
|
|
imdbID: string;
|
|
Type: string;
|
|
DVD: string;
|
|
BoxOffice: string;
|
|
Production: string;
|
|
Website: string;
|
|
Response: string;
|
|
}
|
|
|
|
export interface OMDBSeriesInfo {
|
|
Title: string;
|
|
Year: string;
|
|
Rated: string;
|
|
Released: string;
|
|
Runtime: string;
|
|
Genre: string;
|
|
Director: string;
|
|
Writer: string;
|
|
Actors: string;
|
|
Plot: string;
|
|
Language: string;
|
|
Country: string;
|
|
Awards: string;
|
|
Poster: string;
|
|
Ratings: { Source: string; Value: string }[];
|
|
Metascore: string;
|
|
imdbRating: string;
|
|
imdbVotes: string;
|
|
imdbID: string;
|
|
Type: string;
|
|
totalSeasons: string;
|
|
Response: string;
|
|
}
|
|
|
|
export interface parsedAudioStream {
|
|
index: number;
|
|
language: string;
|
|
isSideloaded: boolean;
|
|
channels: number;
|
|
channel_layout: string;
|
|
}
|
|
|
|
export interface parsedSubtitleStream {
|
|
index: number;
|
|
language: string;
|
|
codec: string;
|
|
}
|
|
|
|
export interface parsedMetadata {
|
|
title: string;
|
|
date_released: string;
|
|
imdb_id: string;
|
|
original_media_type?: string;
|
|
season_number?: number;
|
|
episode_number?: number;
|
|
}
|
|
|
|
export interface parsedVideoInfo {
|
|
filename: string;
|
|
metadata?: parsedMetadata;
|
|
MPix: number;
|
|
fps: number;
|
|
isAnamorphic: boolean;
|
|
isInterlaced: boolean;
|
|
audioStreams?: parsedAudioStream[];
|
|
subtitleStreams?: parsedSubtitleStream[];
|
|
}
|
|
|
|
export interface profile {
|
|
crf: number;
|
|
preset: number;
|
|
filmGrain: number;
|
|
}
|