libbitsub 1.7.4 → 1.8.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 +17 -3
- package/dist/ts/parsers.d.ts +8 -0
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +27 -3
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/renderers.d.ts +1 -0
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +36 -13
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +6 -0
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts +1 -0
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +154 -0
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +12 -0
- package/dist/ts/worker.js.map +1 -1
- package/package.json +1 -1
- package/pkg/README.md +17 -3
- package/pkg/libbitsub.d.ts +12 -1
- package/pkg/libbitsub.js +44 -9
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +4 -1
- package/pkg/package.json +1 -1
package/dist/ts/types.d.ts
CHANGED
|
@@ -94,6 +94,8 @@ export interface VideoVobSubOptions extends VideoSubtitleOptions {
|
|
|
94
94
|
idxUrl?: string;
|
|
95
95
|
/** Direct .idx content (string) */
|
|
96
96
|
idxContent?: string;
|
|
97
|
+
/** Optional file name hint for non-.sub VobSub containers such as .mks */
|
|
98
|
+
fileName?: string;
|
|
97
99
|
}
|
|
98
100
|
/** Display settings for subtitle rendering. */
|
|
99
101
|
export interface SubtitleDisplaySettings {
|
|
@@ -192,6 +194,10 @@ export type WorkerRequest = {
|
|
|
192
194
|
sessionId: string;
|
|
193
195
|
idxContent: string;
|
|
194
196
|
subData: ArrayBuffer;
|
|
197
|
+
} | {
|
|
198
|
+
type: 'loadVobSubMks';
|
|
199
|
+
sessionId: string;
|
|
200
|
+
subData: ArrayBuffer;
|
|
195
201
|
} | {
|
|
196
202
|
type: 'loadVobSubOnly';
|
|
197
203
|
sessionId: 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,6 +2,7 @@
|
|
|
2
2
|
* Utility functions for libbitsub.
|
|
3
3
|
*/
|
|
4
4
|
import type { AutoSubtitleSource, FrameData, SubtitleCueBounds, SubtitleData, SubtitleFormatName, WorkerRendererState } from './types';
|
|
5
|
+
export declare function isMksSource(source: Pick<AutoSubtitleSource, 'data' | 'subData' | 'fileName' | 'subUrl'>): boolean;
|
|
5
6
|
/** Binary search for timestamp index. */
|
|
6
7
|
export declare function binarySearchTimestamp(timestamps: Float64Array, timeMs: number): number;
|
|
7
8
|
/** Convert worker frame data to SubtitleData. */
|
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;AA8MhB,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,CAgB/D;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EACzB,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,CAqDnE;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAyB9E;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAY1G;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUpF;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAgB1F;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,mBAAmB,CAWvD"}
|
package/dist/ts/utils.js
CHANGED
|
@@ -12,6 +12,149 @@ function toBinaryView(binary) {
|
|
|
12
12
|
function looksLikePgsBinary(binary) {
|
|
13
13
|
return binary.length >= 2 && binary[0] === 0x50 && binary[1] === 0x47;
|
|
14
14
|
}
|
|
15
|
+
const EBML_HEADER_ID = 0x1a45dfa3;
|
|
16
|
+
const EBML_DOC_TYPE_ID = 0x4282;
|
|
17
|
+
const EBML_SEGMENT_ID = 0x18538067;
|
|
18
|
+
const EBML_TRACKS_ID = 0x1654ae6b;
|
|
19
|
+
const EBML_TRACK_ENTRY_ID = 0xae;
|
|
20
|
+
const EBML_TRACK_TYPE_ID = 0x83;
|
|
21
|
+
const EBML_CODEC_ID = 0x86;
|
|
22
|
+
const MATROSKA_SUBTITLE_TRACK_TYPE = 0x11;
|
|
23
|
+
const MATROSKA_VOBSUB_CODEC_ID = 'S_VOBSUB';
|
|
24
|
+
const MAX_MKS_PROBE_BYTES = 1 << 20;
|
|
25
|
+
function readEbmlVint(binary, offset, keepMarker) {
|
|
26
|
+
if (offset >= binary.length)
|
|
27
|
+
return null;
|
|
28
|
+
const firstByte = binary[offset];
|
|
29
|
+
if (firstByte === 0)
|
|
30
|
+
return null;
|
|
31
|
+
let mask = 0x80;
|
|
32
|
+
let length = 1;
|
|
33
|
+
while ((firstByte & mask) === 0) {
|
|
34
|
+
mask >>= 1;
|
|
35
|
+
length += 1;
|
|
36
|
+
if (mask === 0 || length > 8)
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
if (offset + length > binary.length)
|
|
40
|
+
return null;
|
|
41
|
+
let isUnknownSize = !keepMarker;
|
|
42
|
+
let value = keepMarker ? firstByte : firstByte & (mask - 1);
|
|
43
|
+
for (let index = 1; index < length; index += 1) {
|
|
44
|
+
value = value * 256 + binary[offset + index];
|
|
45
|
+
if (!keepMarker && binary[offset + index] !== 0xff) {
|
|
46
|
+
isUnknownSize = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!keepMarker && (firstByte & (mask - 1)) !== mask - 1) {
|
|
50
|
+
isUnknownSize = false;
|
|
51
|
+
}
|
|
52
|
+
return { value, length, isUnknownSize };
|
|
53
|
+
}
|
|
54
|
+
function readEbmlElementBounds(binary, offset, limit) {
|
|
55
|
+
const id = readEbmlVint(binary, offset, true);
|
|
56
|
+
if (!id)
|
|
57
|
+
return null;
|
|
58
|
+
const size = readEbmlVint(binary, offset + id.length, false);
|
|
59
|
+
if (!size)
|
|
60
|
+
return null;
|
|
61
|
+
const dataStart = offset + id.length + size.length;
|
|
62
|
+
if (dataStart > limit)
|
|
63
|
+
return null;
|
|
64
|
+
const dataEnd = size.isUnknownSize ? limit : Math.min(dataStart + size.value, limit);
|
|
65
|
+
return { id: id.value, dataStart, dataEnd };
|
|
66
|
+
}
|
|
67
|
+
function readMatroskaDocType(binary, limit) {
|
|
68
|
+
const header = readEbmlElementBounds(binary, 0, limit);
|
|
69
|
+
if (!header || header.id !== EBML_HEADER_ID)
|
|
70
|
+
return null;
|
|
71
|
+
let offset = header.dataStart;
|
|
72
|
+
while (offset < header.dataEnd) {
|
|
73
|
+
const element = readEbmlElementBounds(binary, offset, header.dataEnd);
|
|
74
|
+
if (!element)
|
|
75
|
+
return null;
|
|
76
|
+
if (element.id === EBML_DOC_TYPE_ID) {
|
|
77
|
+
return new TextDecoder('ascii').decode(binary.subarray(element.dataStart, element.dataEnd)).toLowerCase();
|
|
78
|
+
}
|
|
79
|
+
offset = element.dataEnd;
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
function readAscii(binary, start, end) {
|
|
84
|
+
return new TextDecoder('ascii').decode(binary.subarray(start, end));
|
|
85
|
+
}
|
|
86
|
+
function hasVobSubTrack(binary, headerEnd, limit) {
|
|
87
|
+
let offset = headerEnd;
|
|
88
|
+
while (offset < limit) {
|
|
89
|
+
const element = readEbmlElementBounds(binary, offset, limit);
|
|
90
|
+
if (!element)
|
|
91
|
+
return false;
|
|
92
|
+
if (element.id === EBML_SEGMENT_ID) {
|
|
93
|
+
return segmentHasVobSubTrack(binary, element.dataStart, element.dataEnd);
|
|
94
|
+
}
|
|
95
|
+
offset = element.dataEnd;
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
function segmentHasVobSubTrack(binary, start, end) {
|
|
100
|
+
let offset = start;
|
|
101
|
+
while (offset < end) {
|
|
102
|
+
const element = readEbmlElementBounds(binary, offset, end);
|
|
103
|
+
if (!element)
|
|
104
|
+
return false;
|
|
105
|
+
if (element.id === EBML_TRACKS_ID) {
|
|
106
|
+
return tracksContainVobSubTrack(binary, element.dataStart, element.dataEnd);
|
|
107
|
+
}
|
|
108
|
+
offset = element.dataEnd;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
function tracksContainVobSubTrack(binary, start, end) {
|
|
113
|
+
let offset = start;
|
|
114
|
+
while (offset < end) {
|
|
115
|
+
const element = readEbmlElementBounds(binary, offset, end);
|
|
116
|
+
if (!element)
|
|
117
|
+
return false;
|
|
118
|
+
if (element.id === EBML_TRACK_ENTRY_ID && trackEntryIsVobSub(binary, element.dataStart, element.dataEnd)) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
offset = element.dataEnd;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
function trackEntryIsVobSub(binary, start, end) {
|
|
126
|
+
let offset = start;
|
|
127
|
+
let trackType = null;
|
|
128
|
+
let codecId = null;
|
|
129
|
+
while (offset < end) {
|
|
130
|
+
const element = readEbmlElementBounds(binary, offset, end);
|
|
131
|
+
if (!element)
|
|
132
|
+
return false;
|
|
133
|
+
if (element.id === EBML_TRACK_TYPE_ID) {
|
|
134
|
+
trackType = 0;
|
|
135
|
+
for (let index = element.dataStart; index < element.dataEnd; index += 1) {
|
|
136
|
+
trackType = trackType * 256 + binary[index];
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else if (element.id === EBML_CODEC_ID) {
|
|
140
|
+
codecId = readAscii(binary, element.dataStart, element.dataEnd);
|
|
141
|
+
}
|
|
142
|
+
offset = element.dataEnd;
|
|
143
|
+
}
|
|
144
|
+
return trackType === MATROSKA_SUBTITLE_TRACK_TYPE && codecId === MATROSKA_VOBSUB_CODEC_ID;
|
|
145
|
+
}
|
|
146
|
+
function looksLikeMksBinary(binary) {
|
|
147
|
+
const probeLength = Math.min(binary.length, MAX_MKS_PROBE_BYTES);
|
|
148
|
+
if (probeLength < 4)
|
|
149
|
+
return false;
|
|
150
|
+
const docType = readMatroskaDocType(binary, probeLength);
|
|
151
|
+
if (docType !== 'matroska')
|
|
152
|
+
return false;
|
|
153
|
+
const header = readEbmlElementBounds(binary, 0, probeLength);
|
|
154
|
+
if (!header || header.id !== EBML_HEADER_ID)
|
|
155
|
+
return false;
|
|
156
|
+
return hasVobSubTrack(binary, header.dataEnd, probeLength);
|
|
157
|
+
}
|
|
15
158
|
function looksLikeVobSubBinary(binary) {
|
|
16
159
|
const limit = Math.min(binary.length - 3, 65536);
|
|
17
160
|
for (let index = 0; index <= limit; index++) {
|
|
@@ -25,6 +168,13 @@ function looksLikeVobSubBinary(binary) {
|
|
|
25
168
|
}
|
|
26
169
|
return false;
|
|
27
170
|
}
|
|
171
|
+
export function isMksSource(source) {
|
|
172
|
+
const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
|
|
173
|
+
if (fileHint?.endsWith('.mks'))
|
|
174
|
+
return true;
|
|
175
|
+
const binary = toBinaryView(source.data ?? source.subData);
|
|
176
|
+
return binary ? looksLikeMksBinary(binary) : false;
|
|
177
|
+
}
|
|
28
178
|
/** Binary search for timestamp index. */
|
|
29
179
|
export function binarySearchTimestamp(timestamps, timeMs) {
|
|
30
180
|
const len = timestamps.length;
|
|
@@ -172,6 +322,8 @@ export function detectSubtitleFormat(source) {
|
|
|
172
322
|
const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
|
|
173
323
|
if (fileHint?.endsWith('.sub') || fileHint?.endsWith('.idx'))
|
|
174
324
|
return 'vobsub';
|
|
325
|
+
if (fileHint?.endsWith('.mks'))
|
|
326
|
+
return 'vobsub';
|
|
175
327
|
if (fileHint?.endsWith('.sup') || fileHint?.endsWith('.pgs'))
|
|
176
328
|
return 'pgs';
|
|
177
329
|
const binary = toBinaryView(source.data ?? source.subData);
|
|
@@ -179,6 +331,8 @@ export function detectSubtitleFormat(source) {
|
|
|
179
331
|
return null;
|
|
180
332
|
if (looksLikePgsBinary(binary))
|
|
181
333
|
return 'pgs';
|
|
334
|
+
if (looksLikeMksBinary(binary))
|
|
335
|
+
return 'vobsub';
|
|
182
336
|
if (looksLikeVobSubBinary(binary))
|
|
183
337
|
return 'vobsub';
|
|
184
338
|
return null;
|
package/dist/ts/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/ts/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe5D,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAe5D,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAoUD,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgDnD;AAKD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,SAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CA8BtG"}
|
package/dist/ts/worker.js
CHANGED
|
@@ -146,6 +146,10 @@ async function initWasm(wasmUrl) {
|
|
|
146
146
|
const subPtr = passArray8ToWasm(sub);
|
|
147
147
|
wasm.vobsubparser_loadFromData(this.ptr, idxPtr, idxLen, subPtr, sub.length);
|
|
148
148
|
}
|
|
149
|
+
loadFromMks(sub) {
|
|
150
|
+
const ptr = passArray8ToWasm(sub);
|
|
151
|
+
wasm.vobsubparser_loadFromMks(this.ptr, ptr, WASM_VECTOR_LEN);
|
|
152
|
+
}
|
|
149
153
|
loadFromSubOnly(sub) {
|
|
150
154
|
const ptr = passArray8ToWasm(sub);
|
|
151
155
|
wasm.vobsubparser_loadFromSubOnly(this.ptr, ptr, WASM_VECTOR_LEN);
|
|
@@ -225,6 +229,14 @@ self.onmessage = async function(event) {
|
|
|
225
229
|
postResponse({ type: 'vobSubLoaded', count: parser.count, metadata: buildVobSubMetadata(parser) }, [], _id);
|
|
226
230
|
break;
|
|
227
231
|
}
|
|
232
|
+
case 'loadVobSubMks': {
|
|
233
|
+
disposeSession(request.sessionId);
|
|
234
|
+
const parser = new wasmModule.VobSubParser();
|
|
235
|
+
parser.loadFromMks(new Uint8Array(request.subData));
|
|
236
|
+
vobSubParsers.set(request.sessionId, parser);
|
|
237
|
+
postResponse({ type: 'vobSubLoaded', count: parser.count, metadata: buildVobSubMetadata(parser) }, [], _id);
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
228
240
|
case 'loadVobSubOnly': {
|
|
229
241
|
disposeSession(request.sessionId);
|
|
230
242
|
const parser = new wasmModule.VobSubParser();
|
package/dist/ts/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,IAAI,YAAY,GAAkB,IAAI,CAAA;AACtC,IAAI,iBAAiB,GAA2B,IAAI,CAAA;AACpD,IAAI,SAAS,GAAG,CAAC,CAAA;AAEjB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAM7B,CAAA;AAEH,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB;IAC7B,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,IAAI,KAAK,WAAW,CAAA;AACxG,CAAC;AAED,6DAA6D;AAC7D,SAAS,kBAAkB;IACvB,OAAO
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/ts/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/pkg/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# libbit(map)sub
|
|
2
2
|
|
|
3
|
-
High-performance WASM renderer for graphical subtitles (PGS and VobSub), written in Rust.
|
|
3
|
+
High-performance WASM renderer for graphical subtitles (PGS, VobSub, and MKS-embedded VobSub), written in Rust.
|
|
4
4
|
|
|
5
5
|
Started as a fork of Arcus92's [libpgs-js](https://github.com/Arcus92/libpgs-js), this project was reworked for higher performance and broader format support. It keeps the familiar high-level PGS-oriented API while adding a lower-level parser surface, VobSub support, GPU backends, and worker-backed rendering.
|
|
6
6
|
|
|
@@ -8,6 +8,7 @@ Started as a fork of Arcus92's [libpgs-js](https://github.com/Arcus92/libpgs-js)
|
|
|
8
8
|
|
|
9
9
|
- PGS (Blu-ray) subtitle parsing and rendering
|
|
10
10
|
- VobSub (DVD) subtitle parsing and rendering
|
|
11
|
+
- Matroska `.mks` extraction for embedded `S_VOBSUB` tracks
|
|
11
12
|
- WebGPU, WebGL2, and Canvas2D rendering with automatic fallback
|
|
12
13
|
- Worker-backed parsing/rendering for large subtitle files
|
|
13
14
|
- Rich layout controls: scale, horizontal/vertical offsets, alignment, bottom padding, safe area, opacity
|
|
@@ -131,6 +132,12 @@ const renderer = new VobSubRenderer({
|
|
|
131
132
|
idxUrl: '/subtitles/movie.idx'
|
|
132
133
|
})
|
|
133
134
|
|
|
135
|
+
const mksRenderer = new VobSubRenderer({
|
|
136
|
+
video: videoElement,
|
|
137
|
+
subUrl: '/subtitles/movie.mks',
|
|
138
|
+
fileName: 'movie.mks'
|
|
139
|
+
})
|
|
140
|
+
|
|
134
141
|
renderer.setDebandThreshold(64)
|
|
135
142
|
renderer.setDebandRange(15)
|
|
136
143
|
```
|
|
@@ -147,7 +154,7 @@ const renderer = createAutoSubtitleRenderer({
|
|
|
147
154
|
})
|
|
148
155
|
```
|
|
149
156
|
|
|
150
|
-
Automatic detection uses file hints when available and otherwise inspects the binary payload. If the format cannot be identified confidently, it throws instead of silently forcing a parser.
|
|
157
|
+
Automatic detection uses file hints when available and otherwise inspects the binary payload. `.mks` sources are treated as VobSub only when they contain an embedded `S_VOBSUB` track. If the format cannot be identified confidently, it throws instead of silently forcing a parser.
|
|
151
158
|
|
|
152
159
|
## Layout controls
|
|
153
160
|
|
|
@@ -195,8 +202,11 @@ Low-level parsers expose the same model:
|
|
|
195
202
|
```ts
|
|
196
203
|
import { PgsParser, UnifiedSubtitleParser, VobSubParserLowLevel } from 'libbitsub'
|
|
197
204
|
|
|
205
|
+
const vob = new VobSubParserLowLevel()
|
|
206
|
+
vob.loadFromMks(new Uint8Array(mksBuffer))
|
|
207
|
+
|
|
198
208
|
const parser = new UnifiedSubtitleParser()
|
|
199
|
-
const detected = parser.loadAuto({ data: subtitleBytes, fileName: 'track.
|
|
209
|
+
const detected = parser.loadAuto({ data: subtitleBytes, fileName: 'track.mks' })
|
|
200
210
|
|
|
201
211
|
console.log(detected)
|
|
202
212
|
console.log(parser.getMetadata())
|
|
@@ -211,6 +221,10 @@ Metadata includes:
|
|
|
211
221
|
- PGS composition count, palette ID, composition state
|
|
212
222
|
- VobSub language, track ID, IDX metadata presence, file position where available
|
|
213
223
|
|
|
224
|
+
## MKS security and corruption checks
|
|
225
|
+
|
|
226
|
+
The `.mks` path validates Matroska structure before handing payloads to the VobSub decoder. Embedded subtitle blocks are size-checked, compressed blocks use bounded zlib inflation, and extracted SPU packets are rejected if their declared payload lengths or control offsets are inconsistent. Malformed or oversized `.mks` payloads fail fast instead of being partially decoded.
|
|
227
|
+
|
|
214
228
|
## Cache control and prefetching
|
|
215
229
|
|
|
216
230
|
High-level renderers expose cache helpers:
|
package/pkg/libbitsub.d.ts
CHANGED
|
@@ -194,6 +194,10 @@ export class SubtitleRenderer {
|
|
|
194
194
|
* Load VobSub subtitle data from IDX and SUB.
|
|
195
195
|
*/
|
|
196
196
|
loadVobSub(idx_content: string, sub_data: Uint8Array): void;
|
|
197
|
+
/**
|
|
198
|
+
* Load VobSub subtitle data from a Matroska subtitle container.
|
|
199
|
+
*/
|
|
200
|
+
loadVobSubMks(mks_data: Uint8Array): void;
|
|
197
201
|
/**
|
|
198
202
|
* Load VobSub from SUB file only.
|
|
199
203
|
*/
|
|
@@ -303,6 +307,10 @@ export class VobSubParser {
|
|
|
303
307
|
* Load VobSub from IDX content and SUB data.
|
|
304
308
|
*/
|
|
305
309
|
loadFromData(idx_content: string, sub_data: Uint8Array): void;
|
|
310
|
+
/**
|
|
311
|
+
* Load VobSub from a Matroska subtitle container with embedded S_VOBSUB tracks.
|
|
312
|
+
*/
|
|
313
|
+
loadFromMks(mks_data: Uint8Array): void;
|
|
306
314
|
/**
|
|
307
315
|
* Load VobSub from SUB file only (scans for timestamps).
|
|
308
316
|
*/
|
|
@@ -414,6 +422,7 @@ export interface InitOutput {
|
|
|
414
422
|
readonly subtitlerenderer_language: (a: number) => [number, number];
|
|
415
423
|
readonly subtitlerenderer_loadPgs: (a: number, b: number, c: number) => number;
|
|
416
424
|
readonly subtitlerenderer_loadVobSub: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
425
|
+
readonly subtitlerenderer_loadVobSubMks: (a: number, b: number, c: number) => [number, number];
|
|
417
426
|
readonly subtitlerenderer_loadVobSubOnly: (a: number, b: number, c: number) => void;
|
|
418
427
|
readonly subtitlerenderer_new: () => number;
|
|
419
428
|
readonly subtitlerenderer_renderAtIndex: (a: number, b: number) => number;
|
|
@@ -441,6 +450,7 @@ export interface InitOutput {
|
|
|
441
450
|
readonly vobsubparser_hasIdxMetadata: (a: number) => number;
|
|
442
451
|
readonly vobsubparser_language: (a: number) => [number, number];
|
|
443
452
|
readonly vobsubparser_loadFromData: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
453
|
+
readonly vobsubparser_loadFromMks: (a: number, b: number, c: number) => [number, number];
|
|
444
454
|
readonly vobsubparser_loadFromSubOnly: (a: number, b: number, c: number) => void;
|
|
445
455
|
readonly vobsubparser_new: () => number;
|
|
446
456
|
readonly vobsubparser_renderAtIndex: (a: number, b: number) => number;
|
|
@@ -451,13 +461,14 @@ export interface InitOutput {
|
|
|
451
461
|
readonly vobsubparser_setDebandThreshold: (a: number, b: number) => void;
|
|
452
462
|
readonly vobsubparser_trackId: (a: number) => [number, number];
|
|
453
463
|
readonly __wbg_subtitleframe_free: (a: number, b: number) => void;
|
|
454
|
-
readonly subtitleframe_width: (a: number) => number;
|
|
455
464
|
readonly subtitleframe_compositionCount: (a: number) => number;
|
|
465
|
+
readonly subtitleframe_width: (a: number) => number;
|
|
456
466
|
readonly subtitleframe_height: (a: number) => number;
|
|
457
467
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
458
468
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
459
469
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
460
470
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
471
|
+
readonly __externref_table_dealloc: (a: number) => void;
|
|
461
472
|
readonly __wbindgen_start: () => void;
|
|
462
473
|
}
|
|
463
474
|
|
package/pkg/libbitsub.js
CHANGED
|
@@ -494,6 +494,18 @@ export class SubtitleRenderer {
|
|
|
494
494
|
const len1 = WASM_VECTOR_LEN;
|
|
495
495
|
wasm.subtitlerenderer_loadVobSub(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
496
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Load VobSub subtitle data from a Matroska subtitle container.
|
|
499
|
+
* @param {Uint8Array} mks_data
|
|
500
|
+
*/
|
|
501
|
+
loadVobSubMks(mks_data) {
|
|
502
|
+
const ptr0 = passArray8ToWasm0(mks_data, wasm.__wbindgen_malloc);
|
|
503
|
+
const len0 = WASM_VECTOR_LEN;
|
|
504
|
+
const ret = wasm.subtitlerenderer_loadVobSubMks(this.__wbg_ptr, ptr0, len0);
|
|
505
|
+
if (ret[1]) {
|
|
506
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
497
509
|
/**
|
|
498
510
|
* Load VobSub from SUB file only.
|
|
499
511
|
* @param {Uint8Array} sub_data
|
|
@@ -772,6 +784,18 @@ export class VobSubParser {
|
|
|
772
784
|
const len1 = WASM_VECTOR_LEN;
|
|
773
785
|
wasm.vobsubparser_loadFromData(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
774
786
|
}
|
|
787
|
+
/**
|
|
788
|
+
* Load VobSub from a Matroska subtitle container with embedded S_VOBSUB tracks.
|
|
789
|
+
* @param {Uint8Array} mks_data
|
|
790
|
+
*/
|
|
791
|
+
loadFromMks(mks_data) {
|
|
792
|
+
const ptr0 = passArray8ToWasm0(mks_data, wasm.__wbindgen_malloc);
|
|
793
|
+
const len0 = WASM_VECTOR_LEN;
|
|
794
|
+
const ret = wasm.vobsubparser_loadFromMks(this.__wbg_ptr, ptr0, len0);
|
|
795
|
+
if (ret[1]) {
|
|
796
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
775
799
|
/**
|
|
776
800
|
* Load VobSub from SUB file only (scans for timestamps).
|
|
777
801
|
* @param {Uint8Array} sub_data
|
|
@@ -865,7 +889,7 @@ export function init() {
|
|
|
865
889
|
function __wbg_get_imports() {
|
|
866
890
|
const import0 = {
|
|
867
891
|
__proto__: null,
|
|
868
|
-
|
|
892
|
+
__wbg___wbindgen_throw_81fc77679af83bc6: function(arg0, arg1) {
|
|
869
893
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
870
894
|
},
|
|
871
895
|
__wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
|
|
@@ -879,7 +903,7 @@ function __wbg_get_imports() {
|
|
|
879
903
|
wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
|
|
880
904
|
}
|
|
881
905
|
},
|
|
882
|
-
|
|
906
|
+
__wbg_length_0c32cb8543c8e4c8: function(arg0) {
|
|
883
907
|
const ret = arg0.length;
|
|
884
908
|
return ret;
|
|
885
909
|
},
|
|
@@ -887,22 +911,22 @@ function __wbg_get_imports() {
|
|
|
887
911
|
const ret = new Error();
|
|
888
912
|
return ret;
|
|
889
913
|
},
|
|
890
|
-
|
|
914
|
+
__wbg_new_from_slice_2580ff33d0d10520: function(arg0, arg1) {
|
|
891
915
|
const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
|
|
892
916
|
return ret;
|
|
893
917
|
},
|
|
894
|
-
|
|
895
|
-
const ret = new
|
|
918
|
+
__wbg_new_with_length_6402c1de5dfd4085: function(arg0) {
|
|
919
|
+
const ret = new Float64Array(arg0 >>> 0);
|
|
896
920
|
return ret;
|
|
897
921
|
},
|
|
898
|
-
|
|
899
|
-
const ret = new
|
|
922
|
+
__wbg_new_with_length_9cedd08484b73942: function(arg0) {
|
|
923
|
+
const ret = new Uint8Array(arg0 >>> 0);
|
|
900
924
|
return ret;
|
|
901
925
|
},
|
|
902
|
-
|
|
926
|
+
__wbg_prototypesetcall_3e05eb9545565046: function(arg0, arg1, arg2) {
|
|
903
927
|
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
904
928
|
},
|
|
905
|
-
|
|
929
|
+
__wbg_set_index_e93e681c9c5b6486: function(arg0, arg1, arg2) {
|
|
906
930
|
arg0[arg1 >>> 0] = arg2;
|
|
907
931
|
},
|
|
908
932
|
__wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
|
|
@@ -912,6 +936,11 @@ function __wbg_get_imports() {
|
|
|
912
936
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
913
937
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
914
938
|
},
|
|
939
|
+
__wbindgen_cast_0000000000000001: function(arg0, arg1) {
|
|
940
|
+
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
941
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
942
|
+
return ret;
|
|
943
|
+
},
|
|
915
944
|
__wbindgen_init_externref_table: function() {
|
|
916
945
|
const table = wasm.__wbindgen_externrefs;
|
|
917
946
|
const offset = table.grow(4);
|
|
@@ -1020,6 +1049,12 @@ function passStringToWasm0(arg, malloc, realloc) {
|
|
|
1020
1049
|
return ptr;
|
|
1021
1050
|
}
|
|
1022
1051
|
|
|
1052
|
+
function takeFromExternrefTable0(idx) {
|
|
1053
|
+
const value = wasm.__wbindgen_externrefs.get(idx);
|
|
1054
|
+
wasm.__externref_table_dealloc(idx);
|
|
1055
|
+
return value;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1023
1058
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
1024
1059
|
cachedTextDecoder.decode();
|
|
1025
1060
|
const MAX_SAFARI_DECODE_BYTES = 2146435072;
|
package/pkg/libbitsub_bg.wasm
CHANGED
|
Binary file
|
|
@@ -49,6 +49,7 @@ export const subtitlerenderer_hasIdxMetadata: (a: number) => number;
|
|
|
49
49
|
export const subtitlerenderer_language: (a: number) => [number, number];
|
|
50
50
|
export const subtitlerenderer_loadPgs: (a: number, b: number, c: number) => number;
|
|
51
51
|
export const subtitlerenderer_loadVobSub: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
52
|
+
export const subtitlerenderer_loadVobSubMks: (a: number, b: number, c: number) => [number, number];
|
|
52
53
|
export const subtitlerenderer_loadVobSubOnly: (a: number, b: number, c: number) => void;
|
|
53
54
|
export const subtitlerenderer_new: () => number;
|
|
54
55
|
export const subtitlerenderer_renderAtIndex: (a: number, b: number) => number;
|
|
@@ -76,6 +77,7 @@ export const vobsubparser_getTimestamps: (a: number) => any;
|
|
|
76
77
|
export const vobsubparser_hasIdxMetadata: (a: number) => number;
|
|
77
78
|
export const vobsubparser_language: (a: number) => [number, number];
|
|
78
79
|
export const vobsubparser_loadFromData: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
80
|
+
export const vobsubparser_loadFromMks: (a: number, b: number, c: number) => [number, number];
|
|
79
81
|
export const vobsubparser_loadFromSubOnly: (a: number, b: number, c: number) => void;
|
|
80
82
|
export const vobsubparser_new: () => number;
|
|
81
83
|
export const vobsubparser_renderAtIndex: (a: number, b: number) => number;
|
|
@@ -86,11 +88,12 @@ export const vobsubparser_setDebandRange: (a: number, b: number) => void;
|
|
|
86
88
|
export const vobsubparser_setDebandThreshold: (a: number, b: number) => void;
|
|
87
89
|
export const vobsubparser_trackId: (a: number) => [number, number];
|
|
88
90
|
export const __wbg_subtitleframe_free: (a: number, b: number) => void;
|
|
89
|
-
export const subtitleframe_width: (a: number) => number;
|
|
90
91
|
export const subtitleframe_compositionCount: (a: number) => number;
|
|
92
|
+
export const subtitleframe_width: (a: number) => number;
|
|
91
93
|
export const subtitleframe_height: (a: number) => number;
|
|
92
94
|
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
93
95
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
94
96
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
95
97
|
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
98
|
+
export const __externref_table_dealloc: (a: number) => void;
|
|
96
99
|
export const __wbindgen_start: () => void;
|