@hyperframes/engine 0.7.89 → 0.7.92

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,9 +1,9 @@
1
1
  // fallow-ignore-file code-duplication complexity
2
2
  import { spawn } from "child_process";
3
- import { readFileSync } from "fs";
3
+ import { createReadStream, readFileSync, statSync } from "fs";
4
4
  import * as zlib from "node:zlib";
5
5
  import { StringDecoder } from "node:string_decoder";
6
- import { basename, extname } from "path";
6
+ import { basename } from "path";
7
7
  import { redactTelemetryString } from "@hyperframes/core";
8
8
  import { FFPROBE_PATH_ENV, getFfprobeBinary } from "./ffmpegBinaries.js";
9
9
  import { ManagedChildProcess } from "./managedChildProcess.js";
@@ -45,7 +45,7 @@ function sanitizeFfprobeDiagnostic(stderr, filePath) {
45
45
  return `…${redacted.slice(-(FFPROBE_ERROR_MAX_CHARS - 1))}`;
46
46
  }
47
47
  /** Spawn ffprobe with given args, return stdout. Throws on non-zero exit or missing binary. */
48
- async function runFfprobe(filePath, argsWithoutInput, signal) {
48
+ async function runFfprobe(filePath, argsWithoutInput, signal, stdoutOptions) {
49
49
  // `--` stops option parsing so a path like "-intro.mp4" is a filename, but
50
50
  // it does NOT cover a path of exactly "-": ffprobe rewrites that to `fd:`
51
51
  // AFTER option parsing and then reads stdin. Since stdin here is a pipe the
@@ -71,6 +71,7 @@ async function runFfprobe(filePath, argsWithoutInput, signal) {
71
71
  const decoder = new StringDecoder("utf8");
72
72
  let stdout = "";
73
73
  let stdoutTruncated = false;
74
+ const stdoutMaxChars = stdoutOptions?.maxChars ?? FFPROBE_STDOUT_MAX_CHARS;
74
75
  proc.stdout.on("data", (data) => {
75
76
  // stderr is capped by ManagedChildProcess; stdout had no bound at all, and
76
77
  // analyzeKeyframeIntervals emits one line per frame — an all-intra ProRes
@@ -80,9 +81,14 @@ async function runFfprobe(filePath, argsWithoutInput, signal) {
80
81
  stdout += decoder.write(data);
81
82
  // Checked AFTER appending: a single chunk can already exceed the bound,
82
83
  // so a pre-append check only ever stops the second one.
83
- if (stdout.length > FFPROBE_STDOUT_MAX_CHARS) {
84
- stdoutTruncated = true;
85
- stdout = "";
84
+ if (stdout.length > stdoutMaxChars) {
85
+ if (stdoutOptions?.retainTail) {
86
+ stdout = stdout.slice(-stdoutMaxChars);
87
+ }
88
+ else {
89
+ stdoutTruncated = true;
90
+ stdout = "";
91
+ }
86
92
  }
87
93
  });
88
94
  const managed = new ManagedChildProcess(proc, {
@@ -93,7 +99,7 @@ async function runFfprobe(filePath, argsWithoutInput, signal) {
93
99
  const outcome = await managed.wait();
94
100
  stdout += decoder.end();
95
101
  if (stdoutTruncated) {
96
- throw new Error(`[FFmpeg] ffprobe output exceeded ${FFPROBE_STDOUT_MAX_CHARS} characters; refusing to parse a truncated result.`);
102
+ throw new Error(`[FFmpeg] ffprobe output exceeded ${stdoutMaxChars} characters; refusing to parse a truncated result.`);
97
103
  }
98
104
  if (outcome.reason === "spawn_error") {
99
105
  if (outcome.error?.code === "ENOENT") {
@@ -119,9 +125,210 @@ function parseProbeJson(stdout) {
119
125
  }
120
126
  }
121
127
  const videoMetadataCache = new Map();
128
+ const finalVideoFrameTimestampCache = new Map();
129
+ const finalVideoFrameTimestampSignalCaches = new WeakMap();
122
130
  const audioMetadataCache = new Map();
131
+ const mediaProbeOutputCache = new Map();
132
+ const mediaProbeOutputSignalCaches = new WeakMap();
133
+ const MEDIA_PROBE_OUTPUT_CACHE_MAX_ENTRIES = 128;
123
134
  // FFmpeg's built-in AAC encoder emits AAC-LC, which has 1024 samples per packet.
124
135
  const AAC_LC_SAMPLES_PER_PACKET = 1024;
136
+ const STILL_IMAGE_DEMUXERS = new Set([
137
+ "apng",
138
+ "bmp_pipe",
139
+ "dds_pipe",
140
+ "dpx_pipe",
141
+ "exr_pipe",
142
+ "gif",
143
+ "ico",
144
+ "image2",
145
+ "image2pipe",
146
+ "jpeg_pipe",
147
+ "jxl_pipe",
148
+ "png_pipe",
149
+ "qdraw_pipe",
150
+ "sgi_pipe",
151
+ "svg_pipe",
152
+ "tiff_pipe",
153
+ "webp_pipe",
154
+ ]);
155
+ async function hasAvifFileBrand(filePath) {
156
+ try {
157
+ const chunks = [];
158
+ for await (const chunk of createReadStream(filePath, { start: 0, end: 4095 })) {
159
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
160
+ }
161
+ const bytes = Buffer.concat(chunks);
162
+ if (bytes.length < 16 || bytes.toString("ascii", 4, 8) !== "ftyp")
163
+ return false;
164
+ const boxSize = bytes.readUInt32BE(0);
165
+ if (boxSize < 16 || boxSize > bytes.length)
166
+ return false;
167
+ const avifBrands = new Set(["avif", "avis"]);
168
+ if (avifBrands.has(bytes.toString("ascii", 8, 12)))
169
+ return true;
170
+ for (let offset = 16; offset + 4 <= boxSize; offset += 4) {
171
+ if (avifBrands.has(bytes.toString("ascii", offset, offset + 4)))
172
+ return true;
173
+ }
174
+ return false;
175
+ }
176
+ catch {
177
+ return false;
178
+ }
179
+ }
180
+ async function isStillImageVisual(output, filePath) {
181
+ const formatNames = (output.format.format_name ?? "")
182
+ .split(",")
183
+ .map((name) => name.trim().toLowerCase())
184
+ .filter(Boolean);
185
+ return (formatNames.some((name) => STILL_IMAGE_DEMUXERS.has(name)) || (await hasAvifFileBrand(filePath)));
186
+ }
187
+ function isPngImageProbe(output) {
188
+ const formatNames = (output.format.format_name ?? "")
189
+ .split(",")
190
+ .map((name) => name.trim().toLowerCase());
191
+ return (formatNames.includes("png_pipe") ||
192
+ output.streams.some((stream) => stream.codec_type === "video" && stream.codec_name?.toLowerCase() === "png"));
193
+ }
194
+ function mediaFileIdentity(filePath) {
195
+ try {
196
+ const stat = statSync(filePath, { bigint: true });
197
+ return [stat.dev, stat.ino, stat.size, stat.mtimeNs, stat.ctimeNs].join(":");
198
+ }
199
+ catch {
200
+ return null;
201
+ }
202
+ }
203
+ async function probeMediaOutput(filePath, signal) {
204
+ let cache = mediaProbeOutputCache;
205
+ if (signal) {
206
+ cache = mediaProbeOutputSignalCaches.get(signal) ?? new Map();
207
+ mediaProbeOutputSignalCaches.set(signal, cache);
208
+ }
209
+ const identity = mediaFileIdentity(filePath);
210
+ const cached = cache.get(filePath);
211
+ if (identity !== null && cached?.identity === identity) {
212
+ // The no-signal fallback is process-scoped, so touch its entries to make
213
+ // the fixed-size map an LRU. Signal-owned maps are released with their
214
+ // render and do not need process-lifetime eviction.
215
+ if (!signal) {
216
+ cache.delete(filePath);
217
+ cache.set(filePath, cached);
218
+ }
219
+ return cached.promise;
220
+ }
221
+ const promise = runFfprobe(filePath, ["-print_format", "json", "-show_format", "-show_streams"], signal).then(parseProbeJson);
222
+ if (identity !== null) {
223
+ cache.set(filePath, { identity, promise });
224
+ if (!signal && cache.size > MEDIA_PROBE_OUTPUT_CACHE_MAX_ENTRIES) {
225
+ const oldestPath = cache.keys().next().value;
226
+ if (oldestPath !== undefined)
227
+ cache.delete(oldestPath);
228
+ }
229
+ }
230
+ promise.catch(() => {
231
+ if (cache.get(filePath)?.promise === promise) {
232
+ cache.delete(filePath);
233
+ }
234
+ });
235
+ return promise;
236
+ }
237
+ class StructurallyIncompletePngError extends Error {
238
+ }
239
+ async function readFileRange(filePath, start, length, signal) {
240
+ const chunks = [];
241
+ for await (const chunk of createReadStream(filePath, {
242
+ start,
243
+ end: start + length - 1,
244
+ highWaterMark: length,
245
+ signal,
246
+ })) {
247
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
248
+ }
249
+ return Buffer.concat(chunks);
250
+ }
251
+ async function hasCompletePngStructure(filePath, signal) {
252
+ try {
253
+ signal?.throwIfAborted();
254
+ const fileSize = statSync(filePath).size;
255
+ // Range streams are read-only and skip large IDAT payloads without loading
256
+ // the entire image into memory.
257
+ const signature = await readFileRange(filePath, 0, 8, signal);
258
+ signal?.throwIfAborted();
259
+ if (signature.length !== 8 ||
260
+ !signature.equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) {
261
+ return false;
262
+ }
263
+ let seenHeader = false;
264
+ let seenImageData = false;
265
+ let offset = 8;
266
+ while (offset + 12 <= fileSize) {
267
+ signal?.throwIfAborted();
268
+ const chunkHeader = await readFileRange(filePath, offset, 8, signal);
269
+ signal?.throwIfAborted();
270
+ if (chunkHeader.length !== 8)
271
+ return false;
272
+ const chunkLength = chunkHeader.readUInt32BE(0);
273
+ const chunkEnd = offset + 12 + chunkLength;
274
+ if (chunkEnd > fileSize)
275
+ return false;
276
+ const chunkType = chunkHeader.toString("ascii", 4, 8);
277
+ if (chunkType === "IHDR")
278
+ seenHeader = chunkLength === 13 && offset === 8;
279
+ if (chunkType === "IDAT")
280
+ seenImageData = true;
281
+ if (chunkType === "IEND")
282
+ return seenHeader && seenImageData && chunkLength === 0;
283
+ offset = chunkEnd;
284
+ }
285
+ return false;
286
+ }
287
+ catch (error) {
288
+ if (signal?.aborted)
289
+ throw signal.reason ?? error;
290
+ return false;
291
+ }
292
+ }
293
+ /**
294
+ * Probe stream capabilities without assuming the caller's element type.
295
+ * File extensions and HTTP MIME are deliberately ignored: extensionless
296
+ * assets and valid media served through generic CDN content types must work.
297
+ */
298
+ export async function probeMediaProfile(filePath, options) {
299
+ try {
300
+ const output = await probeMediaOutput(filePath, options?.signal);
301
+ options?.signal?.throwIfAborted();
302
+ const videoStreams = output.streams.filter((stream) => stream.codec_type === "video");
303
+ const hasMovingVideoStream = videoStreams.some((stream) => stream.disposition?.attached_pic !== 1);
304
+ const isStillImage = videoStreams.length > 0 && (await isStillImageVisual(output, filePath));
305
+ options?.signal?.throwIfAborted();
306
+ if (isStillImage &&
307
+ isPngImageProbe(output) &&
308
+ !(await hasCompletePngStructure(filePath, options?.signal))) {
309
+ throw new StructurallyIncompletePngError("[FFmpeg] PNG input is structurally incomplete");
310
+ }
311
+ return {
312
+ hasVideoStream: videoStreams.length > 0,
313
+ hasAudioStream: output.streams.some((stream) => stream.codec_type === "audio"),
314
+ visualKind: isStillImage ? "still" : hasMovingVideoStream ? "moving" : "none",
315
+ };
316
+ }
317
+ catch (error) {
318
+ if (options?.signal?.aborted)
319
+ throw options.signal.reason ?? error;
320
+ if (error instanceof StructurallyIncompletePngError)
321
+ throw error;
322
+ // Preserve the PNG parser fallback used by extractMediaMetadata when the
323
+ // packaged ffprobe binary is unavailable. Signature parsing (not the file
324
+ // extension) keeps extensionless PNGs eligible for preflight.
325
+ const stillImage = extractStillImageMetadata(filePath);
326
+ if (stillImage && (await hasCompletePngStructure(filePath, options?.signal))) {
327
+ return { hasVideoStream: true, hasAudioStream: false, visualKind: "still" };
328
+ }
329
+ throw error;
330
+ }
331
+ }
125
332
  // node:zlib's crc32 is native and takes a running seed, so the chunk type and
126
333
  // the chunk data can be CRC'd in sequence without concatenating them into a
127
334
  // throwaway buffer: ~210 ms -> ~1.3 ms on a 12 MiB PNG.
@@ -243,8 +450,6 @@ export function pixelFormatHasAlpha(pixelFormat) {
243
450
  return /^(?:yuva|rgba|argb|bgra|abgr|gbrap|ya|ayuv)/i.test(pixelFormat);
244
451
  }
245
452
  function extractStillImageMetadata(filePath) {
246
- if (extname(filePath).toLowerCase() !== ".png")
247
- return null;
248
453
  try {
249
454
  return extractPngMetadataFromBuffer(readFileSync(filePath));
250
455
  }
@@ -351,13 +556,7 @@ export async function extractMediaMetadata(filePath) {
351
556
  };
352
557
  let output = null;
353
558
  try {
354
- const stdout = await runFfprobe(filePath, [
355
- "-print_format",
356
- "json",
357
- "-show_format",
358
- "-show_streams",
359
- ]);
360
- output = parseProbeJson(stdout);
559
+ output = await probeMediaOutput(filePath);
361
560
  }
362
561
  catch (error) {
363
562
  if (!stillImage())
@@ -370,6 +569,7 @@ export async function extractMediaMetadata(filePath) {
370
569
  return {
371
570
  durationSeconds: 0,
372
571
  videoStreamDurationSeconds: 0,
572
+ videoStreamStartSeconds: 0,
373
573
  width: stillImageMeta.width,
374
574
  height: stillImageMeta.height,
375
575
  fps: 0,
@@ -416,9 +616,12 @@ export async function extractMediaMetadata(filePath) {
416
616
  // flattened to an opaque rectangle.
417
617
  const containerDuration = output?.format.duration ? parseFloat(output.format.duration) : 0;
418
618
  const streamDuration = videoStream.duration ? parseFloat(videoStream.duration) : 0;
619
+ const parsedStreamStart = videoStream.start_time ? parseFloat(videoStream.start_time) : 0;
620
+ const streamStart = Number.isFinite(parsedStreamStart) ? parsedStreamStart : 0;
419
621
  return {
420
622
  durationSeconds: containerDuration,
421
623
  videoStreamDurationSeconds: streamDuration > 0 ? streamDuration : containerDuration,
624
+ videoStreamStartSeconds: streamStart,
422
625
  width: videoStream.width || stillImage()?.width || 0,
423
626
  height: videoStream.height || stillImage()?.height || 0,
424
627
  fps,
@@ -437,6 +640,84 @@ export async function extractMediaMetadata(filePath) {
437
640
  });
438
641
  return probePromise;
439
642
  }
643
+ /**
644
+ * Return the FFmpeg input-seek position of the final decoded video frame.
645
+ *
646
+ * A fixed seek window near EOF is not sufficient: sub-1fps and sparse VFR
647
+ * sources can have no frame timestamp inside that window even though the last
648
+ * decoded frame remains displayed through the stream duration. ffprobe seeks
649
+ * to the preceding keyframe and walks forward; retaining only its stdout tail
650
+ * keeps memory bounded even for a pathological long GOP. ffprobe reports
651
+ * absolute presentation timestamps, but FFmpeg input `-ss` is relative to the
652
+ * stream start; the result is normalized into that relative seek domain. Some
653
+ * unindexed transports cannot decode after an interval seek, so an empty tail
654
+ * probe falls back to a bounded-output full scan rather than rejecting valid
655
+ * media. The scan may cost decode time, but retains only 64 KiB of timestamps.
656
+ */
657
+ export async function extractFinalVideoFrameTimestamp(filePath, metadata, signal) {
658
+ const videoDurationSeconds = metadata.videoStreamDurationSeconds;
659
+ const candidateStreamStart = metadata.videoStreamStartSeconds ?? 0;
660
+ const videoStreamStartSeconds = Number.isFinite(candidateStreamStart) ? candidateStreamStart : 0;
661
+ const cacheKey = `${filePath}\0${String(videoStreamStartSeconds)}\0${String(videoDurationSeconds)}`;
662
+ // A caller-owned abort signal cannot safely own a globally shared process
663
+ // promise: aborting one render would fail unrelated consumers. Calls in the
664
+ // SAME cancellation scope should still share the expensive interval +
665
+ // fallback chain, though — duplicate held-tail elements in one render carry
666
+ // the same signal and otherwise fan out N full-file scans before extraction
667
+ // dedupe. Weakly key the cache by cancellation owner to preserve both
668
+ // aggregate work bounds and cross-render isolation.
669
+ let probeCache = finalVideoFrameTimestampCache;
670
+ if (signal) {
671
+ probeCache = finalVideoFrameTimestampSignalCaches.get(signal) ?? new Map();
672
+ finalVideoFrameTimestampSignalCaches.set(signal, probeCache);
673
+ }
674
+ const cached = probeCache.get(cacheKey);
675
+ if (cached)
676
+ return cached;
677
+ const probePromise = (async () => {
678
+ if (!(videoDurationSeconds > 0) || !Number.isFinite(videoDurationSeconds)) {
679
+ throw new Error(`[FFmpeg] Cannot locate final video frame for invalid duration ${String(videoDurationSeconds)}`);
680
+ }
681
+ const streamEnd = videoStreamStartSeconds + videoDurationSeconds;
682
+ const intervalStart = Math.max(videoStreamStartSeconds, streamEnd - 1);
683
+ const parseFinalTimestamp = (stdout) => stdout
684
+ .split("\n")
685
+ .map((line) => line.trim().split(",")[0]?.trim() ?? "")
686
+ .filter((value) => value.length > 0)
687
+ .map((value) => Number(value))
688
+ .filter((timestamp) => Number.isFinite(timestamp))
689
+ .at(-1);
690
+ const probe = async (readInterval) => {
691
+ const args = [
692
+ "-select_streams",
693
+ "v:0",
694
+ "-show_entries",
695
+ "frame=best_effort_timestamp_time",
696
+ "-of",
697
+ "csv=p=0",
698
+ ];
699
+ if (readInterval)
700
+ args.splice(2, 0, "-read_intervals", readInterval);
701
+ const stdout = await runFfprobe(filePath, args, signal, {
702
+ retainTail: true,
703
+ maxChars: 64 * 1024,
704
+ });
705
+ return parseFinalTimestamp(stdout);
706
+ };
707
+ const timestamp = (await probe(`${intervalStart}%${streamEnd}`)) ?? (await probe( /* full scan */));
708
+ if (timestamp === undefined) {
709
+ throw new Error("[FFmpeg] ffprobe found no decodable final video frame");
710
+ }
711
+ return Math.min(Math.max(timestamp - videoStreamStartSeconds, 0), videoDurationSeconds);
712
+ })();
713
+ probeCache.set(cacheKey, probePromise);
714
+ probePromise.catch(() => {
715
+ if (probeCache.get(cacheKey) === probePromise) {
716
+ probeCache.delete(cacheKey);
717
+ }
718
+ });
719
+ return probePromise;
720
+ }
440
721
  /**
441
722
  * @deprecated Use `extractMediaMetadata` — this name is kept for backward
442
723
  * compatibility with consumers that imported the original video-only name
@@ -452,8 +733,7 @@ export async function extractAudioMetadata(filePath, options) {
452
733
  if (cached)
453
734
  return cached;
454
735
  const probePromise = (async () => {
455
- const stdout = await runFfprobe(filePath, ["-print_format", "json", "-show_format", "-show_streams"], options?.signal);
456
- const output = parseProbeJson(stdout);
736
+ const output = await probeMediaOutput(filePath, options?.signal);
457
737
  const audioStream = output.streams.find((s) => s.codec_type === "audio");
458
738
  if (!audioStream)
459
739
  throw new Error("[FFmpeg] No audio stream found");
@@ -1 +1 @@
1
- {"version":3,"file":"ffprobe.js","sourceRoot":"","sources":["../../src/utils/ffprobe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffprobe.js","sourceRoot":"","sources":["../../src/utils/ffprobe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/engine",
3
- "version": "0.7.89",
3
+ "version": "0.7.92",
4
4
  "description": "Seekable web page to video rendering engine (Puppeteer + FFmpeg)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,8 +38,8 @@
38
38
  "linkedom": "^0.18.12",
39
39
  "puppeteer": "^25.2.1",
40
40
  "puppeteer-core": "^25.2.1",
41
- "@hyperframes/core": "^0.7.89",
42
- "@hyperframes/parsers": "^0.7.89"
41
+ "@hyperframes/core": "^0.7.92",
42
+ "@hyperframes/parsers": "^0.7.92"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^25.0.10",