aboutsummaryrefslogtreecommitdiff
path: root/web/script/player/types_stream.ts
blob: 54c392aa65f191deaceacd5e436768649695d248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
    This file is part of jellything (https://codeberg.org/metamuffin/jellything)
    which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
    Copyright (C) 2025 metamuffin <metamuffin.org>
*/
export type FragmentIndex = TimeRange[]
export interface TimeRange { start: number, end: number }
export interface SubtitleCue extends TimeRange {
    content: string
}
export interface StreamInfo {
    name?: string,
    duration: number,
    tracks: TrackInfo[],
}
export type TrackKind = "video" | "audio" | "subtitle"
export interface TrackInfo {
    name?: string,
    language?: string,
    kind: TrackKind,
    formats: FormatInfo[]
}
export type StreamContainer = "webm" | "matroska" | "mpeg4" | "jvtt" | "webvtt"
export interface FormatInfo {
    codec: string,
    bitrate: number,
    remux: boolean,
    containers: StreamContainer[]

    width?: number,
    height?: number,
    channels?: number,
    samplerate?: number,
    bit_depth?: number,
}