prismcast 1.2.1 → 1.3.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 +26 -1
- package/dist/app.js +29 -2
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.js +1 -1
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +11 -1
- package/dist/browser/channelSelection.js +45 -980
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/index.d.ts +18 -4
- package/dist/browser/index.js +202 -36
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +19 -0
- package/dist/browser/tuning/fox.js +61 -0
- package/dist/browser/tuning/fox.js.map +1 -0
- package/dist/browser/tuning/hbo.d.ts +22 -0
- package/dist/browser/tuning/hbo.js +182 -0
- package/dist/browser/tuning/hbo.js.map +1 -0
- package/dist/browser/tuning/hulu.d.ts +30 -0
- package/dist/browser/tuning/hulu.js +514 -0
- package/dist/browser/tuning/hulu.js.map +1 -0
- package/dist/browser/tuning/sling.d.ts +22 -0
- package/dist/browser/tuning/sling.js +287 -0
- package/dist/browser/tuning/sling.js.map +1 -0
- package/dist/browser/tuning/thumbnailRow.d.ts +18 -0
- package/dist/browser/tuning/thumbnailRow.js +107 -0
- package/dist/browser/tuning/thumbnailRow.js.map +1 -0
- package/dist/browser/tuning/tileClick.d.ts +18 -0
- package/dist/browser/tuning/tileClick.js +102 -0
- package/dist/browser/tuning/tileClick.js.map +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts +17 -0
- package/dist/browser/tuning/youtubeTv.js +99 -0
- package/dist/browser/tuning/youtubeTv.js.map +1 -0
- package/dist/browser/video.d.ts +2 -2
- package/dist/browser/video.js +18 -8
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.js +53 -7
- package/dist/channels/index.js.map +1 -1
- package/dist/config/profiles.js +11 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providers.d.ts +46 -1
- package/dist/config/providers.js +178 -13
- package/dist/config/providers.js.map +1 -1
- package/dist/config/sites.d.ts +2 -0
- package/dist/config/sites.js +43 -14
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.js +21 -3
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +2 -1
- package/dist/config/userConfig.js +12 -4
- package/dist/config/userConfig.js.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/routes/auth.js +6 -0
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/config.d.ts +5 -0
- package/dist/routes/config.js +273 -35
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/debug.d.ts +6 -0
- package/dist/routes/debug.js +274 -0
- package/dist/routes/debug.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/logs.js +17 -5
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/root.js +506 -127
- package/dist/routes/root.js.map +1 -1
- package/dist/routes/theme.js +7 -0
- package/dist/routes/theme.js.map +1 -1
- package/dist/service/commands.js +8 -8
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.js +22 -16
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +7 -0
- package/dist/streaming/fmp4Segmenter.js +124 -15
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +74 -6
- package/dist/streaming/hls.js +210 -129
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsSegments.js +11 -4
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.js +1 -1
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +1 -1
- package/dist/streaming/monitor.js +120 -49
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +29 -1
- package/dist/streaming/mp4Parser.js +243 -18
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +5 -2
- package/dist/streaming/mpegts.js +122 -29
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/registry.d.ts +1 -1
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +13 -1
- package/dist/streaming/setup.js +136 -36
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.js +9 -9
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.js +5 -6
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/index.d.ts +12 -3
- package/dist/types/index.js +5 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/debugFilter.d.ts +38 -0
- package/dist/utils/debugFilter.js +157 -0
- package/dist/utils/debugFilter.js.map +1 -0
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +5 -0
- package/dist/utils/ffmpeg.js +13 -2
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +2 -1
- package/dist/utils/fileLogger.js +4 -2
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +1 -0
- package/dist/utils/logEmitter.js.map +1 -1
- package/dist/utils/logger.d.ts +9 -8
- package/dist/utils/logger.js +52 -28
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/retry.d.ts +1 -1
- package/dist/utils/retry.js +3 -3
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/version.js +4 -9
- package/dist/utils/version.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/streaming/monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/streaming/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Nullable } from "../types/index.js";
|
|
1
2
|
/**
|
|
2
3
|
* Represents a complete MP4 box with its type and data.
|
|
3
4
|
*/
|
|
@@ -43,4 +44,31 @@ export declare function iterateChildBoxes(data: Buffer, callback: (type: string,
|
|
|
43
44
|
* @param moofData - The complete moof box buffer including its 8-byte header.
|
|
44
45
|
* @returns true if the moof starts with a keyframe, false if it starts with a non-keyframe, or null if the flags could not be determined.
|
|
45
46
|
*/
|
|
46
|
-
export declare function detectMoofKeyframe(moofData: Buffer): boolean
|
|
47
|
+
export declare function detectMoofKeyframe(moofData: Buffer): Nullable<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* Rewrites the baseMediaDecodeTime in every tfdt box within a moof to produce monotonically increasing timestamps. For each traf, the function reads the track ID from
|
|
50
|
+
* tfhd, writes the current per-track timestamp into tfdt, then advances the counter by the total sample duration extracted from trun. This eliminates timestamp
|
|
51
|
+
* discontinuities caused by capture restarts (tab replacement, source reload recovery) because Chrome's original timestamps are completely overwritten.
|
|
52
|
+
*
|
|
53
|
+
* The rewrite is done in-place on the moof buffer. This is safe because the buffer is an owned copy created by the MP4 box parser (Buffer.from() in createMP4BoxParser).
|
|
54
|
+
*
|
|
55
|
+
* Per-track state is necessary because FFmpeg outputs separate moof+mdat pairs for audio and video, and each track may have a different timescale (e.g., 90000 for
|
|
56
|
+
* video, 48000 for audio). A single counter would produce incorrect timestamps for one track.
|
|
57
|
+
*
|
|
58
|
+
* @param moofData - The complete moof box buffer including its 8-byte header. Modified in place.
|
|
59
|
+
* @param trackTimestamps - Map from track_ID to the next baseMediaDecodeTime value. Updated in place with the advanced timestamps after rewriting.
|
|
60
|
+
* @returns Map from track_ID to the total duration (in timescale units) computed from trun sample durations. The caller uses this for diagnostics (zero durations
|
|
61
|
+
* indicate trun parsing issues) and sanity checking (abnormal durations from corrupt trun data). Each entry corresponds to one traf box in the moof.
|
|
62
|
+
*/
|
|
63
|
+
export declare function rewriteMoofTimestamps(moofData: Buffer, trackTimestamps: Map<number, bigint>): Map<number, bigint>;
|
|
64
|
+
/**
|
|
65
|
+
* Extracts per-track timescale values from a moov (movie header) box. Each track in the moov contains a tkhd box with the track_ID and an mdia > mdhd box with the
|
|
66
|
+
* timescale. The timescale converts sample durations (in timescale units) to real seconds: seconds = duration / timescale. For example, a timescale of 16000 means
|
|
67
|
+
* each unit is 1/16000 of a second.
|
|
68
|
+
*
|
|
69
|
+
* Parsing path: moov > trak > { tkhd (track_ID), mdia > mdhd (timescale) }
|
|
70
|
+
*
|
|
71
|
+
* @param moovData - The complete moov box buffer including its 8-byte header.
|
|
72
|
+
* @returns Map from track_ID to timescale. Empty if no valid tracks are found.
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseMoovTimescales(moovData: Buffer): Map<number, number>;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* mp4Parser.ts: Low-level MP4 box parsing for PrismCast.
|
|
4
|
-
*/
|
|
5
1
|
// Constants.
|
|
6
2
|
// Minimum header size: 4 bytes size + 4 bytes type.
|
|
7
3
|
const MIN_HEADER_SIZE = 8;
|
|
@@ -169,8 +165,8 @@ function evaluateSampleFlags(flags) {
|
|
|
169
165
|
return true;
|
|
170
166
|
}
|
|
171
167
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
168
|
+
* Parses a tfhd (track fragment header) box and extracts the track ID, default sample duration, and default sample flags. This is the single source of truth for
|
|
169
|
+
* tfhd field extraction, used by both detectMoofKeyframe() (for sample flags) and rewriteMoofTimestamps() (for track ID and duration).
|
|
174
170
|
*
|
|
175
171
|
* tfhd layout (FullBox):
|
|
176
172
|
* - [0-3] size, [4-7] "tfhd", [8] version, [9-11] flags, [12-15] track_ID
|
|
@@ -184,19 +180,16 @@ function evaluateSampleFlags(flags) {
|
|
|
184
180
|
* @param data - The buffer containing the tfhd box.
|
|
185
181
|
* @param offset - The byte offset of the tfhd box within the buffer.
|
|
186
182
|
* @param size - The total size of the tfhd box.
|
|
187
|
-
* @returns The
|
|
183
|
+
* @returns The parsed tfhd fields, or null if the box is malformed.
|
|
188
184
|
*/
|
|
189
|
-
function
|
|
185
|
+
function parseTfhd(data, offset, size) {
|
|
190
186
|
// Need at least the FullBox header (12 bytes) plus track_ID (4 bytes) = 16 bytes.
|
|
191
187
|
if (size < 16) {
|
|
192
188
|
return null;
|
|
193
189
|
}
|
|
194
190
|
const tfhdFlags = data.readUInt32BE(offset + 8) & 0x00FFFFFF;
|
|
195
|
-
|
|
196
|
-
if
|
|
197
|
-
return null;
|
|
198
|
-
}
|
|
199
|
-
// Walk past optional fields that precede default_sample_flags. Each field is present only if its corresponding flag bit is set.
|
|
191
|
+
const trackId = data.readUInt32BE(offset + 12);
|
|
192
|
+
// Walk past optional fields in order. Each field is present only if its corresponding flag bit is set.
|
|
200
193
|
let pos = offset + 16;
|
|
201
194
|
if (tfhdFlags & 0x000001) {
|
|
202
195
|
pos += 8;
|
|
@@ -204,17 +197,28 @@ function extractDefaultSampleFlags(data, offset, size) {
|
|
|
204
197
|
if (tfhdFlags & 0x000002) {
|
|
205
198
|
pos += 4;
|
|
206
199
|
}
|
|
200
|
+
// Extract default_sample_duration if present.
|
|
201
|
+
let defaultSampleDuration = 0;
|
|
207
202
|
if (tfhdFlags & 0x000008) {
|
|
203
|
+
if ((pos + 4) > (offset + size)) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
defaultSampleDuration = data.readUInt32BE(pos);
|
|
208
207
|
pos += 4;
|
|
209
208
|
}
|
|
209
|
+
// Skip default_sample_size.
|
|
210
210
|
if (tfhdFlags & 0x000010) {
|
|
211
211
|
pos += 4;
|
|
212
212
|
}
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
// Extract default_sample_flags if present.
|
|
214
|
+
let defaultSampleFlags = null;
|
|
215
|
+
if (tfhdFlags & 0x000020) {
|
|
216
|
+
if ((pos + 4) > (offset + size)) {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
defaultSampleFlags = data.readUInt32BE(pos);
|
|
216
220
|
}
|
|
217
|
-
return
|
|
221
|
+
return { defaultSampleDuration, defaultSampleFlags, trackId };
|
|
218
222
|
}
|
|
219
223
|
/**
|
|
220
224
|
* Extracts the sample flags for the first sample in a trun (track fragment run) box. The flags are resolved from three sources in priority order:
|
|
@@ -308,7 +312,7 @@ export function detectMoofKeyframe(moofData) {
|
|
|
308
312
|
// spec-mandated box ordering, so defaultSampleFlags will be populated before any trun is processed.
|
|
309
313
|
iterateChildBoxes(trafData, (childType, childData, childOffset, childSize) => {
|
|
310
314
|
if (childType === "tfhd") {
|
|
311
|
-
defaultSampleFlags =
|
|
315
|
+
defaultSampleFlags = parseTfhd(childData, childOffset, childSize)?.defaultSampleFlags ?? null;
|
|
312
316
|
}
|
|
313
317
|
else if (childType === "trun") {
|
|
314
318
|
const sampleFlags = extractFirstSampleFlags(childData, childOffset, childSize, defaultSampleFlags);
|
|
@@ -338,4 +342,225 @@ export function detectMoofKeyframe(moofData) {
|
|
|
338
342
|
// No definitive signal from any traf.
|
|
339
343
|
return null;
|
|
340
344
|
}
|
|
345
|
+
// Timestamp Rewriting.
|
|
346
|
+
/**
|
|
347
|
+
* Computes the total duration of all samples in a trun (track fragment run) box. The duration is the sum of per-sample durations when present (trun flags bit 0x100),
|
|
348
|
+
* or sampleCount * defaultSampleDuration as a fallback. The result is returned as a BigInt for safe accumulation into the 64-bit timestamp counter.
|
|
349
|
+
*
|
|
350
|
+
* trun layout (FullBox):
|
|
351
|
+
* - [0-3] size, [4-7] "trun", [8] version, [9-11] flags, [12-15] sample_count
|
|
352
|
+
* - Optional fields after sample_count:
|
|
353
|
+
* 0x001: data_offset (4 bytes)
|
|
354
|
+
* 0x004: first_sample_flags (4 bytes)
|
|
355
|
+
* - Per-sample entries (each containing optional fields based on flags):
|
|
356
|
+
* 0x100: sample_duration (4 bytes)
|
|
357
|
+
* 0x200: sample_size (4 bytes)
|
|
358
|
+
* 0x400: sample_flags (4 bytes)
|
|
359
|
+
* 0x800: sample_composition_time_offset (4 bytes)
|
|
360
|
+
*
|
|
361
|
+
* @param data - The buffer containing the trun box.
|
|
362
|
+
* @param offset - The byte offset of the trun box within the buffer.
|
|
363
|
+
* @param size - The total size of the trun box.
|
|
364
|
+
* @param defaultSampleDuration - The default sample duration from the parent tfhd, used when per-sample durations are absent.
|
|
365
|
+
* @returns The total duration of all samples as a BigInt, or 0n if the box is malformed or empty.
|
|
366
|
+
*/
|
|
367
|
+
function extractTrunTotalDuration(data, offset, size, defaultSampleDuration) {
|
|
368
|
+
// Need at least the FullBox header (12 bytes) plus sample_count (4 bytes) = 16 bytes.
|
|
369
|
+
if (size < 16) {
|
|
370
|
+
return 0n;
|
|
371
|
+
}
|
|
372
|
+
const trunFlags = data.readUInt32BE(offset + 8) & 0x00FFFFFF;
|
|
373
|
+
const sampleCount = data.readUInt32BE(offset + 12);
|
|
374
|
+
if (sampleCount === 0) {
|
|
375
|
+
return 0n;
|
|
376
|
+
}
|
|
377
|
+
// If per-sample durations are not present, use defaultSampleDuration * sampleCount.
|
|
378
|
+
if (!(trunFlags & 0x100)) {
|
|
379
|
+
return BigInt(defaultSampleDuration) * BigInt(sampleCount);
|
|
380
|
+
}
|
|
381
|
+
// Compute the byte size of each per-sample entry from the trun flags. Each optional field adds 4 bytes to the entry. The duration field (0x100) is always present
|
|
382
|
+
// here because we returned early above when it was not set.
|
|
383
|
+
let entrySize = 4;
|
|
384
|
+
if (trunFlags & 0x200) {
|
|
385
|
+
entrySize += 4;
|
|
386
|
+
}
|
|
387
|
+
if (trunFlags & 0x400) {
|
|
388
|
+
entrySize += 4;
|
|
389
|
+
}
|
|
390
|
+
if (trunFlags & 0x800) {
|
|
391
|
+
entrySize += 4;
|
|
392
|
+
}
|
|
393
|
+
// Walk past the optional header fields to reach the sample entries.
|
|
394
|
+
let pos = offset + 16;
|
|
395
|
+
if (trunFlags & 0x001) {
|
|
396
|
+
pos += 4;
|
|
397
|
+
}
|
|
398
|
+
if (trunFlags & 0x004) {
|
|
399
|
+
pos += 4;
|
|
400
|
+
}
|
|
401
|
+
// Sum per-sample durations. The duration field is the first field in each entry (when present), since entry fields appear in order: duration, size, flags,
|
|
402
|
+
// composition_time_offset.
|
|
403
|
+
let totalDuration = 0n;
|
|
404
|
+
const endPos = offset + size;
|
|
405
|
+
for (let i = 0; i < sampleCount; i++) {
|
|
406
|
+
if ((pos + 4) > endPos) {
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
409
|
+
totalDuration += BigInt(data.readUInt32BE(pos));
|
|
410
|
+
pos += entrySize;
|
|
411
|
+
}
|
|
412
|
+
return totalDuration;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Rewrites the baseMediaDecodeTime in every tfdt box within a moof to produce monotonically increasing timestamps. For each traf, the function reads the track ID from
|
|
416
|
+
* tfhd, writes the current per-track timestamp into tfdt, then advances the counter by the total sample duration extracted from trun. This eliminates timestamp
|
|
417
|
+
* discontinuities caused by capture restarts (tab replacement, source reload recovery) because Chrome's original timestamps are completely overwritten.
|
|
418
|
+
*
|
|
419
|
+
* The rewrite is done in-place on the moof buffer. This is safe because the buffer is an owned copy created by the MP4 box parser (Buffer.from() in createMP4BoxParser).
|
|
420
|
+
*
|
|
421
|
+
* Per-track state is necessary because FFmpeg outputs separate moof+mdat pairs for audio and video, and each track may have a different timescale (e.g., 90000 for
|
|
422
|
+
* video, 48000 for audio). A single counter would produce incorrect timestamps for one track.
|
|
423
|
+
*
|
|
424
|
+
* @param moofData - The complete moof box buffer including its 8-byte header. Modified in place.
|
|
425
|
+
* @param trackTimestamps - Map from track_ID to the next baseMediaDecodeTime value. Updated in place with the advanced timestamps after rewriting.
|
|
426
|
+
* @returns Map from track_ID to the total duration (in timescale units) computed from trun sample durations. The caller uses this for diagnostics (zero durations
|
|
427
|
+
* indicate trun parsing issues) and sanity checking (abnormal durations from corrupt trun data). Each entry corresponds to one traf box in the moof.
|
|
428
|
+
*/
|
|
429
|
+
export function rewriteMoofTimestamps(moofData, trackTimestamps) {
|
|
430
|
+
const trafDurations = new Map();
|
|
431
|
+
// Walk the moof's child boxes looking for traf (track fragment) boxes.
|
|
432
|
+
iterateChildBoxes(moofData, (type, data, offset, size) => {
|
|
433
|
+
if (type !== "traf") {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
// Create a subarray for this traf so we can iterate its child boxes. Buffer.subarray() shares memory with the parent, so this is O(1) with no data copying.
|
|
437
|
+
const trafData = data.subarray(offset, offset + size);
|
|
438
|
+
let tfhdInfo = null;
|
|
439
|
+
let totalDuration = 0n;
|
|
440
|
+
// Walk the traf's child boxes. The spec mandates tfhd before tfdt before trun, so we process them in order. The first pass extracts tfhd info and rewrites
|
|
441
|
+
// tfdt. The trun duration extraction happens in the same pass since tfhd is already available by the time trun is encountered.
|
|
442
|
+
iterateChildBoxes(trafData, (childType, childData, childOffset, childSize) => {
|
|
443
|
+
if (childType === "tfhd") {
|
|
444
|
+
tfhdInfo = parseTfhd(childData, childOffset, childSize);
|
|
445
|
+
}
|
|
446
|
+
else if (childType === "tfdt") {
|
|
447
|
+
// Rewrite baseMediaDecodeTime with the current per-track timestamp. The tfhd must precede tfdt per the ISO 14496-12 box ordering, so tfhdInfo is
|
|
448
|
+
// available here.
|
|
449
|
+
if (!tfhdInfo) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
const currentTimestamp = trackTimestamps.get(tfhdInfo.trackId) ?? 0n;
|
|
453
|
+
// tfdt layout (FullBox): [0-3] size, [4-7] "tfdt", [8] version, [9-11] flags, [12+] baseMediaDecodeTime.
|
|
454
|
+
// Version 0: 32-bit baseMediaDecodeTime at offset 12. Version 1: 64-bit baseMediaDecodeTime at offset 12.
|
|
455
|
+
if (childSize < 16) {
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
const version = childData.readUInt8(childOffset + 8);
|
|
459
|
+
if (version === 0) {
|
|
460
|
+
// Version 0: write as uint32 (truncate to 32 bits). Overflows at ~13 hours for 90000 Hz timescale, but version 0 tfdt boxes are inherently 32-bit.
|
|
461
|
+
childData.writeUInt32BE(Number(currentTimestamp & 0xffffffffn), childOffset + 12);
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
// Version 1: write as uint64 (high 32 bits + low 32 bits). Requires at least 20 bytes in the tfdt box.
|
|
465
|
+
if (childSize < 20) {
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
const high = Number((currentTimestamp >> 32n) & 0xffffffffn);
|
|
469
|
+
const low = Number(currentTimestamp & 0xffffffffn);
|
|
470
|
+
childData.writeUInt32BE(high, childOffset + 12);
|
|
471
|
+
childData.writeUInt32BE(low, childOffset + 16);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
else if (childType === "trun") {
|
|
475
|
+
// Accumulate sample durations from each trun. A traf can contain multiple trun boxes (though rare in practice). The tfhd must precede trun per spec
|
|
476
|
+
// ordering, so tfhdInfo and its defaultSampleDuration are available here.
|
|
477
|
+
if (tfhdInfo) {
|
|
478
|
+
totalDuration += extractTrunTotalDuration(childData, childOffset, childSize, tfhdInfo.defaultSampleDuration);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
// Advance the per-track timestamp counter by the total sample duration from this traf. A zero duration with a valid tfhd indicates a trun parsing issue —
|
|
483
|
+
// the caller should log a warning. We still advance (by zero) to avoid corrupting subsequent timestamps. TypeScript's control flow analysis cannot track
|
|
484
|
+
// mutations made inside the iterateChildBoxes callback, so tfhdInfo appears "always null" to the linter despite being set at runtime.
|
|
485
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
486
|
+
if (tfhdInfo) {
|
|
487
|
+
const info = tfhdInfo;
|
|
488
|
+
trafDurations.set(info.trackId, totalDuration);
|
|
489
|
+
const currentTimestamp = trackTimestamps.get(info.trackId) ?? 0n;
|
|
490
|
+
trackTimestamps.set(info.trackId, currentTimestamp + totalDuration);
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
return trafDurations;
|
|
494
|
+
}
|
|
495
|
+
// Moov Timescale Extraction.
|
|
496
|
+
/**
|
|
497
|
+
* Extracts per-track timescale values from a moov (movie header) box. Each track in the moov contains a tkhd box with the track_ID and an mdia > mdhd box with the
|
|
498
|
+
* timescale. The timescale converts sample durations (in timescale units) to real seconds: seconds = duration / timescale. For example, a timescale of 16000 means
|
|
499
|
+
* each unit is 1/16000 of a second.
|
|
500
|
+
*
|
|
501
|
+
* Parsing path: moov > trak > { tkhd (track_ID), mdia > mdhd (timescale) }
|
|
502
|
+
*
|
|
503
|
+
* @param moovData - The complete moov box buffer including its 8-byte header.
|
|
504
|
+
* @returns Map from track_ID to timescale. Empty if no valid tracks are found.
|
|
505
|
+
*/
|
|
506
|
+
export function parseMoovTimescales(moovData) {
|
|
507
|
+
const result = new Map();
|
|
508
|
+
// Walk the moov's child boxes looking for trak (track) boxes.
|
|
509
|
+
iterateChildBoxes(moovData, (type, data, offset, size) => {
|
|
510
|
+
if (type !== "trak") {
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
const trakData = data.subarray(offset, offset + size);
|
|
514
|
+
let trackId = null;
|
|
515
|
+
let timescale = null;
|
|
516
|
+
// Walk the trak's child boxes to find tkhd (track header) and mdia (media container). The spec mandates tkhd before mdia, so trackId is available before we
|
|
517
|
+
// need it, but we don't depend on ordering — both are extracted independently and combined after iteration.
|
|
518
|
+
iterateChildBoxes(trakData, (childType, childData, childOffset, childSize) => {
|
|
519
|
+
if (childType === "tkhd") {
|
|
520
|
+
// tkhd layout (FullBox): [0-3] size, [4-7] "tkhd", [8] version, [9-11] flags.
|
|
521
|
+
// Version 0: [12-15] creation_time, [16-19] modification_time, [20-23] track_ID.
|
|
522
|
+
// Version 1: [12-19] creation_time, [20-27] modification_time, [28-31] track_ID.
|
|
523
|
+
if (childSize < 16) {
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
526
|
+
const version = childData.readUInt8(childOffset + 8);
|
|
527
|
+
if ((version === 0) && (childSize >= 24)) {
|
|
528
|
+
trackId = childData.readUInt32BE(childOffset + 20);
|
|
529
|
+
}
|
|
530
|
+
else if ((version === 1) && (childSize >= 32)) {
|
|
531
|
+
trackId = childData.readUInt32BE(childOffset + 28);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
else if (childType === "mdia") {
|
|
535
|
+
// Walk the mdia's child boxes to find mdhd (media header) which contains the timescale.
|
|
536
|
+
const mdiaData = childData.subarray(childOffset, childOffset + childSize);
|
|
537
|
+
iterateChildBoxes(mdiaData, (mdiaChildType, mdiaChildData, mdiaChildOffset, mdiaChildSize) => {
|
|
538
|
+
if (mdiaChildType !== "mdhd") {
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
// mdhd layout (FullBox): [0-3] size, [4-7] "mdhd", [8] version, [9-11] flags.
|
|
542
|
+
// Version 0: [12-15] creation_time, [16-19] modification_time, [20-23] timescale.
|
|
543
|
+
// Version 1: [12-19] creation_time, [20-27] modification_time, [28-31] timescale.
|
|
544
|
+
if (mdiaChildSize < 16) {
|
|
545
|
+
return;
|
|
546
|
+
}
|
|
547
|
+
const mdhdVersion = mdiaChildData.readUInt8(mdiaChildOffset + 8);
|
|
548
|
+
if ((mdhdVersion === 0) && (mdiaChildSize >= 24)) {
|
|
549
|
+
timescale = mdiaChildData.readUInt32BE(mdiaChildOffset + 20);
|
|
550
|
+
}
|
|
551
|
+
else if ((mdhdVersion === 1) && (mdiaChildSize >= 32)) {
|
|
552
|
+
timescale = mdiaChildData.readUInt32BE(mdiaChildOffset + 28);
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
});
|
|
557
|
+
// Store the track if both trackId and timescale were successfully extracted. TypeScript's control flow analysis cannot track mutations made inside the
|
|
558
|
+
// iterateChildBoxes callbacks, so these variables appear "always null" to the linter despite being set at runtime.
|
|
559
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
560
|
+
if ((trackId !== null) && (timescale !== null) && (timescale > 0)) {
|
|
561
|
+
result.set(trackId, timescale);
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
return result;
|
|
565
|
+
}
|
|
341
566
|
//# sourceMappingURL=mp4Parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mp4Parser.js","sourceRoot":"","sources":["../../src/streaming/mp4Parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mp4Parser.js","sourceRoot":"","sources":["../../src/streaming/mp4Parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
/**
|
|
3
|
-
* Handles MPEG-TS stream requests.
|
|
4
|
-
*
|
|
3
|
+
* Handles MPEG-TS stream requests. Validates the channel, flushes HTTP headers early for new streams, then ensures a capture is running, waits for the init segment,
|
|
4
|
+
* spawns a per-client FFmpeg remuxer, and streams the output.
|
|
5
|
+
*
|
|
6
|
+
* For new streams, headers are flushed before stream setup begins so the client sees an immediate 200 response. This prevents timeout failures during the 4-10+
|
|
7
|
+
* second startup sequence. The trade-off is that error responses cannot be sent after the flush — failures are logged server-side and the connection is closed.
|
|
5
8
|
*
|
|
6
9
|
* Route: GET /stream/:name
|
|
7
10
|
*
|