libbitsub 1.11.0 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -17
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/integrations/hlsjs.d.ts +6 -0
- package/dist/integrations/hlsjs.d.ts.map +1 -1
- package/dist/integrations/hlsjs.js +3 -0
- package/dist/integrations/hlsjs.js.map +1 -1
- package/dist/integrations/index.d.ts +10 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +10 -2
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/react.d.ts +10 -1
- package/dist/integrations/react.d.ts.map +1 -1
- package/dist/integrations/react.js +11 -2
- package/dist/integrations/react.js.map +1 -1
- package/dist/integrations/shaka.d.ts +6 -0
- package/dist/integrations/shaka.d.ts.map +1 -1
- package/dist/integrations/shaka.js +3 -0
- package/dist/integrations/shaka.js.map +1 -1
- package/dist/integrations/shared.d.ts +4 -2
- package/dist/integrations/shared.d.ts.map +1 -1
- package/dist/integrations/shared.js.map +1 -1
- package/dist/integrations/videojs.d.ts +9 -0
- package/dist/integrations/videojs.d.ts.map +1 -1
- package/dist/integrations/videojs.js +3 -0
- package/dist/integrations/videojs.js.map +1 -1
- package/dist/ts/capabilities.d.ts +14 -0
- package/dist/ts/capabilities.d.ts.map +1 -0
- package/dist/ts/capabilities.js +111 -0
- package/dist/ts/capabilities.js.map +1 -0
- package/dist/ts/diagnostics.d.ts +6 -0
- package/dist/ts/diagnostics.d.ts.map +1 -1
- package/dist/ts/diagnostics.js +6 -0
- package/dist/ts/diagnostics.js.map +1 -1
- package/dist/ts/frame-export.d.ts +4 -0
- package/dist/ts/frame-export.d.ts.map +1 -1
- package/dist/ts/frame-export.js +4 -0
- package/dist/ts/frame-export.js.map +1 -1
- package/dist/ts/parsers.d.ts +39 -2
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +229 -1
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/range-loader.d.ts +6 -0
- package/dist/ts/range-loader.d.ts.map +1 -1
- package/dist/ts/range-loader.js +3 -0
- package/dist/ts/range-loader.js.map +1 -1
- package/dist/ts/renderers.d.ts +129 -10
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +1342 -138
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +196 -6
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts +2 -0
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +100 -2
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/video-frame-scheduler.d.ts +35 -0
- package/dist/ts/video-frame-scheduler.d.ts.map +1 -0
- package/dist/ts/video-frame-scheduler.js +98 -0
- package/dist/ts/video-frame-scheduler.js.map +1 -0
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +394 -0
- package/dist/ts/worker.js.map +1 -1
- package/dist/wrapper.d.ts +4 -3
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +3 -2
- package/dist/wrapper.js.map +1 -1
- package/package.json +7 -2
- package/pkg/README.md +114 -17
- package/pkg/libbitsub.d.ts +51 -1
- package/pkg/libbitsub.js +178 -3
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +21 -0
- package/pkg/package.json +4 -4
- package/src/integrations/hlsjs.ts +6 -0
- package/src/integrations/index.ts +10 -2
- package/src/integrations/react.tsx +17 -2
- package/src/integrations/shaka.ts +6 -0
- package/src/integrations/shared.ts +4 -1
- package/src/integrations/videojs.ts +9 -0
- package/src/wrapper.ts +22 -2
package/dist/ts/types.d.ts
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type definitions for libbitsub TypeScript wrapper.
|
|
3
3
|
*/
|
|
4
|
-
import type { SubtitleRenderer as WasmSubtitleRenderer, PgsParser as WasmPgsParser, VobSubParser as WasmVobSubParser, RenderResult, SubtitleFrame, VobSubFrame } from '../../pkg/libbitsub';
|
|
5
|
-
export type { WasmSubtitleRenderer, WasmPgsParser, WasmVobSubParser, RenderResult, SubtitleFrame, VobSubFrame };
|
|
6
|
-
|
|
4
|
+
import type { SubtitleRenderer as WasmSubtitleRenderer, PgsParser as WasmPgsParser, VobSubParser as WasmVobSubParser, DvbParser as WasmDvbParser, RenderResult, SubtitleFrame, VobSubFrame } from '../../pkg/libbitsub';
|
|
5
|
+
export type { WasmSubtitleRenderer, WasmPgsParser, WasmVobSubParser, WasmDvbParser, RenderResult, SubtitleFrame, VobSubFrame };
|
|
6
|
+
/** Detected graphical subtitle format. */
|
|
7
|
+
export type SubtitleFormatName = 'pgs' | 'vobsub' | 'dvb';
|
|
8
|
+
/** Horizontal alignment used when placing a subtitle overlay. */
|
|
7
9
|
export type SubtitleHorizontalAlign = 'left' | 'center' | 'right';
|
|
10
|
+
/** How bitmap subtitles are fit into the video overlay. */
|
|
8
11
|
export type SubtitleAspectMode = 'stretch' | 'contain' | 'cover';
|
|
12
|
+
/** Primitive value stored on a diagnostic error or warning. */
|
|
9
13
|
export type SubtitleDiagnosticDetailValue = string | number | boolean | null | undefined;
|
|
14
|
+
/** Stable diagnostic error code. */
|
|
10
15
|
export type SubtitleDiagnosticErrorCode = 'UNSUPPORTED_FORMAT' | 'BAD_IDX' | 'MISSING_PALETTE' | 'TRACK_NOT_FOUND' | 'MISSING_INPUT' | 'FETCH_FAILED' | 'INVALID_SUBTITLE_DATA' | 'WORKER_FALLBACK' | 'UNKNOWN';
|
|
16
|
+
/** Stable diagnostic warning code. */
|
|
11
17
|
export type SubtitleDiagnosticWarningCode = 'BAD_IDX' | 'INVALID_FRAME_DATA' | 'INVALID_SUBTITLE_DATA' | 'MISSING_PALETTE' | 'RANGE_FALLBACK' | 'WORKER_FALLBACK';
|
|
18
|
+
/** Strategy used to fetch a subtitle asset. */
|
|
12
19
|
export type AssetFetchStrategy = 'memory' | 'stream' | 'range-chunks' | 'basic';
|
|
20
|
+
/** Non-fatal diagnostic emitted while loading or rendering. */
|
|
13
21
|
export interface SubtitleDiagnosticWarning {
|
|
14
22
|
code: SubtitleDiagnosticWarningCode;
|
|
15
23
|
message: string;
|
|
@@ -17,16 +25,29 @@ export interface SubtitleDiagnosticWarning {
|
|
|
17
25
|
cueIndex?: number;
|
|
18
26
|
details?: Record<string, SubtitleDiagnosticDetailValue>;
|
|
19
27
|
}
|
|
28
|
+
/** Error shape used by SubtitleDiagnosticError. */
|
|
20
29
|
export interface SubtitleDiagnosticErrorLike extends Error {
|
|
21
30
|
code: SubtitleDiagnosticErrorCode;
|
|
22
31
|
format?: SubtitleFormatName;
|
|
23
32
|
details?: Record<string, SubtitleDiagnosticDetailValue>;
|
|
24
33
|
cause?: unknown;
|
|
25
34
|
}
|
|
35
|
+
/** Options for forwarding diagnostic warnings. */
|
|
26
36
|
export interface SubtitleDiagnosticsOptions {
|
|
27
37
|
debug?: boolean;
|
|
28
38
|
onWarning?: (warning: SubtitleDiagnosticWarning) => void;
|
|
29
39
|
}
|
|
40
|
+
/** Binary chunk accepted by the live PGS/DVB renderer push API. */
|
|
41
|
+
export type SubtitleStreamChunk = ArrayBuffer | Uint8Array;
|
|
42
|
+
/** Incremental input surface implemented by the live PGS and DVB video renderers. */
|
|
43
|
+
export interface LiveSubtitleRenderer {
|
|
44
|
+
/** Append bytes and resolve with the number of newly indexed cues. */
|
|
45
|
+
append(data: SubtitleStreamChunk): Promise<number>;
|
|
46
|
+
/** Discard any incomplete trailing input and resolve with the total cue count. */
|
|
47
|
+
flush(): Promise<number>;
|
|
48
|
+
/** Clear all stream/parser state while keeping the renderer ready for new input. */
|
|
49
|
+
reset(): Promise<void>;
|
|
50
|
+
}
|
|
30
51
|
/** Subtitle data output format compatible with the original JS implementation. */
|
|
31
52
|
export interface SubtitleData {
|
|
32
53
|
/** Total width of the presentation (screen). */
|
|
@@ -36,11 +57,14 @@ export interface SubtitleData {
|
|
|
36
57
|
/** Pre-compiled composition elements. */
|
|
37
58
|
compositionData: SubtitleCompositionData[];
|
|
38
59
|
}
|
|
60
|
+
/** Whether exported frames keep the full screen or crop to ink. */
|
|
39
61
|
export type SubtitleFrameCropMode = 'bounds' | 'screen';
|
|
62
|
+
/** Options for flattening a subtitle frame to RGBA. */
|
|
40
63
|
export interface SubtitleFrameRenderOptions {
|
|
41
64
|
/** Compose only the visible cue bounds or the full subtitle presentation area. */
|
|
42
65
|
crop?: SubtitleFrameCropMode;
|
|
43
66
|
}
|
|
67
|
+
/** Flattened RGBA subtitle frame plus placement metadata. */
|
|
44
68
|
export interface SubtitleRenderedFrameData {
|
|
45
69
|
/** Flattened RGBA pixels for the composed subtitle frame export. */
|
|
46
70
|
imageData: ImageData;
|
|
@@ -59,7 +83,9 @@ export interface SubtitleRenderedFrameData {
|
|
|
59
83
|
/** Number of source compositions folded into the export. */
|
|
60
84
|
compositionCount: number;
|
|
61
85
|
}
|
|
86
|
+
/** Canvas target accepted by toCanvas(). */
|
|
62
87
|
export type SubtitleFrameCanvasTarget = HTMLCanvasElement | OffscreenCanvas | CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
|
|
88
|
+
/** Options for drawing a rendered frame onto a canvas. */
|
|
63
89
|
export interface SubtitleFrameCanvasOptions extends SubtitleFrameRenderOptions {
|
|
64
90
|
/** Resize the target canvas to the rendered frame size before drawing. */
|
|
65
91
|
resizeCanvas?: boolean;
|
|
@@ -75,12 +101,14 @@ export interface SubtitleCompositionData {
|
|
|
75
101
|
/** Y position on screen. */
|
|
76
102
|
y: number;
|
|
77
103
|
}
|
|
104
|
+
/** Axis-aligned bounds of a subtitle cue. */
|
|
78
105
|
export interface SubtitleCueBounds {
|
|
79
106
|
x: number;
|
|
80
107
|
y: number;
|
|
81
108
|
width: number;
|
|
82
109
|
height: number;
|
|
83
110
|
}
|
|
111
|
+
/** Indexed cue timing and placement metadata. */
|
|
84
112
|
export interface SubtitleCueMetadata {
|
|
85
113
|
index: number;
|
|
86
114
|
format: SubtitleFormatName;
|
|
@@ -97,6 +125,7 @@ export interface SubtitleCueMetadata {
|
|
|
97
125
|
trackId?: string | null;
|
|
98
126
|
filePosition?: number;
|
|
99
127
|
}
|
|
128
|
+
/** Parser-level track metadata. */
|
|
100
129
|
export interface SubtitleParserMetadata {
|
|
101
130
|
format: SubtitleFormatName;
|
|
102
131
|
cueCount: number;
|
|
@@ -106,6 +135,7 @@ export interface SubtitleParserMetadata {
|
|
|
106
135
|
trackId?: string | null;
|
|
107
136
|
hasIdxMetadata?: boolean;
|
|
108
137
|
}
|
|
138
|
+
/** In-memory subtitle document returned by openSubtitles(). */
|
|
109
139
|
export interface OpenedSubtitles {
|
|
110
140
|
/** Detected subtitle format after the source has been opened. */
|
|
111
141
|
readonly format: SubtitleFormatName;
|
|
@@ -134,9 +164,17 @@ export interface OpenedSubtitles {
|
|
|
134
164
|
export interface VideoSubtitleOptions {
|
|
135
165
|
/** The video element to sync with */
|
|
136
166
|
video: HTMLVideoElement;
|
|
137
|
-
/**
|
|
167
|
+
/** Element or shadow root that should host the overlay canvas (defaults to the video's parent). */
|
|
168
|
+
container?: HTMLElement | ShadowRoot;
|
|
169
|
+
/** Existing canvas to render into. Never removed on dispose; Worker OffscreenCanvas requires an explicit backend. */
|
|
170
|
+
canvas?: HTMLCanvasElement;
|
|
171
|
+
/** Cap the canvas backing-store pixel ratio while preserving its CSS size. */
|
|
172
|
+
devicePixelRatioCap?: number;
|
|
173
|
+
/** Force a present backend instead of using the automatic backend ladder. */
|
|
174
|
+
backend?: SubtitleRendererBackend | 'auto';
|
|
175
|
+
/** URL to the subtitle file. Omit both sources to create a live PGS/DVB push renderer. */
|
|
138
176
|
subUrl?: string;
|
|
139
|
-
/** Direct subtitle content (ArrayBuffer) */
|
|
177
|
+
/** Direct subtitle content (ArrayBuffer). Omit both sources to create a live PGS/DVB push renderer. */
|
|
140
178
|
subContent?: ArrayBuffer;
|
|
141
179
|
/** Worker URL (kept for API compatibility, not used in WASM version) */
|
|
142
180
|
workerUrl?: string;
|
|
@@ -150,6 +188,10 @@ export interface VideoSubtitleOptions {
|
|
|
150
188
|
onWebGPUFallback?: () => void;
|
|
151
189
|
/** Callback when WebGL2 is unavailable and falling back to Canvas2D */
|
|
152
190
|
onWebGL2Fallback?: () => void;
|
|
191
|
+
/** Prefer Worker OffscreenCanvas present on the Canvas2D tier (default true) */
|
|
192
|
+
offscreenRender?: boolean;
|
|
193
|
+
/** Sync cue selection to presented video-frame mediaTime when supported (default true) */
|
|
194
|
+
frameAwareSync?: boolean;
|
|
153
195
|
/** Initial display settings for subtitle layout */
|
|
154
196
|
displaySettings?: Partial<SubtitleDisplaySettings>;
|
|
155
197
|
/** Maximum number of rendered frames kept in cache */
|
|
@@ -198,7 +240,27 @@ export interface SubtitleDisplaySettings {
|
|
|
198
240
|
/** Global subtitle opacity (0.0 - 1.0) */
|
|
199
241
|
opacity: number;
|
|
200
242
|
}
|
|
201
|
-
|
|
243
|
+
/** Presentation backend selected by a high-level renderer. */
|
|
244
|
+
export type SubtitleRendererBackend = 'webgpu' | 'webgl2' | 'worker-offscreen' | 'canvas2d';
|
|
245
|
+
/** Whether cue times follow RVFC or requestAnimationFrame. */
|
|
246
|
+
export type SubtitleSynchronizationMode = 'video-frame' | 'animation-frame';
|
|
247
|
+
/** Concrete present path used for the last frame. */
|
|
248
|
+
export type SubtitlePresentPath = 'main-webgpu' | 'main-webgl2' | 'worker-offscreen' | 'main-canvas2d' | 'main-thread';
|
|
249
|
+
/** Probed browser capabilities for rendering backends. */
|
|
250
|
+
export interface RuntimeCapabilities {
|
|
251
|
+
worker: boolean;
|
|
252
|
+
offscreenCanvas: boolean;
|
|
253
|
+
transferControlToOffscreen: boolean;
|
|
254
|
+
offscreenCanvas2d: boolean;
|
|
255
|
+
workerOffscreenRender: boolean;
|
|
256
|
+
webgpu: boolean;
|
|
257
|
+
webgl2: boolean;
|
|
258
|
+
canvas2d: boolean;
|
|
259
|
+
createImageBitmap: boolean;
|
|
260
|
+
preferredPresentPath: SubtitlePresentPath;
|
|
261
|
+
reasons: string[];
|
|
262
|
+
}
|
|
263
|
+
/** Observability event emitted by a high-level renderer. */
|
|
202
264
|
export type SubtitleRendererEvent = {
|
|
203
265
|
type: 'loading';
|
|
204
266
|
format: SubtitleFormatName;
|
|
@@ -248,6 +310,7 @@ export type SubtitleRendererEvent = {
|
|
|
248
310
|
type: 'stats';
|
|
249
311
|
stats: SubtitleRendererStatsSnapshot;
|
|
250
312
|
};
|
|
313
|
+
/** Frame-cache occupancy counters. */
|
|
251
314
|
export interface SubtitleCacheStats {
|
|
252
315
|
cacheLimit: number;
|
|
253
316
|
cachedFrames: number;
|
|
@@ -257,7 +320,9 @@ export interface SubtitleCacheStats {
|
|
|
257
320
|
workerReady: boolean;
|
|
258
321
|
sessionId: string | null;
|
|
259
322
|
}
|
|
323
|
+
/** Status of the last present attempt. */
|
|
260
324
|
export type SubtitleRenderStatus = 'rendered' | 'cleared' | 'pending' | 'empty' | 'failed';
|
|
325
|
+
/** Details about the last presented or skipped frame. */
|
|
261
326
|
export interface SubtitleLastRenderInfo {
|
|
262
327
|
time: number;
|
|
263
328
|
index: number;
|
|
@@ -273,6 +338,7 @@ export interface SubtitleLastRenderInfo {
|
|
|
273
338
|
cache: SubtitleCacheStats;
|
|
274
339
|
capturedAt: number;
|
|
275
340
|
}
|
|
341
|
+
/** Renderer stats snapshot including backend and sync mode. */
|
|
276
342
|
export interface SubtitleRendererStatsSnapshot {
|
|
277
343
|
framesRendered: number;
|
|
278
344
|
framesDropped: number;
|
|
@@ -286,7 +352,9 @@ export interface SubtitleRendererStatsSnapshot {
|
|
|
286
352
|
pendingRenders: number;
|
|
287
353
|
totalEntries: number;
|
|
288
354
|
currentIndex: number;
|
|
355
|
+
syncMode: SubtitleSynchronizationMode;
|
|
289
356
|
}
|
|
357
|
+
/** Legacy alias for a composed image plane. */
|
|
290
358
|
export interface CompositionData {
|
|
291
359
|
rgba: Uint8Array;
|
|
292
360
|
x: number;
|
|
@@ -294,11 +362,13 @@ export interface CompositionData {
|
|
|
294
362
|
width: number;
|
|
295
363
|
height: number;
|
|
296
364
|
}
|
|
365
|
+
/** Legacy alias for a composed subtitle frame. */
|
|
297
366
|
export interface FrameData {
|
|
298
367
|
width: number;
|
|
299
368
|
height: number;
|
|
300
369
|
compositions: CompositionData[];
|
|
301
370
|
}
|
|
371
|
+
/** Metadata describing a worker OffscreenCanvas session. */
|
|
302
372
|
export interface WorkerSessionMetadata {
|
|
303
373
|
format: SubtitleFormatName;
|
|
304
374
|
cueCount: number;
|
|
@@ -308,6 +378,18 @@ export interface WorkerSessionMetadata {
|
|
|
308
378
|
trackId?: string;
|
|
309
379
|
hasIdxMetadata?: boolean;
|
|
310
380
|
}
|
|
381
|
+
/** Display settings forwarded to the worker compositor. */
|
|
382
|
+
export interface WorkerOffscreenDisplaySettings {
|
|
383
|
+
scale: number;
|
|
384
|
+
aspectMode: SubtitleAspectMode;
|
|
385
|
+
verticalOffset: number;
|
|
386
|
+
horizontalOffset: number;
|
|
387
|
+
horizontalAlign: SubtitleHorizontalAlign;
|
|
388
|
+
bottomPadding: number;
|
|
389
|
+
safeArea: number;
|
|
390
|
+
opacity: number;
|
|
391
|
+
}
|
|
392
|
+
/** Request posted to the libbitsub worker. */
|
|
311
393
|
export type WorkerRequest = {
|
|
312
394
|
type: 'init';
|
|
313
395
|
wasmUrl: string;
|
|
@@ -326,6 +408,26 @@ export type WorkerRequest = {
|
|
|
326
408
|
} | {
|
|
327
409
|
type: 'finishPgs';
|
|
328
410
|
sessionId: string;
|
|
411
|
+
} | {
|
|
412
|
+
type: 'resetPgs';
|
|
413
|
+
sessionId: string;
|
|
414
|
+
} | {
|
|
415
|
+
type: 'loadDvb';
|
|
416
|
+
sessionId: string;
|
|
417
|
+
data: ArrayBuffer;
|
|
418
|
+
} | {
|
|
419
|
+
type: 'beginDvb';
|
|
420
|
+
sessionId: string;
|
|
421
|
+
} | {
|
|
422
|
+
type: 'appendDvb';
|
|
423
|
+
sessionId: string;
|
|
424
|
+
data: ArrayBuffer;
|
|
425
|
+
} | {
|
|
426
|
+
type: 'finishDvb';
|
|
427
|
+
sessionId: string;
|
|
428
|
+
} | {
|
|
429
|
+
type: 'resetDvb';
|
|
430
|
+
sessionId: string;
|
|
329
431
|
} | {
|
|
330
432
|
type: 'loadVobSub';
|
|
331
433
|
sessionId: string;
|
|
@@ -351,6 +453,10 @@ export type WorkerRequest = {
|
|
|
351
453
|
type: 'renderPgsAtIndex';
|
|
352
454
|
sessionId: string;
|
|
353
455
|
index: number;
|
|
456
|
+
} | {
|
|
457
|
+
type: 'renderDvbAtIndex';
|
|
458
|
+
sessionId: string;
|
|
459
|
+
index: number;
|
|
354
460
|
} | {
|
|
355
461
|
type: 'renderVobSubAtIndex';
|
|
356
462
|
sessionId: string;
|
|
@@ -359,6 +465,10 @@ export type WorkerRequest = {
|
|
|
359
465
|
type: 'findPgsIndex';
|
|
360
466
|
sessionId: string;
|
|
361
467
|
timeMs: number;
|
|
468
|
+
} | {
|
|
469
|
+
type: 'findDvbIndex';
|
|
470
|
+
sessionId: string;
|
|
471
|
+
timeMs: number;
|
|
362
472
|
} | {
|
|
363
473
|
type: 'findVobSubIndex';
|
|
364
474
|
sessionId: string;
|
|
@@ -366,18 +476,27 @@ export type WorkerRequest = {
|
|
|
366
476
|
} | {
|
|
367
477
|
type: 'getPgsTimestamps';
|
|
368
478
|
sessionId: string;
|
|
479
|
+
} | {
|
|
480
|
+
type: 'getDvbTimestamps';
|
|
481
|
+
sessionId: string;
|
|
369
482
|
} | {
|
|
370
483
|
type: 'getVobSubTimestamps';
|
|
371
484
|
sessionId: string;
|
|
372
485
|
} | {
|
|
373
486
|
type: 'clearPgsCache';
|
|
374
487
|
sessionId: string;
|
|
488
|
+
} | {
|
|
489
|
+
type: 'clearDvbCache';
|
|
490
|
+
sessionId: string;
|
|
375
491
|
} | {
|
|
376
492
|
type: 'clearVobSubCache';
|
|
377
493
|
sessionId: string;
|
|
378
494
|
} | {
|
|
379
495
|
type: 'disposePgs';
|
|
380
496
|
sessionId: string;
|
|
497
|
+
} | {
|
|
498
|
+
type: 'disposeDvb';
|
|
499
|
+
sessionId: string;
|
|
381
500
|
} | {
|
|
382
501
|
type: 'disposeVobSub';
|
|
383
502
|
sessionId: string;
|
|
@@ -393,7 +512,33 @@ export type WorkerRequest = {
|
|
|
393
512
|
type: 'setVobSubDebandRange';
|
|
394
513
|
sessionId: string;
|
|
395
514
|
range: number;
|
|
515
|
+
} | {
|
|
516
|
+
type: 'attachOffscreenCanvas';
|
|
517
|
+
sessionId: string;
|
|
518
|
+
canvas: OffscreenCanvas;
|
|
519
|
+
} | {
|
|
520
|
+
type: 'resizeOffscreenCanvas';
|
|
521
|
+
sessionId: string;
|
|
522
|
+
width: number;
|
|
523
|
+
height: number;
|
|
524
|
+
} | {
|
|
525
|
+
type: 'detachOffscreenCanvas';
|
|
526
|
+
sessionId: string;
|
|
527
|
+
} | {
|
|
528
|
+
type: 'clearOffscreenCanvas';
|
|
529
|
+
sessionId: string;
|
|
530
|
+
} | {
|
|
531
|
+
type: 'presentOffscreen';
|
|
532
|
+
sessionId: string;
|
|
533
|
+
format: SubtitleFormatName;
|
|
534
|
+
index: number;
|
|
535
|
+
canvasWidth: number;
|
|
536
|
+
canvasHeight: number;
|
|
537
|
+
displaySettings: WorkerOffscreenDisplaySettings;
|
|
396
538
|
};
|
|
539
|
+
/** Present status reported by the worker compositor. */
|
|
540
|
+
export type WorkerOffscreenPresentStatus = 'rendered' | 'cleared' | 'empty' | 'failed';
|
|
541
|
+
/** Response posted from the libbitsub worker. */
|
|
397
542
|
export type WorkerResponse = {
|
|
398
543
|
type: 'initComplete';
|
|
399
544
|
success: boolean;
|
|
@@ -411,6 +556,21 @@ export type WorkerResponse = {
|
|
|
411
556
|
partial: boolean;
|
|
412
557
|
metadata: WorkerSessionMetadata;
|
|
413
558
|
timestamps: Float64Array;
|
|
559
|
+
} | {
|
|
560
|
+
type: 'dvbLoaded';
|
|
561
|
+
count: number;
|
|
562
|
+
byteLength: number;
|
|
563
|
+
metadata: WorkerSessionMetadata;
|
|
564
|
+
timestamps: Float64Array;
|
|
565
|
+
endTimestamps: Float64Array;
|
|
566
|
+
} | {
|
|
567
|
+
type: 'dvbProgress';
|
|
568
|
+
count: number;
|
|
569
|
+
added: number;
|
|
570
|
+
partial: boolean;
|
|
571
|
+
metadata: WorkerSessionMetadata;
|
|
572
|
+
timestamps: Float64Array;
|
|
573
|
+
endTimestamps: Float64Array;
|
|
414
574
|
} | {
|
|
415
575
|
type: 'vobSubLoaded';
|
|
416
576
|
count: number;
|
|
@@ -427,6 +587,10 @@ export type WorkerResponse = {
|
|
|
427
587
|
type: 'pgsFrame';
|
|
428
588
|
frame: FrameData | null;
|
|
429
589
|
renderIssue?: string;
|
|
590
|
+
} | {
|
|
591
|
+
type: 'dvbFrame';
|
|
592
|
+
frame: FrameData | null;
|
|
593
|
+
renderIssue?: string;
|
|
430
594
|
} | {
|
|
431
595
|
type: 'vobSubFrame';
|
|
432
596
|
frame: FrameData | null;
|
|
@@ -434,12 +598,18 @@ export type WorkerResponse = {
|
|
|
434
598
|
} | {
|
|
435
599
|
type: 'pgsIndex';
|
|
436
600
|
index: number;
|
|
601
|
+
} | {
|
|
602
|
+
type: 'dvbIndex';
|
|
603
|
+
index: number;
|
|
437
604
|
} | {
|
|
438
605
|
type: 'vobSubIndex';
|
|
439
606
|
index: number;
|
|
440
607
|
} | {
|
|
441
608
|
type: 'pgsTimestamps';
|
|
442
609
|
timestamps: Float64Array;
|
|
610
|
+
} | {
|
|
611
|
+
type: 'dvbTimestamps';
|
|
612
|
+
timestamps: Float64Array;
|
|
443
613
|
} | {
|
|
444
614
|
type: 'vobSubTimestamps';
|
|
445
615
|
timestamps: Float64Array;
|
|
@@ -449,6 +619,24 @@ export type WorkerResponse = {
|
|
|
449
619
|
type: 'disposed';
|
|
450
620
|
} | {
|
|
451
621
|
type: 'debandSet';
|
|
622
|
+
} | {
|
|
623
|
+
type: 'offscreenAttached';
|
|
624
|
+
} | {
|
|
625
|
+
type: 'offscreenResized';
|
|
626
|
+
} | {
|
|
627
|
+
type: 'offscreenDetached';
|
|
628
|
+
} | {
|
|
629
|
+
type: 'offscreenCleared';
|
|
630
|
+
} | {
|
|
631
|
+
type: 'offscreenPresented';
|
|
632
|
+
status: WorkerOffscreenPresentStatus;
|
|
633
|
+
/** True only when the worker presentation infrastructure is unusable. */
|
|
634
|
+
fatal?: boolean;
|
|
635
|
+
renderIssue?: string;
|
|
636
|
+
width?: number;
|
|
637
|
+
height?: number;
|
|
638
|
+
compositionCount?: number;
|
|
639
|
+
bounds?: SubtitleCueBounds | null;
|
|
452
640
|
} | {
|
|
453
641
|
type: 'error';
|
|
454
642
|
message: string;
|
|
@@ -465,6 +653,7 @@ export interface WorkerRendererState {
|
|
|
465
653
|
cacheLimit: number;
|
|
466
654
|
metadata: SubtitleParserMetadata | null;
|
|
467
655
|
}
|
|
656
|
+
/** Source fields used by createAutoSubtitleRenderer(). */
|
|
468
657
|
export interface AutoSubtitleSource {
|
|
469
658
|
data?: ArrayBuffer | Uint8Array;
|
|
470
659
|
subData?: ArrayBuffer | Uint8Array;
|
|
@@ -473,6 +662,7 @@ export interface AutoSubtitleSource {
|
|
|
473
662
|
subUrl?: string;
|
|
474
663
|
idxUrl?: string;
|
|
475
664
|
}
|
|
665
|
+
/** Options for auto-detecting PGS/VobSub/DVB input. */
|
|
476
666
|
export interface AutoVideoSubtitleOptions extends Omit<VideoVobSubOptions, 'subUrl' | 'idxUrl'> {
|
|
477
667
|
subUrl?: string;
|
|
478
668
|
idxUrl?: string;
|
package/dist/ts/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ts/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ts/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ts/utils.d.ts
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* Utility functions for libbitsub.
|
|
3
3
|
*/
|
|
4
4
|
import type { AutoSubtitleSource, FrameData, SubtitleCueBounds, SubtitleData, SubtitleFormatName, WorkerRendererState } from './types';
|
|
5
|
+
/** is Mks Source. */
|
|
5
6
|
export declare function isMksSource(source: Pick<AutoSubtitleSource, 'data' | 'subData' | 'fileName' | 'subUrl'>): boolean;
|
|
6
7
|
/** Binary search for timestamp index. */
|
|
7
8
|
export declare function binarySearchTimestamp(timestamps: Float64Array, timeMs: number): number;
|
|
8
9
|
/** Convert worker frame data to SubtitleData. */
|
|
9
10
|
export declare function convertFrameData(frame: FrameData): SubtitleData;
|
|
11
|
+
/** trim Transparent Image Data. */
|
|
10
12
|
export declare function trimTransparentImageData(pixels: Uint8Array | Uint8ClampedArray, width: number, height: number): {
|
|
11
13
|
pixelData: ImageData;
|
|
12
14
|
offsetX: number;
|
package/dist/ts/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAET,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAET,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAmUhB,qBAAqB;AACrB,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,OAAO,CAMjH;AAED,yCAAyC;AACzC,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmBtF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAc/D;AAED,mCAAmC;AACnC,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,iBAAiB,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsDnE;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAyB9E;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI,CAkBN;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAwB1F;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,mBAAmB,CAYvD"}
|
package/dist/ts/utils.js
CHANGED
|
@@ -22,6 +22,91 @@ function toClampedView(pixels) {
|
|
|
22
22
|
function looksLikePgsBinary(binary) {
|
|
23
23
|
return binary.length >= 2 && binary[0] === 0x50 && binary[1] === 0x47;
|
|
24
24
|
}
|
|
25
|
+
const DVB_SYNC_BYTE = 0x0f;
|
|
26
|
+
const DVB_PAGE_COMPOSITION = 0x10;
|
|
27
|
+
const DVB_REGION_COMPOSITION = 0x11;
|
|
28
|
+
const DVB_CLUT_DEFINITION = 0x12;
|
|
29
|
+
const DVB_OBJECT_DATA = 0x13;
|
|
30
|
+
const DVB_DISPLAY_DEFINITION = 0x14;
|
|
31
|
+
const DVB_END_OF_DISPLAY_SET = 0x80;
|
|
32
|
+
const DVB_STUFFING = 0xff;
|
|
33
|
+
function isKnownDvbSegmentType(segmentType) {
|
|
34
|
+
return (segmentType === DVB_PAGE_COMPOSITION ||
|
|
35
|
+
segmentType === DVB_REGION_COMPOSITION ||
|
|
36
|
+
segmentType === DVB_CLUT_DEFINITION ||
|
|
37
|
+
segmentType === DVB_OBJECT_DATA ||
|
|
38
|
+
segmentType === DVB_DISPLAY_DEFINITION ||
|
|
39
|
+
segmentType === DVB_END_OF_DISPLAY_SET ||
|
|
40
|
+
segmentType === DVB_STUFFING);
|
|
41
|
+
}
|
|
42
|
+
function looksLikeDvbPayload(binary, start = 0) {
|
|
43
|
+
let offset = start;
|
|
44
|
+
if (binary.length - offset >= 3 &&
|
|
45
|
+
binary[offset] === 0x20 &&
|
|
46
|
+
binary[offset + 1] === 0x00 &&
|
|
47
|
+
binary[offset + 2] === DVB_SYNC_BYTE) {
|
|
48
|
+
offset += 2;
|
|
49
|
+
}
|
|
50
|
+
if (offset >= binary.length || binary[offset] !== DVB_SYNC_BYTE) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
let known = 0;
|
|
54
|
+
while (offset + 6 <= binary.length) {
|
|
55
|
+
if (binary[offset] === DVB_STUFFING)
|
|
56
|
+
break;
|
|
57
|
+
if (binary[offset] !== DVB_SYNC_BYTE)
|
|
58
|
+
break;
|
|
59
|
+
const segmentType = binary[offset + 1];
|
|
60
|
+
const length = (binary[offset + 4] << 8) | binary[offset + 5];
|
|
61
|
+
const total = 6 + length;
|
|
62
|
+
if (offset + total > binary.length)
|
|
63
|
+
break;
|
|
64
|
+
if (isKnownDvbSegmentType(segmentType)) {
|
|
65
|
+
known += 1;
|
|
66
|
+
if (known >= 2 || segmentType === DVB_PAGE_COMPOSITION) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
offset += total;
|
|
71
|
+
}
|
|
72
|
+
return known > 0;
|
|
73
|
+
}
|
|
74
|
+
function looksLikeMpegPesDvb(binary) {
|
|
75
|
+
const limit = Math.min(binary.length - 9, 65_536);
|
|
76
|
+
for (let index = 0; index <= limit; index += 1) {
|
|
77
|
+
if (binary[index] !== 0x00 ||
|
|
78
|
+
binary[index + 1] !== 0x00 ||
|
|
79
|
+
binary[index + 2] !== 0x01 ||
|
|
80
|
+
binary[index + 3] !== 0xbd) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const packetLength = (binary[index + 4] << 8) | binary[index + 5];
|
|
84
|
+
const total = 6 + packetLength;
|
|
85
|
+
if (index + total > binary.length || total < 9)
|
|
86
|
+
continue;
|
|
87
|
+
const headerDataLength = binary[index + 8];
|
|
88
|
+
const payloadStart = index + 9 + headerDataLength;
|
|
89
|
+
if (payloadStart >= index + total)
|
|
90
|
+
continue;
|
|
91
|
+
if (looksLikeDvbPayload(binary.subarray(payloadStart, index + total))) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
function looksLikeDvbBinary(binary) {
|
|
98
|
+
if (binary.length >= 10 && binary[0] === 0x44 && binary[1] === 0x56) {
|
|
99
|
+
// "DV" framed dump
|
|
100
|
+
const payloadLen = ((binary[6] << 24) | (binary[7] << 16) | (binary[8] << 8) | binary[9]) >>> 0;
|
|
101
|
+
if (payloadLen > 0 && binary.length >= 10 + Math.min(payloadLen, 64)) {
|
|
102
|
+
if (looksLikeDvbPayload(binary.subarray(10)))
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (looksLikeMpegPesDvb(binary))
|
|
107
|
+
return true;
|
|
108
|
+
return looksLikeDvbPayload(binary);
|
|
109
|
+
}
|
|
25
110
|
const EBML_HEADER_ID = 0x1a45dfa3;
|
|
26
111
|
const EBML_DOC_TYPE_ID = 0x4282;
|
|
27
112
|
const EBML_SEGMENT_ID = 0x18538067;
|
|
@@ -178,6 +263,7 @@ function looksLikeVobSubBinary(binary) {
|
|
|
178
263
|
}
|
|
179
264
|
return false;
|
|
180
265
|
}
|
|
266
|
+
/** is Mks Source. */
|
|
181
267
|
export function isMksSource(source) {
|
|
182
268
|
const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
|
|
183
269
|
if (fileHint?.endsWith('.mks'))
|
|
@@ -219,6 +305,7 @@ export function convertFrameData(frame) {
|
|
|
219
305
|
});
|
|
220
306
|
return { width: frame.width, height: frame.height, compositionData };
|
|
221
307
|
}
|
|
308
|
+
/** trim Transparent Image Data. */
|
|
222
309
|
export function trimTransparentImageData(pixels, width, height) {
|
|
223
310
|
const clampedPixels = toClampedView(pixels);
|
|
224
311
|
if (width <= 0 || height <= 0 || clampedPixels.length !== width * height * 4) {
|
|
@@ -331,24 +418,35 @@ export function createWorkerSessionId() {
|
|
|
331
418
|
}
|
|
332
419
|
/** Detect the subtitle format from binary content, filenames or URLs. */
|
|
333
420
|
export function detectSubtitleFormat(source) {
|
|
421
|
+
// VobSub almost always ships with an .idx companion.
|
|
334
422
|
if (source.idxContent || source.idxUrl)
|
|
335
423
|
return 'vobsub';
|
|
336
424
|
const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
|
|
337
|
-
if (fileHint?.endsWith('.
|
|
425
|
+
if (fileHint?.endsWith('.idx'))
|
|
338
426
|
return 'vobsub';
|
|
339
427
|
if (fileHint?.endsWith('.mks'))
|
|
340
428
|
return 'vobsub';
|
|
341
429
|
if (fileHint?.endsWith('.sup') || fileHint?.endsWith('.pgs'))
|
|
342
430
|
return 'pgs';
|
|
431
|
+
if (fileHint?.endsWith('.dvb'))
|
|
432
|
+
return 'dvb';
|
|
343
433
|
const binary = toBinaryView(source.data ?? source.subData);
|
|
344
|
-
if (!binary)
|
|
434
|
+
if (!binary) {
|
|
435
|
+
// Bare .sub without bytes cannot be distinguished; prefer VobSub historically.
|
|
436
|
+
if (fileHint?.endsWith('.sub'))
|
|
437
|
+
return 'vobsub';
|
|
345
438
|
return null;
|
|
439
|
+
}
|
|
346
440
|
if (looksLikePgsBinary(binary))
|
|
347
441
|
return 'pgs';
|
|
442
|
+
if (looksLikeDvbBinary(binary))
|
|
443
|
+
return 'dvb';
|
|
348
444
|
if (looksLikeMksBinary(binary))
|
|
349
445
|
return 'vobsub';
|
|
350
446
|
if (looksLikeVobSubBinary(binary))
|
|
351
447
|
return 'vobsub';
|
|
448
|
+
if (fileHint?.endsWith('.sub'))
|
|
449
|
+
return 'vobsub';
|
|
352
450
|
return null;
|
|
353
451
|
}
|
|
354
452
|
/** Create initial worker state. */
|