hls-streamer 2.1.0 → 2.2.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.
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.FileLib = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
4
8
  class FileLib {
5
9
  static getFileSizeInBytes(buffer) {
6
10
  if (Buffer.isBuffer(buffer)) {
@@ -10,123 +14,252 @@ class FileLib {
10
14
  throw new Error("Input is not a buffer");
11
15
  }
12
16
  }
13
- static getMP3DurationFromBuffer(mp3Buffer) {
14
- return new Promise((resolve, reject) => {
15
- try {
16
- const duration = this.parseMP3Duration(mp3Buffer);
17
- resolve(duration);
18
- }
19
- catch (error) {
20
- reject(error);
21
- }
22
- });
17
+ static async getMP3DurationFromBuffer(mp3Buffer) {
18
+ const { duration } = this.analyzeMP3Buffer(mp3Buffer);
19
+ return duration;
23
20
  }
24
- static parseMP3Duration(buffer) {
21
+ static analyzeMP3Buffer(buffer, opts = {}) {
22
+ const warnings = [];
23
+ const size = opts.fileSize ?? buffer.length;
25
24
  if (buffer.length === 0) {
26
- return 0;
27
- }
28
- const bitrates = [
29
- [0, 0, 0, 0, 0],
30
- [32, 32, 32, 32, 8],
31
- [64, 48, 40, 48, 16],
32
- [96, 56, 48, 56, 24],
33
- [128, 64, 56, 64, 32],
34
- [160, 80, 64, 80, 40],
35
- [192, 96, 80, 96, 48],
36
- [224, 112, 96, 112, 56],
37
- [256, 128, 112, 128, 64],
38
- [288, 160, 128, 144, 80],
39
- [320, 192, 160, 160, 96],
40
- [352, 224, 192, 176, 112],
41
- [384, 256, 224, 192, 128],
42
- [416, 320, 256, 224, 144],
43
- [448, 384, 320, 256, 160]
44
- ];
45
- const sampleRates = [
46
- [44100, 22050, 11025],
47
- [48000, 24000, 12000],
48
- [32000, 16000, 8000]
49
- ];
50
- let offset = 0;
51
- let totalFrames = 0;
52
- let sampleRate = 0;
53
- let samplesPerFrame = 0;
54
- if (buffer.length > 10 && buffer.toString('ascii', 0, 3) === 'ID3') {
55
- const tagSize = ((buffer[6] & 0x7f) << 21) |
56
- ((buffer[7] & 0x7f) << 14) |
57
- ((buffer[8] & 0x7f) << 7) |
58
- (buffer[9] & 0x7f);
59
- offset = 10 + tagSize;
60
- }
61
- while (offset < buffer.length - 3) {
62
- if ((buffer[offset] === 0xFF) && ((buffer[offset + 1] & 0xE0) === 0xE0)) {
63
- if (offset + 3 >= buffer.length)
64
- break;
65
- const header = (buffer[offset] << 24) |
66
- (buffer[offset + 1] << 16) |
67
- (buffer[offset + 2] << 8) |
68
- buffer[offset + 3];
69
- const version = (header >> 19) & 0x3;
70
- const layer = (header >> 17) & 0x3;
71
- const bitrateIndex = (header >> 12) & 0xF;
72
- const sampleRateIndex = (header >> 10) & 0x3;
73
- const padding = (header >> 9) & 0x1;
74
- if (version === 1 || layer === 0 || bitrateIndex === 0 || bitrateIndex === 15 || sampleRateIndex === 3) {
75
- offset++;
76
- continue;
77
- }
78
- const versionIndex = version === 3 ? 0 : (version === 2 ? 1 : 2);
79
- const layerIndex = layer === 3 ? 0 : (layer === 2 ? 1 : 2);
80
- const bitrate = bitrates[bitrateIndex]?.[versionIndex === 0 ? layerIndex : (layerIndex === 0 ? 3 : 4)];
81
- const foundSampleRate = sampleRates[sampleRateIndex]?.[versionIndex];
82
- if (!bitrate || !foundSampleRate) {
83
- offset++;
84
- continue;
85
- }
86
- if (totalFrames === 0) {
87
- sampleRate = foundSampleRate;
88
- if (layer === 3) {
89
- samplesPerFrame = 384;
90
- }
91
- else if (layer === 2) {
92
- samplesPerFrame = 1152;
93
- }
94
- else {
95
- samplesPerFrame = version === 3 ? 1152 : 576;
96
- }
97
- }
98
- let frameLength;
99
- if (layer === 3) {
100
- frameLength = Math.floor((12 * bitrate * 1000 / foundSampleRate + padding) * 4);
101
- }
102
- else {
103
- frameLength = Math.floor(144 * bitrate * 1000 / foundSampleRate + padding);
104
- }
105
- if (frameLength <= 0) {
106
- offset++;
107
- continue;
108
- }
109
- totalFrames++;
110
- if (offset + frameLength > buffer.length) {
111
- const remainingBytes = buffer.length - offset;
112
- const avgFrameLength = offset > 0 ? offset / totalFrames : frameLength;
113
- const estimatedRemainingFrames = Math.floor(remainingBytes / avgFrameLength);
114
- totalFrames += estimatedRemainingFrames;
115
- break;
116
- }
117
- offset += frameLength;
25
+ return {
26
+ size,
27
+ duration: 0,
28
+ audioDataSize: 0,
29
+ frames: []
30
+ };
31
+ }
32
+ const offsets = this.getId3Offsets(buffer);
33
+ const frames = [];
34
+ const payloadSize = Math.max(0, offsets.audioEnd - offsets.startOffset);
35
+ let offset = offsets.startOffset;
36
+ let frameIndex = 0;
37
+ let sampleRate;
38
+ let totalDuration = 0;
39
+ let totalAudioBytes = 0;
40
+ while (offset + 4 <= offsets.audioEnd) {
41
+ if (!this.isFrameSync(buffer, offset)) {
42
+ offset++;
43
+ continue;
44
+ }
45
+ const header = buffer.readUInt32BE(offset);
46
+ const parsed = this.parseFrameHeader(header);
47
+ if (!parsed) {
48
+ offset++;
49
+ continue;
118
50
  }
119
- else {
51
+ const frameLength = this.calculateFrameLength(parsed);
52
+ if (frameLength <= 0) {
53
+ warnings.push(`Encountered zero-length frame at offset ${offset}`);
120
54
  offset++;
55
+ continue;
56
+ }
57
+ if (offset + frameLength > buffer.length) {
58
+ warnings.push(`Truncated frame at offset ${offset}`);
59
+ break;
121
60
  }
61
+ sampleRate = sampleRate ?? parsed.sampleRate;
62
+ const frameDuration = parsed.samplesPerFrame / parsed.sampleRate;
63
+ frames.push({
64
+ index: frameIndex,
65
+ offset,
66
+ length: frameLength,
67
+ duration: frameDuration,
68
+ samples: parsed.samplesPerFrame,
69
+ sampleRate: parsed.sampleRate,
70
+ bitrate: parsed.bitrate,
71
+ padding: parsed.padding
72
+ });
73
+ frameIndex++;
74
+ totalDuration += frameDuration;
75
+ totalAudioBytes += frameLength;
76
+ offset += frameLength;
122
77
  }
123
- if (totalFrames === 0 || !sampleRate || !samplesPerFrame) {
78
+ if (frames.length === 0) {
124
79
  const estimatedDuration = buffer.length / 16000;
125
- return Math.max(0.001, estimatedDuration);
80
+ warnings.push('Falling back to heuristic duration due to missing MP3 frames');
81
+ const metadata = {
82
+ size,
83
+ duration: Math.max(0.001, estimatedDuration),
84
+ audioDataSize: payloadSize,
85
+ frames: []
86
+ };
87
+ if (warnings.length) {
88
+ metadata.warnings = warnings;
89
+ }
90
+ return metadata;
91
+ }
92
+ const duration = totalDuration;
93
+ const averageBitrate = duration > 0 ? (totalAudioBytes * 8) / duration / 1000 : undefined;
94
+ const metadata = {
95
+ size,
96
+ duration,
97
+ audioDataSize: totalAudioBytes || payloadSize,
98
+ frames
99
+ };
100
+ if (sampleRate !== undefined) {
101
+ metadata.sampleRate = sampleRate;
102
+ }
103
+ if (averageBitrate !== undefined) {
104
+ metadata.averageBitrate = averageBitrate;
126
105
  }
127
- const duration = (totalFrames * samplesPerFrame) / sampleRate;
128
- return Math.max(0.001, duration);
106
+ if (offsets.id3v2Size > 0) {
107
+ metadata.id3v2Size = offsets.id3v2Size;
108
+ }
109
+ if (offsets.id3v1Size > 0) {
110
+ metadata.id3v1Size = offsets.id3v1Size;
111
+ }
112
+ if (warnings.length) {
113
+ metadata.warnings = warnings;
114
+ }
115
+ return metadata;
116
+ }
117
+ static async analyzeMP3File(filePath) {
118
+ const [buffer, stat] = await Promise.all([
119
+ node_fs_1.default.promises.readFile(filePath),
120
+ node_fs_1.default.promises.stat(filePath)
121
+ ]);
122
+ return this.analyzeMP3Buffer(buffer, { fileSize: stat.size });
123
+ }
124
+ static calculateFrameLength(frame) {
125
+ if (frame.layer === 1) {
126
+ return Math.floor(((12 * frame.bitrate * 1000) / frame.sampleRate + frame.padding) * 4);
127
+ }
128
+ const multiplier = frame.layer === 3 && frame.version !== 1 ? 72 : 144;
129
+ return Math.floor((multiplier * frame.bitrate * 1000) / frame.sampleRate + frame.padding);
130
+ }
131
+ static getId3Offsets(buffer) {
132
+ let startOffset = 0;
133
+ let id3v2Size = 0;
134
+ if (buffer.length >= 10 && buffer.toString('ascii', 0, 3) === 'ID3') {
135
+ const sizeBytes = buffer.subarray(6, 10);
136
+ id3v2Size = this.syncSafeInteger(sizeBytes);
137
+ startOffset = Math.min(buffer.length, 10 + id3v2Size);
138
+ }
139
+ let id3v1Size = 0;
140
+ let audioEnd = buffer.length;
141
+ if (buffer.length >= 128) {
142
+ const tagOffset = buffer.length - 128;
143
+ if (buffer.toString('ascii', tagOffset, tagOffset + 3) === 'TAG') {
144
+ id3v1Size = 128;
145
+ audioEnd = tagOffset;
146
+ }
147
+ }
148
+ return {
149
+ startOffset,
150
+ id3v2Size,
151
+ audioEnd,
152
+ id3v1Size
153
+ };
154
+ }
155
+ static syncSafeInteger(bytes) {
156
+ return ((bytes[0] & 0x7f) << 21) |
157
+ ((bytes[1] & 0x7f) << 14) |
158
+ ((bytes[2] & 0x7f) << 7) |
159
+ (bytes[3] & 0x7f);
160
+ }
161
+ static isFrameSync(buffer, offset) {
162
+ const byte1 = buffer[offset];
163
+ const byte2 = buffer[offset + 1];
164
+ if (byte1 === undefined || byte2 === undefined) {
165
+ return false;
166
+ }
167
+ return byte1 === 0xff && (byte2 & 0xe0) === 0xe0;
168
+ }
169
+ static parseFrameHeader(header) {
170
+ const versionBits = (header >> 19) & 0x3;
171
+ const layerBits = (header >> 17) & 0x3;
172
+ const bitrateIndex = (header >> 12) & 0xf;
173
+ const sampleRateIndex = (header >> 10) & 0x3;
174
+ const padding = ((header >> 9) & 0x1);
175
+ const version = this.decodeVersion(versionBits);
176
+ const layer = this.decodeLayer(layerBits);
177
+ if (!version || !layer) {
178
+ return null;
179
+ }
180
+ if (bitrateIndex === 0 || bitrateIndex === 15 || sampleRateIndex === 3) {
181
+ return null;
182
+ }
183
+ const bitrate = this.BITRATE_INDEX[version][layer][bitrateIndex];
184
+ const sampleRate = this.SAMPLE_RATE_INDEX[version][sampleRateIndex];
185
+ if (!bitrate || !sampleRate) {
186
+ return null;
187
+ }
188
+ const samplesPerFrame = this.getSamplesPerFrame(version, layer);
189
+ return {
190
+ version,
191
+ layer,
192
+ bitrate,
193
+ sampleRate,
194
+ padding,
195
+ samplesPerFrame
196
+ };
197
+ }
198
+ static decodeVersion(bits) {
199
+ switch (bits) {
200
+ case 0b11:
201
+ return 1;
202
+ case 0b10:
203
+ return 2;
204
+ case 0b00:
205
+ return 25;
206
+ default:
207
+ return null;
208
+ }
209
+ }
210
+ static decodeLayer(bits) {
211
+ switch (bits) {
212
+ case 0b11:
213
+ return 1;
214
+ case 0b10:
215
+ return 2;
216
+ case 0b01:
217
+ return 3;
218
+ default:
219
+ return null;
220
+ }
221
+ }
222
+ static getSamplesPerFrame(version, layer) {
223
+ if (layer === 1) {
224
+ return 384;
225
+ }
226
+ if (layer === 2) {
227
+ return 1152;
228
+ }
229
+ return version === 1 ? 1152 : 576;
129
230
  }
130
231
  }
131
232
  exports.FileLib = FileLib;
233
+ Object.defineProperty(FileLib, "BITRATE_INDEX", {
234
+ enumerable: true,
235
+ configurable: true,
236
+ writable: true,
237
+ value: {
238
+ 1: {
239
+ 1: [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448],
240
+ 2: [0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384],
241
+ 3: [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]
242
+ },
243
+ 2: {
244
+ 1: [0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256],
245
+ 2: [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160],
246
+ 3: [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160]
247
+ },
248
+ 25: {
249
+ 1: [0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256],
250
+ 2: [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160],
251
+ 3: [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160]
252
+ }
253
+ }
254
+ });
255
+ Object.defineProperty(FileLib, "SAMPLE_RATE_INDEX", {
256
+ enumerable: true,
257
+ configurable: true,
258
+ writable: true,
259
+ value: {
260
+ 1: [44100, 48000, 32000],
261
+ 2: [22050, 24000, 16000],
262
+ 25: [11025, 12000, 8000]
263
+ }
264
+ });
132
265
  //# sourceMappingURL=FileLib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileLib.js","sourceRoot":"","sources":["../../../src/Libs/FileLib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileLib.js","sourceRoot":"","sources":["../../../src/Libs/FileLib.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,20 @@ export declare class HlsStreamer {
6
6
  private readonly baseUrl;
7
7
  private readonly enableFastStart;
8
8
  private fileInfo?;
9
- private segmentCache;
10
- private frameAlignedSegments;
9
+ private segments;
11
10
  constructor(options: HlsStreamerOptions);
12
11
  private validateOptions;
13
12
  private validateFile;
14
13
  private getFileInfo;
15
14
  getFileBuffer(startByte: number, endByte: number): Promise<Buffer>;
16
15
  createM3U8(): Promise<string>;
17
- private calculateSegmentCount;
16
+ private getSegments;
17
+ private computeTargetSizes;
18
+ private computeTargetSizesFromBytes;
19
+ private buildSegmentsWithoutFrameTable;
18
20
  private estimateSegmentDuration;
19
21
  private buildSegmentUrl;
20
22
  private calculateSegmentSize;
21
- private calculateSegment;
22
- private getFrameAlignedSegment;
23
- private findNextMp3Frame;
24
- private calculatefirst2SegmentSize;
25
23
  private padNumber;
26
24
  getSegmentDuration(segmentIndex: number): Promise<number>;
27
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,0BAA0B,CAAC;AAYxF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,oBAAoB,CAAqD;gBAKrE,OAAO,EAAE,kBAAkB;IAWvC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;YAgBN,WAAW;IA2BnB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDlE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BnC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,gBAAgB;YAuBV,sBAAsB;IA+BpC,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,SAAS;IAOX,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBhE;AAGD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,0BAA0B,CAAC;AAYxF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAA4B;gBAKhC,OAAO,EAAE,kBAAkB;IAWvC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;YAgBN,WAAW;IAkBnB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BlE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YA+BrB,WAAW;IAiFzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,SAAS;IAOX,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAchE;AAGD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}