diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/script/player/mod.ts | 6 | ||||
-rw-r--r-- | web/script/player/player.ts | 8 | ||||
-rw-r--r-- | web/script/player/track/create.ts | 2 | ||||
-rw-r--r-- | web/script/player/track/vtt.ts | 2 | ||||
-rw-r--r-- | web/script/player/types_node.ts | 2 | ||||
-rw-r--r-- | web/script/player/types_stream.ts | 2 | ||||
-rw-r--r-- | web/style/player.css | 2 |
7 files changed, 12 insertions, 12 deletions
diff --git a/web/script/player/mod.ts b/web/script/player/mod.ts index 6e3f962..1208e07 100644 --- a/web/script/player/mod.ts +++ b/web/script/player/mod.ts @@ -28,7 +28,7 @@ globalThis.addEventListener("DOMContentLoaded", () => { const MEDIA_KIND_ICONS: { [key in TrackKind]: [string, string] } = { video: ["tv_off", "tv"], audio: ["volume_off", "volume_up"], - subtitles: ["subtitles_off", "subtitles"], + subtitle: ["subtitles_off", "subtitles"], } function toggle_fullscreen() { @@ -237,7 +237,7 @@ function initialize_player(node_id: string): HTMLElement { e("div", { class: "jsp-track-select" }, track_select("video"), track_select("audio"), - track_select("subtitles") + track_select("subtitle") ), settings_popup(), e("button", "fullscreen", { class: "icon", onclick: toggle_fullscreen, aria_label: "fullscreen" }) @@ -288,7 +288,7 @@ function initialize_player(node_id: string): HTMLElement { else if (k.code == "KeyF") toggle_fullscreen() else if (k.code == "KeyQ") quit() else if (k.code == "KeyS") screenshot_video(player.video) - else if (k.code == "KeyJ") step_track_kind("subtitles") + else if (k.code == "KeyJ") step_track_kind("subtitle") else if (k.code == "KeyM") toggle_mute() else if (k.code == "Digit9") (player.volume.value /= 1.2), logger.log(`Volume decreased to ${show_volume(player.volume.value)}`, "volume") else if (k.code == "Digit0") (player.volume.value *= 1.2), logger.log(`Volume increased to ${show_volume(player.volume.value)}`, "volume") diff --git a/web/script/player/player.ts b/web/script/player/player.ts index 47568dc..210ce9a 100644 --- a/web/script/player/player.ts +++ b/web/script/player/player.ts @@ -112,18 +112,18 @@ export class Player { this.duration.value = streaminfo.segments[0].duration this.streaminfo = streaminfo this.tracks = streaminfo!.segments[0].tracks; - + console.log("aaa", this.tracks); this.video.src = URL.createObjectURL(this.media_source) this.media_source.addEventListener("sourceopen", async () => { - let video = false, audio = false, subtitles = false; + let video = false, audio = false, subtitle = false; for (let i = 0; i < this.tracks!.length; i++) { const t = this.tracks![i]; if (t.kind == "video" && !video) video = true, await this.set_track_enabled(i, true, false) if (t.kind == "audio" && !audio) audio = true, await this.set_track_enabled(i, true, false) - if (t.kind == "subtitles" && !subtitles) - subtitles = true, await this.set_track_enabled(i, true, false) + if (t.kind == "subtitle" && !subtitle) + subtitle = true, await this.set_track_enabled(i, true, false) } this.set_pers("Buffering initial stream fragments...") diff --git a/web/script/player/track/create.ts b/web/script/player/track/create.ts index 95bccca..e3b0f17 100644 --- a/web/script/player/track/create.ts +++ b/web/script/player/track/create.ts @@ -10,6 +10,6 @@ import { PlayerTrack } from "./mod.ts"; import { TrackInfo } from "../types_stream.ts"; export function create_track(player: Player, base_url: string, segment_index: number, track_index: number, track_info: TrackInfo): PlayerTrack | undefined { - if (track_info.kind == "subtitles") return new VttPlayerTrack(player, base_url, track_index, track_info) + if (track_info.kind == "subtitle") return new VttPlayerTrack(player, base_url, track_index, track_info) else return new MSEPlayerTrack(player, base_url, segment_index, track_index, track_info) } diff --git a/web/script/player/track/vtt.ts b/web/script/player/track/vtt.ts index e89bf24..43413bd 100644 --- a/web/script/player/track/vtt.ts +++ b/web/script/player/track/vtt.ts @@ -39,7 +39,7 @@ export class VttPlayerTrack extends PlayerTrack { async init() { try { - const res = await fetch(`/n/${encodeURIComponent(this.node_id)}/stream?format=jvtt&track=${this.track_index}`, { headers: { "Accept": "application/json" } }); + const res = await fetch(`${this.player.base_url}?format=remux&segment=0&container=jvtt&track=${this.track_index}`, { headers: { "Accept": "application/json" } }); if (!res.ok) return this.player.error.value = "Cannot download index.", undefined; let ai!: SubtitleCue[] & { error: string; }; try { ai = await res.json(); } diff --git a/web/script/player/types_node.ts b/web/script/player/types_node.ts index 6946313..710befb 100644 --- a/web/script/player/types_node.ts +++ b/web/script/player/types_node.ts @@ -67,7 +67,7 @@ export type SourceTrackKind = { sample_rate: number, bit_depth: number, } - } | "subtitles"; + } | "subtitle"; export interface NodeUserData { watched: WatchedState diff --git a/web/script/player/types_stream.ts b/web/script/player/types_stream.ts index 9565bf4..bff4ed8 100644 --- a/web/script/player/types_stream.ts +++ b/web/script/player/types_stream.ts @@ -17,7 +17,7 @@ export interface SegmentInfo { duration: number, tracks: TrackInfo[], } -export type TrackKind = "video" | "audio" | "subtitles" +export type TrackKind = "video" | "audio" | "subtitle" export interface TrackInfo { name?: string, language?: string, diff --git a/web/style/player.css b/web/style/player.css index d0ebc02..2fbdca3 100644 --- a/web/style/player.css +++ b/web/style/player.css @@ -33,7 +33,7 @@ form.playerconf { .playerconf .audio { grid-area: a; } -.playerconf .subtitles { +.playerconf .subtitle { grid-area: s; } .playerconf input[type="submit"] { |