libbitsub 1.5.1 → 1.7.0
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 +262 -223
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ts/parsers.d.ts +18 -1
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +151 -0
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/renderers.d.ts +54 -4
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +457 -87
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +147 -3
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts +11 -1
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +100 -1
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/wasm.js.map +1 -1
- package/dist/ts/webgl2-renderer.d.ts +57 -0
- package/dist/ts/webgl2-renderer.d.ts.map +1 -0
- package/dist/ts/webgl2-renderer.js +293 -0
- package/dist/ts/webgl2-renderer.js.map +1 -0
- package/dist/ts/webgpu-renderer.d.ts +5 -1
- package/dist/ts/webgpu-renderer.d.ts.map +1 -1
- package/dist/ts/webgpu-renderer.js +64 -45
- package/dist/ts/webgpu-renderer.js.map +1 -1
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +145 -87
- package/dist/ts/worker.js.map +1 -1
- package/dist/wrapper.d.ts +3 -2
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +3 -1
- package/dist/wrapper.js.map +1 -1
- package/package.json +3 -2
- package/pkg/README.md +262 -223
- package/pkg/libbitsub.d.ts +120 -0
- package/pkg/libbitsub.js +251 -15
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +24 -0
- package/pkg/package.json +1 -1
- package/src/wrapper.ts +14 -1
package/dist/ts/parsers.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Low-level subtitle parsers for libbitsub.
|
|
3
3
|
* Use these for programmatic access to subtitle data without video integration.
|
|
4
4
|
*/
|
|
5
|
-
import type { SubtitleData } from './types';
|
|
5
|
+
import type { AutoSubtitleSource, SubtitleData, SubtitleCueMetadata, SubtitleParserMetadata, SubtitleFormatName } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* Low-level PGS subtitle parser using WASM.
|
|
8
8
|
* Use this for programmatic access to PGS data without video integration.
|
|
@@ -10,6 +10,7 @@ import type { SubtitleData } from './types';
|
|
|
10
10
|
export declare class PgsParser {
|
|
11
11
|
private parser;
|
|
12
12
|
private timestamps;
|
|
13
|
+
private cueMetadataCache;
|
|
13
14
|
constructor();
|
|
14
15
|
/**
|
|
15
16
|
* Load PGS subtitle data from a Uint8Array.
|
|
@@ -31,6 +32,10 @@ export declare class PgsParser {
|
|
|
31
32
|
* Render subtitle at the given index.
|
|
32
33
|
*/
|
|
33
34
|
renderAtIndex(index: number): SubtitleData | undefined;
|
|
35
|
+
/** Get parser-level metadata. */
|
|
36
|
+
getMetadata(): SubtitleParserMetadata;
|
|
37
|
+
/** Get cue metadata for the given index. */
|
|
38
|
+
getCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
34
39
|
/**
|
|
35
40
|
* Render subtitle at the given timestamp in seconds.
|
|
36
41
|
*/
|
|
@@ -55,6 +60,7 @@ export declare class PgsParser {
|
|
|
55
60
|
export declare class VobSubParserLowLevel {
|
|
56
61
|
private parser;
|
|
57
62
|
private timestamps;
|
|
63
|
+
private cueMetadataCache;
|
|
58
64
|
constructor();
|
|
59
65
|
/**
|
|
60
66
|
* Load VobSub from IDX and SUB data.
|
|
@@ -80,6 +86,10 @@ export declare class VobSubParserLowLevel {
|
|
|
80
86
|
* Render subtitle at the given index.
|
|
81
87
|
*/
|
|
82
88
|
renderAtIndex(index: number): SubtitleData | undefined;
|
|
89
|
+
/** Get parser-level metadata. */
|
|
90
|
+
getMetadata(): SubtitleParserMetadata;
|
|
91
|
+
/** Get cue metadata for the given index. */
|
|
92
|
+
getCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
83
93
|
/**
|
|
84
94
|
* Render subtitle at the given timestamp in seconds.
|
|
85
95
|
*/
|
|
@@ -119,6 +129,7 @@ export declare class VobSubParserLowLevel {
|
|
|
119
129
|
export declare class UnifiedSubtitleParser {
|
|
120
130
|
private renderer;
|
|
121
131
|
private timestamps;
|
|
132
|
+
private cueMetadataCache;
|
|
122
133
|
constructor();
|
|
123
134
|
/**
|
|
124
135
|
* Load PGS subtitle data.
|
|
@@ -132,6 +143,8 @@ export declare class UnifiedSubtitleParser {
|
|
|
132
143
|
* Load VobSub from SUB file only.
|
|
133
144
|
*/
|
|
134
145
|
loadVobSubOnly(subData: Uint8Array): void;
|
|
146
|
+
/** Load subtitle data with automatic format detection. */
|
|
147
|
+
loadAuto(source: AutoSubtitleSource): SubtitleFormatName;
|
|
135
148
|
/**
|
|
136
149
|
* Get the current subtitle format.
|
|
137
150
|
*/
|
|
@@ -152,6 +165,10 @@ export declare class UnifiedSubtitleParser {
|
|
|
152
165
|
* Render subtitle at the given index.
|
|
153
166
|
*/
|
|
154
167
|
renderAtIndex(index: number): SubtitleData | undefined;
|
|
168
|
+
/** Get parser-level metadata. */
|
|
169
|
+
getMetadata(): SubtitleParserMetadata | null;
|
|
170
|
+
/** Get cue metadata for the given index. */
|
|
171
|
+
getCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
155
172
|
/**
|
|
156
173
|
* Render subtitle at the given timestamp in seconds.
|
|
157
174
|
*/
|
package/dist/ts/parsers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/ts/parsers.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Use these for programmatic access to subtitle data without video integration.
|
|
4
4
|
*/
|
|
5
5
|
import { getWasm } from './wasm';
|
|
6
|
+
import { detectSubtitleFormat, getSubtitleBounds } from './utils';
|
|
6
7
|
/**
|
|
7
8
|
* Low-level PGS subtitle parser using WASM.
|
|
8
9
|
* Use this for programmatic access to PGS data without video integration.
|
|
@@ -10,6 +11,7 @@ import { getWasm } from './wasm';
|
|
|
10
11
|
export class PgsParser {
|
|
11
12
|
parser = null;
|
|
12
13
|
timestamps = new Float64Array(0);
|
|
14
|
+
cueMetadataCache = new Map();
|
|
13
15
|
constructor() {
|
|
14
16
|
const wasm = getWasm();
|
|
15
17
|
this.parser = new wasm.PgsParser();
|
|
@@ -22,6 +24,7 @@ export class PgsParser {
|
|
|
22
24
|
throw new Error('Parser not initialized');
|
|
23
25
|
const count = this.parser.parse(data);
|
|
24
26
|
this.timestamps = this.parser.getTimestamps();
|
|
27
|
+
this.cueMetadataCache.clear();
|
|
25
28
|
return count;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
@@ -55,6 +58,40 @@ export class PgsParser {
|
|
|
55
58
|
return undefined;
|
|
56
59
|
return this.convertFrame(frame);
|
|
57
60
|
}
|
|
61
|
+
/** Get parser-level metadata. */
|
|
62
|
+
getMetadata() {
|
|
63
|
+
return {
|
|
64
|
+
format: 'pgs',
|
|
65
|
+
cueCount: this.count,
|
|
66
|
+
screenWidth: this.parser?.screenWidth ?? 0,
|
|
67
|
+
screenHeight: this.parser?.screenHeight ?? 0
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** Get cue metadata for the given index. */
|
|
71
|
+
getCueMetadata(index) {
|
|
72
|
+
if (!this.parser || index < 0 || index >= this.count)
|
|
73
|
+
return null;
|
|
74
|
+
if (this.cueMetadataCache.has(index))
|
|
75
|
+
return this.cueMetadataCache.get(index) ?? null;
|
|
76
|
+
const startTime = this.parser.getCueStartTime(index);
|
|
77
|
+
const endTime = this.parser.getCueEndTime(index);
|
|
78
|
+
const frame = this.renderAtIndex(index);
|
|
79
|
+
const cueMetadata = {
|
|
80
|
+
index,
|
|
81
|
+
format: 'pgs',
|
|
82
|
+
startTime,
|
|
83
|
+
endTime,
|
|
84
|
+
duration: Math.max(0, endTime - startTime),
|
|
85
|
+
screenWidth: this.parser.screenWidth,
|
|
86
|
+
screenHeight: this.parser.screenHeight,
|
|
87
|
+
bounds: frame ? getSubtitleBounds(frame) : null,
|
|
88
|
+
compositionCount: this.parser.getCueCompositionCount(index),
|
|
89
|
+
paletteId: this.parser.getCuePaletteId(index),
|
|
90
|
+
compositionState: this.parser.getCueCompositionState(index)
|
|
91
|
+
};
|
|
92
|
+
this.cueMetadataCache.set(index, cueMetadata);
|
|
93
|
+
return cueMetadata;
|
|
94
|
+
}
|
|
58
95
|
/**
|
|
59
96
|
* Render subtitle at the given timestamp in seconds.
|
|
60
97
|
*/
|
|
@@ -101,6 +138,7 @@ export class PgsParser {
|
|
|
101
138
|
*/
|
|
102
139
|
clearCache() {
|
|
103
140
|
this.parser?.clearCache();
|
|
141
|
+
this.cueMetadataCache.clear();
|
|
104
142
|
}
|
|
105
143
|
/**
|
|
106
144
|
* Dispose of resources.
|
|
@@ -109,6 +147,7 @@ export class PgsParser {
|
|
|
109
147
|
this.parser?.free();
|
|
110
148
|
this.parser = null;
|
|
111
149
|
this.timestamps = new Float64Array(0);
|
|
150
|
+
this.cueMetadataCache.clear();
|
|
112
151
|
}
|
|
113
152
|
}
|
|
114
153
|
/**
|
|
@@ -118,6 +157,7 @@ export class PgsParser {
|
|
|
118
157
|
export class VobSubParserLowLevel {
|
|
119
158
|
parser = null;
|
|
120
159
|
timestamps = new Float64Array(0);
|
|
160
|
+
cueMetadataCache = new Map();
|
|
121
161
|
constructor() {
|
|
122
162
|
const wasm = getWasm();
|
|
123
163
|
this.parser = new wasm.VobSubParser();
|
|
@@ -130,6 +170,7 @@ export class VobSubParserLowLevel {
|
|
|
130
170
|
throw new Error('Parser not initialized');
|
|
131
171
|
this.parser.loadFromData(idxContent, subData);
|
|
132
172
|
this.timestamps = this.parser.getTimestamps();
|
|
173
|
+
this.cueMetadataCache.clear();
|
|
133
174
|
}
|
|
134
175
|
/**
|
|
135
176
|
* Load VobSub from SUB file only.
|
|
@@ -139,6 +180,7 @@ export class VobSubParserLowLevel {
|
|
|
139
180
|
throw new Error('Parser not initialized');
|
|
140
181
|
this.parser.loadFromSubOnly(subData);
|
|
141
182
|
this.timestamps = this.parser.getTimestamps();
|
|
183
|
+
this.cueMetadataCache.clear();
|
|
142
184
|
}
|
|
143
185
|
/**
|
|
144
186
|
* Get all timestamps in milliseconds.
|
|
@@ -171,6 +213,44 @@ export class VobSubParserLowLevel {
|
|
|
171
213
|
return undefined;
|
|
172
214
|
return this.convertFrame(frame);
|
|
173
215
|
}
|
|
216
|
+
/** Get parser-level metadata. */
|
|
217
|
+
getMetadata() {
|
|
218
|
+
return {
|
|
219
|
+
format: 'vobsub',
|
|
220
|
+
cueCount: this.count,
|
|
221
|
+
screenWidth: this.parser?.screenWidth ?? 0,
|
|
222
|
+
screenHeight: this.parser?.screenHeight ?? 0,
|
|
223
|
+
language: this.parser?.language || null,
|
|
224
|
+
trackId: this.parser?.trackId || null,
|
|
225
|
+
hasIdxMetadata: this.parser?.hasIdxMetadata ?? false
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/** Get cue metadata for the given index. */
|
|
229
|
+
getCueMetadata(index) {
|
|
230
|
+
if (!this.parser || index < 0 || index >= this.count)
|
|
231
|
+
return null;
|
|
232
|
+
if (this.cueMetadataCache.has(index))
|
|
233
|
+
return this.cueMetadataCache.get(index) ?? null;
|
|
234
|
+
const startTime = this.parser.getCueStartTime(index);
|
|
235
|
+
const endTime = this.parser.getCueEndTime(index);
|
|
236
|
+
const frame = this.renderAtIndex(index);
|
|
237
|
+
const cueMetadata = {
|
|
238
|
+
index,
|
|
239
|
+
format: 'vobsub',
|
|
240
|
+
startTime,
|
|
241
|
+
endTime,
|
|
242
|
+
duration: this.parser.getCueDuration(index),
|
|
243
|
+
screenWidth: this.parser.screenWidth,
|
|
244
|
+
screenHeight: this.parser.screenHeight,
|
|
245
|
+
bounds: frame ? getSubtitleBounds(frame) : null,
|
|
246
|
+
compositionCount: frame?.compositionData.length ?? 0,
|
|
247
|
+
language: this.parser.language || null,
|
|
248
|
+
trackId: this.parser.trackId || null,
|
|
249
|
+
filePosition: this.parser.getCueFilePosition(index)
|
|
250
|
+
};
|
|
251
|
+
this.cueMetadataCache.set(index, cueMetadata);
|
|
252
|
+
return cueMetadata;
|
|
253
|
+
}
|
|
174
254
|
/**
|
|
175
255
|
* Render subtitle at the given timestamp in seconds.
|
|
176
256
|
*/
|
|
@@ -216,6 +296,7 @@ export class VobSubParserLowLevel {
|
|
|
216
296
|
*/
|
|
217
297
|
clearCache() {
|
|
218
298
|
this.parser?.clearCache();
|
|
299
|
+
this.cueMetadataCache.clear();
|
|
219
300
|
}
|
|
220
301
|
/**
|
|
221
302
|
* Enable or disable debanding filter.
|
|
@@ -248,6 +329,7 @@ export class VobSubParserLowLevel {
|
|
|
248
329
|
this.parser?.free();
|
|
249
330
|
this.parser = null;
|
|
250
331
|
this.timestamps = new Float64Array(0);
|
|
332
|
+
this.cueMetadataCache.clear();
|
|
251
333
|
}
|
|
252
334
|
}
|
|
253
335
|
/**
|
|
@@ -256,6 +338,7 @@ export class VobSubParserLowLevel {
|
|
|
256
338
|
export class UnifiedSubtitleParser {
|
|
257
339
|
renderer = null;
|
|
258
340
|
timestamps = new Float64Array(0);
|
|
341
|
+
cueMetadataCache = new Map();
|
|
259
342
|
constructor() {
|
|
260
343
|
const wasm = getWasm();
|
|
261
344
|
this.renderer = new wasm.SubtitleRenderer();
|
|
@@ -268,6 +351,7 @@ export class UnifiedSubtitleParser {
|
|
|
268
351
|
throw new Error('Renderer not initialized');
|
|
269
352
|
const count = this.renderer.loadPgs(data);
|
|
270
353
|
this.timestamps = this.renderer.getTimestamps();
|
|
354
|
+
this.cueMetadataCache.clear();
|
|
271
355
|
return count;
|
|
272
356
|
}
|
|
273
357
|
/**
|
|
@@ -278,6 +362,7 @@ export class UnifiedSubtitleParser {
|
|
|
278
362
|
throw new Error('Renderer not initialized');
|
|
279
363
|
this.renderer.loadVobSub(idxContent, subData);
|
|
280
364
|
this.timestamps = this.renderer.getTimestamps();
|
|
365
|
+
this.cueMetadataCache.clear();
|
|
281
366
|
}
|
|
282
367
|
/**
|
|
283
368
|
* Load VobSub from SUB file only.
|
|
@@ -287,6 +372,31 @@ export class UnifiedSubtitleParser {
|
|
|
287
372
|
throw new Error('Renderer not initialized');
|
|
288
373
|
this.renderer.loadVobSubOnly(subData);
|
|
289
374
|
this.timestamps = this.renderer.getTimestamps();
|
|
375
|
+
this.cueMetadataCache.clear();
|
|
376
|
+
}
|
|
377
|
+
/** Load subtitle data with automatic format detection. */
|
|
378
|
+
loadAuto(source) {
|
|
379
|
+
const format = detectSubtitleFormat(source);
|
|
380
|
+
if (!format) {
|
|
381
|
+
throw new Error('Unable to detect subtitle format');
|
|
382
|
+
}
|
|
383
|
+
if (format === 'pgs') {
|
|
384
|
+
const data = source.data ?? source.subData;
|
|
385
|
+
if (!data)
|
|
386
|
+
throw new Error('No binary subtitle data provided for PGS');
|
|
387
|
+
this.loadPgs(data instanceof Uint8Array ? data : new Uint8Array(data));
|
|
388
|
+
return 'pgs';
|
|
389
|
+
}
|
|
390
|
+
const subBinary = source.subData ?? source.data;
|
|
391
|
+
if (!subBinary)
|
|
392
|
+
throw new Error('No SUB binary data provided for VobSub');
|
|
393
|
+
if (source.idxContent) {
|
|
394
|
+
this.loadVobSub(source.idxContent, subBinary instanceof Uint8Array ? subBinary : new Uint8Array(subBinary));
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
this.loadVobSubOnly(subBinary instanceof Uint8Array ? subBinary : new Uint8Array(subBinary));
|
|
398
|
+
}
|
|
399
|
+
return 'vobsub';
|
|
290
400
|
}
|
|
291
401
|
/**
|
|
292
402
|
* Get the current subtitle format.
|
|
@@ -330,6 +440,45 @@ export class UnifiedSubtitleParser {
|
|
|
330
440
|
return undefined;
|
|
331
441
|
return this.convertResult(result);
|
|
332
442
|
}
|
|
443
|
+
/** Get parser-level metadata. */
|
|
444
|
+
getMetadata() {
|
|
445
|
+
if (!this.renderer || !this.format)
|
|
446
|
+
return null;
|
|
447
|
+
return {
|
|
448
|
+
format: this.format,
|
|
449
|
+
cueCount: this.count,
|
|
450
|
+
screenWidth: this.renderer.screenWidth,
|
|
451
|
+
screenHeight: this.renderer.screenHeight,
|
|
452
|
+
language: this.format === 'vobsub' ? this.renderer.language || null : null,
|
|
453
|
+
trackId: this.format === 'vobsub' ? this.renderer.trackId || null : null,
|
|
454
|
+
hasIdxMetadata: this.format === 'vobsub' ? this.renderer.hasIdxMetadata : undefined
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
/** Get cue metadata for the given index. */
|
|
458
|
+
getCueMetadata(index) {
|
|
459
|
+
if (!this.renderer || !this.format || index < 0 || index >= this.count)
|
|
460
|
+
return null;
|
|
461
|
+
if (this.cueMetadataCache.has(index))
|
|
462
|
+
return this.cueMetadataCache.get(index) ?? null;
|
|
463
|
+
const startTime = this.renderer.getCueStartTime(index);
|
|
464
|
+
const endTime = this.renderer.getCueEndTime(index);
|
|
465
|
+
const frame = this.renderAtIndex(index);
|
|
466
|
+
const cueMetadata = {
|
|
467
|
+
index,
|
|
468
|
+
format: this.format,
|
|
469
|
+
startTime,
|
|
470
|
+
endTime,
|
|
471
|
+
duration: this.renderer.getCueDuration(index),
|
|
472
|
+
screenWidth: this.renderer.screenWidth,
|
|
473
|
+
screenHeight: this.renderer.screenHeight,
|
|
474
|
+
bounds: frame ? getSubtitleBounds(frame) : null,
|
|
475
|
+
compositionCount: frame?.compositionData.length ?? 0,
|
|
476
|
+
language: this.format === 'vobsub' ? this.renderer.language || null : null,
|
|
477
|
+
trackId: this.format === 'vobsub' ? this.renderer.trackId || null : null
|
|
478
|
+
};
|
|
479
|
+
this.cueMetadataCache.set(index, cueMetadata);
|
|
480
|
+
return cueMetadata;
|
|
481
|
+
}
|
|
333
482
|
/**
|
|
334
483
|
* Render subtitle at the given timestamp in seconds.
|
|
335
484
|
*/
|
|
@@ -376,6 +525,7 @@ export class UnifiedSubtitleParser {
|
|
|
376
525
|
*/
|
|
377
526
|
clearCache() {
|
|
378
527
|
this.renderer?.clearCache();
|
|
528
|
+
this.cueMetadataCache.clear();
|
|
379
529
|
}
|
|
380
530
|
/**
|
|
381
531
|
* Dispose of resources.
|
|
@@ -385,6 +535,7 @@ export class UnifiedSubtitleParser {
|
|
|
385
535
|
this.renderer?.free();
|
|
386
536
|
this.renderer = null;
|
|
387
537
|
this.timestamps = new Float64Array(0);
|
|
538
|
+
this.cueMetadataCache.clear();
|
|
388
539
|
}
|
|
389
540
|
}
|
|
390
541
|
//# sourceMappingURL=parsers.js.map
|
package/dist/ts/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/ts/renderers.d.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* High-level video-integrated subtitle renderers for libbitsub.
|
|
3
3
|
* Handles canvas overlay, video sync, and subtitle fetching.
|
|
4
4
|
*/
|
|
5
|
-
import type { SubtitleData, SubtitleDisplaySettings, VideoSubtitleOptions, VideoVobSubOptions } from './types';
|
|
5
|
+
import type { AutoVideoSubtitleOptions, SubtitleCueMetadata, SubtitleData, SubtitleDisplaySettings, SubtitleParserMetadata, SubtitleRendererBackend, SubtitleRendererEvent, VideoSubtitleOptions, VideoVobSubOptions } from './types';
|
|
6
6
|
import { WebGPURenderer } from './webgpu-renderer';
|
|
7
|
+
import { WebGL2Renderer } from './webgl2-renderer';
|
|
7
8
|
/** Performance statistics for subtitle renderer */
|
|
8
9
|
export interface SubtitleRendererStats {
|
|
9
10
|
/** Total frames rendered since initialization */
|
|
@@ -37,6 +38,7 @@ export interface SubtitleRendererStats {
|
|
|
37
38
|
*/
|
|
38
39
|
declare abstract class BaseVideoSubtitleRenderer {
|
|
39
40
|
protected video: HTMLVideoElement;
|
|
41
|
+
protected readonly format: 'pgs' | 'vobsub';
|
|
40
42
|
protected subUrl?: string;
|
|
41
43
|
protected subContent?: ArrayBuffer;
|
|
42
44
|
protected canvas: HTMLCanvasElement | null;
|
|
@@ -50,12 +52,24 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
50
52
|
protected tempCanvas: HTMLCanvasElement | null;
|
|
51
53
|
protected tempCtx: CanvasRenderingContext2D | null;
|
|
52
54
|
protected lastRenderedData: SubtitleData | null;
|
|
55
|
+
protected lastCueIndex: number | null;
|
|
56
|
+
protected currentCueMetadata: SubtitleCueMetadata | null;
|
|
57
|
+
protected parserMetadata: SubtitleParserMetadata | null;
|
|
53
58
|
/** Display settings for subtitle rendering */
|
|
54
59
|
protected displaySettings: SubtitleDisplaySettings;
|
|
60
|
+
protected cacheLimit: number;
|
|
61
|
+
protected prefetchBefore: number;
|
|
62
|
+
protected prefetchAfter: number;
|
|
63
|
+
protected onEvent?: (event: SubtitleRendererEvent) => void;
|
|
64
|
+
protected currentRendererBackend: SubtitleRendererBackend | null;
|
|
65
|
+
private loadedMetadataHandler;
|
|
66
|
+
private seekedHandler;
|
|
55
67
|
protected webgpuRenderer: WebGPURenderer | null;
|
|
56
68
|
protected useWebGPU: boolean;
|
|
57
|
-
protected preferWebGPU: boolean;
|
|
58
69
|
protected onWebGPUFallback?: () => void;
|
|
70
|
+
protected webgl2Renderer: WebGL2Renderer | null;
|
|
71
|
+
protected useWebGL2: boolean;
|
|
72
|
+
protected onWebGL2Fallback?: () => void;
|
|
59
73
|
protected perfStats: {
|
|
60
74
|
framesRendered: number;
|
|
61
75
|
framesDropped: number;
|
|
@@ -64,11 +78,19 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
64
78
|
fpsTimestamps: number[];
|
|
65
79
|
lastFrameTime: number;
|
|
66
80
|
};
|
|
67
|
-
constructor(options: VideoSubtitleOptions);
|
|
81
|
+
constructor(options: VideoSubtitleOptions, format: 'pgs' | 'vobsub');
|
|
68
82
|
/** Get current display settings */
|
|
69
83
|
getDisplaySettings(): SubtitleDisplaySettings;
|
|
70
84
|
/** Get performance statistics */
|
|
71
85
|
abstract getStats(): SubtitleRendererStats;
|
|
86
|
+
/** Get parser metadata for the active subtitle track. */
|
|
87
|
+
getMetadata(): SubtitleParserMetadata | null;
|
|
88
|
+
/** Get the most recently displayed cue metadata. */
|
|
89
|
+
getCurrentCueMetadata(): SubtitleCueMetadata | null;
|
|
90
|
+
/** Get cue metadata for the specified index. */
|
|
91
|
+
getCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
92
|
+
/** Get the configured frame-cache limit. */
|
|
93
|
+
getCacheLimit(): number;
|
|
72
94
|
/** Get base stats common to all renderers */
|
|
73
95
|
protected getBaseStats(): Omit<SubtitleRendererStats, 'usingWorker' | 'cachedFrames' | 'pendingRenders' | 'totalEntries'>;
|
|
74
96
|
/** Set display settings and force re-render */
|
|
@@ -81,8 +103,14 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
81
103
|
protected init(): Promise<void>;
|
|
82
104
|
/** Create the canvas overlay positioned over the video. */
|
|
83
105
|
protected createCanvas(): void;
|
|
84
|
-
|
|
106
|
+
protected emitEvent(event: SubtitleRendererEvent): void;
|
|
107
|
+
protected setParserMetadata(metadata: SubtitleParserMetadata | null): void;
|
|
108
|
+
protected emitWorkerState(enabled: boolean, ready: boolean, sessionId: string | null, fallback?: boolean): void;
|
|
109
|
+
protected emitCacheChange(cachedFrames: number, pendingRenders: number): void;
|
|
110
|
+
protected emitCueChange(cue: SubtitleCueMetadata | null): void;
|
|
111
|
+
protected emitRendererBackend(renderer: SubtitleRendererBackend): void;
|
|
85
112
|
private initWebGPU;
|
|
113
|
+
private initWebGL2;
|
|
86
114
|
/** Initialize Canvas2D renderer. */
|
|
87
115
|
private initCanvas2D;
|
|
88
116
|
/** Called when video seeks. */
|
|
@@ -100,14 +128,24 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
100
128
|
protected abstract renderAtTime(time: number): SubtitleData | undefined;
|
|
101
129
|
protected abstract findCurrentIndex(time: number): number;
|
|
102
130
|
protected abstract renderAtIndex(index: number): SubtitleData | undefined;
|
|
131
|
+
protected abstract buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
103
132
|
/** Check if a render is pending for the given index (async loading in progress) */
|
|
104
133
|
protected abstract isPendingRender(index: number): boolean;
|
|
105
134
|
/** Start the render loop. */
|
|
106
135
|
protected startRenderLoop(): void;
|
|
107
136
|
/** Render a subtitle frame to the canvas. */
|
|
108
137
|
protected renderFrame(time: number, index: number): void;
|
|
138
|
+
protected computeLayout(data: SubtitleData): {
|
|
139
|
+
scaleX: number;
|
|
140
|
+
scaleY: number;
|
|
141
|
+
shiftX: number;
|
|
142
|
+
shiftY: number;
|
|
143
|
+
opacity: number;
|
|
144
|
+
};
|
|
109
145
|
/** Render using WebGPU. */
|
|
110
146
|
private renderFrameWebGPU;
|
|
147
|
+
/** Render using WebGL2. */
|
|
148
|
+
private renderFrameWebGL2;
|
|
111
149
|
/** Render using Canvas2D. */
|
|
112
150
|
private renderFrameCanvas2D;
|
|
113
151
|
/** Dispose of all resources. */
|
|
@@ -131,8 +169,13 @@ export declare class PgsRenderer extends BaseVideoSubtitleRenderer {
|
|
|
131
169
|
protected renderAtTime(time: number): SubtitleData | undefined;
|
|
132
170
|
protected findCurrentIndex(time: number): number;
|
|
133
171
|
protected renderAtIndex(index: number): SubtitleData | undefined;
|
|
172
|
+
protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
134
173
|
protected isPendingRender(index: number): boolean;
|
|
135
174
|
protected onSeek(): void;
|
|
175
|
+
setCacheLimit(limit: number): void;
|
|
176
|
+
clearFrameCache(): void;
|
|
177
|
+
prefetchRange(startIndex: number, endIndex: number): Promise<void>;
|
|
178
|
+
prefetchAroundTime(time: number, before?: number, after?: number): Promise<void>;
|
|
136
179
|
/** Get performance statistics for PGS renderer */
|
|
137
180
|
getStats(): SubtitleRendererStats;
|
|
138
181
|
dispose(): void;
|
|
@@ -160,8 +203,13 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
|
|
|
160
203
|
protected renderAtTime(time: number): SubtitleData | undefined;
|
|
161
204
|
protected findCurrentIndex(time: number): number;
|
|
162
205
|
protected renderAtIndex(index: number): SubtitleData | undefined;
|
|
206
|
+
protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
163
207
|
protected isPendingRender(index: number): boolean;
|
|
164
208
|
protected onSeek(): void;
|
|
209
|
+
setCacheLimit(limit: number): void;
|
|
210
|
+
clearFrameCache(): void;
|
|
211
|
+
prefetchRange(startIndex: number, endIndex: number): Promise<void>;
|
|
212
|
+
prefetchAroundTime(time: number, before?: number, after?: number): Promise<void>;
|
|
165
213
|
/** Get performance statistics for VobSub renderer */
|
|
166
214
|
getStats(): SubtitleRendererStats;
|
|
167
215
|
/** Enable or disable debanding filter */
|
|
@@ -174,5 +222,7 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
|
|
|
174
222
|
get debandEnabled(): boolean;
|
|
175
223
|
dispose(): void;
|
|
176
224
|
}
|
|
225
|
+
/** Create a video subtitle renderer with automatic format detection. */
|
|
226
|
+
export declare function createAutoSubtitleRenderer(options: AutoVideoSubtitleOptions): PgsRenderer | VobSubRenderer;
|
|
177
227
|
export {};
|
|
178
228
|
//# sourceMappingURL=renderers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/ts/renderers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/ts/renderers.ts"],"names":[],"mappings":"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"}
|