feat: base functionality
This commit is contained in:
+226
@@ -0,0 +1,226 @@
|
||||
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[];
|
||||
}
|
||||
Reference in New Issue
Block a user