libbitsub 1.6.0 → 1.7.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 +407 -378
- 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 +47 -4
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +391 -87
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +144 -0
- 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 +2 -1
- package/dist/ts/webgl2-renderer.d.ts.map +1 -1
- package/dist/ts/webgl2-renderer.js +10 -7
- package/dist/ts/webgl2-renderer.js.map +1 -1
- package/dist/ts/webgpu-renderer.d.ts +4 -1
- package/dist/ts/webgpu-renderer.d.ts.map +1 -1
- package/dist/ts/webgpu-renderer.js +82 -32
- 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 +407 -378
- package/pkg/libbitsub.d.ts +121 -1
- package/pkg/libbitsub.js +251 -15
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +25 -1
- package/pkg/package.json +1 -1
- package/src/wrapper.ts +14 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
|
-
export { PgsRenderer, VobSubRenderer, type VideoSubtitleOptions, type VideoVobSubOptions, type SubtitleRendererStats } from './wrapper';
|
|
6
|
+
export { PgsRenderer, VobSubRenderer, createAutoSubtitleRenderer, type VideoSubtitleOptions, type VideoVobSubOptions, type SubtitleRendererStats } from './wrapper';
|
|
7
7
|
export { PgsParser, VobSubParserLowLevel, UnifiedSubtitleParser } from './wrapper';
|
|
8
|
-
export { initWasm, isWasmInitialized, isWebGPUSupported, type SubtitleData, type SubtitleCompositionData, type SubtitleDisplaySettings } from './wrapper';
|
|
8
|
+
export { initWasm, isWasmInitialized, isWebGPUSupported, detectSubtitleFormat, type AutoSubtitleSource, type AutoVideoSubtitleOptions, type SubtitleCueBounds, type SubtitleCueMetadata, type SubtitleData, type SubtitleCompositionData, type SubtitleDisplaySettings, type SubtitleFormatName, type SubtitleHorizontalAlign, type SubtitleParserMetadata, type SubtitleRendererBackend, type SubtitleRendererEvent, type SubtitleRendererStatsSnapshot } from './wrapper';
|
|
9
9
|
export type { RenderResult, SubtitleFrame, VobSubFrame } from './wrapper';
|
|
10
10
|
export { PGSRenderer, VobsubRenderer, UnifiedSubtitleRenderer } from './wrapper';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAGlF,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAGlF,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EACnC,MAAM,WAAW,CAAA;AAGlB,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAGzE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
// High-level video-integrated renderers (compatible with old libpgs-js API)
|
|
7
|
-
export { PgsRenderer, VobSubRenderer } from './wrapper';
|
|
7
|
+
export { PgsRenderer, VobSubRenderer, createAutoSubtitleRenderer } from './wrapper';
|
|
8
8
|
// Low-level parsers for programmatic use
|
|
9
9
|
export { PgsParser, VobSubParserLowLevel, UnifiedSubtitleParser } from './wrapper';
|
|
10
10
|
// Utility exports
|
|
11
|
-
export { initWasm, isWasmInitialized, isWebGPUSupported } from './wrapper';
|
|
11
|
+
export { initWasm, isWasmInitialized, isWebGPUSupported, detectSubtitleFormat } from './wrapper';
|
|
12
12
|
// Legacy aliases
|
|
13
13
|
export { PGSRenderer, VobsubRenderer, UnifiedSubtitleRenderer } from './wrapper';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4EAA4E;AAC5E,OAAO,EACL,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4EAA4E;AAC5E,OAAO,EACL,WAAW,EACX,cAAc,EACd,0BAA0B,EAI3B,MAAM,WAAW,CAAA;AAElB,yCAAyC;AACzC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAElF,kBAAkB;AAClB,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EAcrB,MAAM,WAAW,CAAA;AAKlB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA"}
|
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,7 +2,7 @@
|
|
|
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
7
|
import { WebGL2Renderer } from './webgl2-renderer';
|
|
8
8
|
/** Performance statistics for subtitle renderer */
|
|
@@ -38,6 +38,7 @@ export interface SubtitleRendererStats {
|
|
|
38
38
|
*/
|
|
39
39
|
declare abstract class BaseVideoSubtitleRenderer {
|
|
40
40
|
protected video: HTMLVideoElement;
|
|
41
|
+
protected readonly format: 'pgs' | 'vobsub';
|
|
41
42
|
protected subUrl?: string;
|
|
42
43
|
protected subContent?: ArrayBuffer;
|
|
43
44
|
protected canvas: HTMLCanvasElement | null;
|
|
@@ -51,8 +52,18 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
51
52
|
protected tempCanvas: HTMLCanvasElement | null;
|
|
52
53
|
protected tempCtx: CanvasRenderingContext2D | null;
|
|
53
54
|
protected lastRenderedData: SubtitleData | null;
|
|
55
|
+
protected lastCueIndex: number | null;
|
|
56
|
+
protected currentCueMetadata: SubtitleCueMetadata | null;
|
|
57
|
+
protected parserMetadata: SubtitleParserMetadata | null;
|
|
54
58
|
/** Display settings for subtitle rendering */
|
|
55
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;
|
|
56
67
|
protected webgpuRenderer: WebGPURenderer | null;
|
|
57
68
|
protected useWebGPU: boolean;
|
|
58
69
|
protected onWebGPUFallback?: () => void;
|
|
@@ -67,11 +78,19 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
67
78
|
fpsTimestamps: number[];
|
|
68
79
|
lastFrameTime: number;
|
|
69
80
|
};
|
|
70
|
-
constructor(options: VideoSubtitleOptions);
|
|
81
|
+
constructor(options: VideoSubtitleOptions, format: 'pgs' | 'vobsub');
|
|
71
82
|
/** Get current display settings */
|
|
72
83
|
getDisplaySettings(): SubtitleDisplaySettings;
|
|
73
84
|
/** Get performance statistics */
|
|
74
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;
|
|
75
94
|
/** Get base stats common to all renderers */
|
|
76
95
|
protected getBaseStats(): Omit<SubtitleRendererStats, 'usingWorker' | 'cachedFrames' | 'pendingRenders' | 'totalEntries'>;
|
|
77
96
|
/** Set display settings and force re-render */
|
|
@@ -84,9 +103,13 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
84
103
|
protected init(): Promise<void>;
|
|
85
104
|
/** Create the canvas overlay positioned over the video. */
|
|
86
105
|
protected createCanvas(): void;
|
|
87
|
-
|
|
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;
|
|
88
112
|
private initWebGPU;
|
|
89
|
-
/** Initialize WebGL2 renderer. */
|
|
90
113
|
private initWebGL2;
|
|
91
114
|
/** Initialize Canvas2D renderer. */
|
|
92
115
|
private initCanvas2D;
|
|
@@ -105,12 +128,20 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
105
128
|
protected abstract renderAtTime(time: number): SubtitleData | undefined;
|
|
106
129
|
protected abstract findCurrentIndex(time: number): number;
|
|
107
130
|
protected abstract renderAtIndex(index: number): SubtitleData | undefined;
|
|
131
|
+
protected abstract buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
108
132
|
/** Check if a render is pending for the given index (async loading in progress) */
|
|
109
133
|
protected abstract isPendingRender(index: number): boolean;
|
|
110
134
|
/** Start the render loop. */
|
|
111
135
|
protected startRenderLoop(): void;
|
|
112
136
|
/** Render a subtitle frame to the canvas. */
|
|
113
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
|
+
};
|
|
114
145
|
/** Render using WebGPU. */
|
|
115
146
|
private renderFrameWebGPU;
|
|
116
147
|
/** Render using WebGL2. */
|
|
@@ -138,8 +169,13 @@ export declare class PgsRenderer extends BaseVideoSubtitleRenderer {
|
|
|
138
169
|
protected renderAtTime(time: number): SubtitleData | undefined;
|
|
139
170
|
protected findCurrentIndex(time: number): number;
|
|
140
171
|
protected renderAtIndex(index: number): SubtitleData | undefined;
|
|
172
|
+
protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
141
173
|
protected isPendingRender(index: number): boolean;
|
|
142
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>;
|
|
143
179
|
/** Get performance statistics for PGS renderer */
|
|
144
180
|
getStats(): SubtitleRendererStats;
|
|
145
181
|
dispose(): void;
|
|
@@ -167,8 +203,13 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
|
|
|
167
203
|
protected renderAtTime(time: number): SubtitleData | undefined;
|
|
168
204
|
protected findCurrentIndex(time: number): number;
|
|
169
205
|
protected renderAtIndex(index: number): SubtitleData | undefined;
|
|
206
|
+
protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
170
207
|
protected isPendingRender(index: number): boolean;
|
|
171
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>;
|
|
172
213
|
/** Get performance statistics for VobSub renderer */
|
|
173
214
|
getStats(): SubtitleRendererStats;
|
|
174
215
|
/** Enable or disable debanding filter */
|
|
@@ -181,5 +222,7 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
|
|
|
181
222
|
get debandEnabled(): boolean;
|
|
182
223
|
dispose(): void;
|
|
183
224
|
}
|
|
225
|
+
/** Create a video subtitle renderer with automatic format detection. */
|
|
226
|
+
export declare function createAutoSubtitleRenderer(options: AutoVideoSubtitleOptions): PgsRenderer | VobSubRenderer;
|
|
184
227
|
export {};
|
|
185
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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"}
|