@hyperframes/engine 0.2.2 → 0.2.3-alpha.2

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.
@@ -5,6 +5,7 @@
5
5
  * Supports CPU (libx264) and GPU encoding.
6
6
  */
7
7
  import { type EngineConfig } from "../config.js";
8
+ import { type GpuEncoder } from "../utils/gpuEncoder.js";
8
9
  import type { EncoderOptions, EncodeResult, MuxResult } from "./chunkEncoder.types.js";
9
10
  export type { EncoderOptions, EncodeResult, MuxResult } from "./chunkEncoder.types.js";
10
11
  export declare const ENCODER_PRESETS: {
@@ -26,15 +27,17 @@ export declare const ENCODER_PRESETS: {
26
27
  };
27
28
  /**
28
29
  * Get encoder preset for a given quality and output format.
29
- * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264.
30
+ * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264;
31
+ * MOV uses ProRes 4444 with alpha for editor-compatible transparency.
30
32
  */
31
- export declare function getEncoderPreset(quality: "draft" | "standard" | "high", format?: "mp4" | "webm"): {
33
+ export declare function getEncoderPreset(quality: "draft" | "standard" | "high", format?: "mp4" | "webm" | "mov"): {
32
34
  preset: string;
33
35
  quality: number;
34
- codec: "h264" | "vp9";
36
+ codec: "h264" | "vp9" | "prores";
35
37
  pixelFormat: string;
36
38
  };
37
39
  export { detectGpuEncoder, type GpuEncoder } from "../utils/gpuEncoder.js";
40
+ export declare function buildEncoderArgs(options: EncoderOptions, inputArgs: string[], outputPath: string, gpuEncoder?: GpuEncoder): string[];
38
41
  export declare function encodeFramesFromDir(framesDir: string, framePattern: string, outputPath: string, options: EncoderOptions, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegEncodeTimeout">>): Promise<EncodeResult>;
39
42
  export declare function encodeFramesChunkedConcat(framesDir: string, framePattern: string, outputPath: string, options: EncoderOptions, chunkSizeFrames: number, signal?: AbortSignal): Promise<EncodeResult>;
40
43
  export declare function muxVideoWithAudio(videoPath: string, audioPath: string, outputPath: string, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout">>): Promise<MuxResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"chunkEncoder.d.ts","sourceRoot":"","sources":["../../src/services/chunkEncoder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAI3B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,EACtC,MAAM,GAAE,KAAK,GAAG,MAAc,GAC7B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAWjF;AAGD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA+E3E,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,CAiGvB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA+HvB;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,GAC3D,OAAO,CAAC,SAAS,CAAC,CAmCpB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,GAC3D,OAAO,CAAC,SAAS,CAAC,CA6BpB"}
1
+ {"version":3,"file":"chunkEncoder.d.ts","sourceRoot":"","sources":["../../src/services/chunkEncoder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAA0C,MAAM,wBAAwB,CAAC;AAEjG,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAI3B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,EACtC,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAa,GACrC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAmB5F;AAGD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE3E,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,UAAiB,GAC5B,MAAM,EAAE,CAgHV;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,CAiGvB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAmIvB;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,GAC3D,OAAO,CAAC,SAAS,CAAC,CAsCpB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC,GAC3D,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
@@ -17,7 +17,8 @@ export const ENCODER_PRESETS = {
17
17
  };
18
18
  /**
19
19
  * Get encoder preset for a given quality and output format.
20
- * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264.
20
+ * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264;
21
+ * MOV uses ProRes 4444 with alpha for editor-compatible transparency.
21
22
  */
22
23
  export function getEncoderPreset(quality, format = "mp4") {
23
24
  const base = ENCODER_PRESETS[quality];
@@ -29,11 +30,19 @@ export function getEncoderPreset(quality, format = "mp4") {
29
30
  pixelFormat: "yuva420p",
30
31
  };
31
32
  }
33
+ if (format === "mov") {
34
+ return {
35
+ preset: "4444",
36
+ quality: base.quality,
37
+ codec: "prores",
38
+ pixelFormat: "yuva444p10le",
39
+ };
40
+ }
32
41
  return { ...base, pixelFormat: "yuv420p" };
33
42
  }
34
43
  // Re-export GPU utilities so existing consumers that import from chunkEncoder still work.
35
44
  export { detectGpuEncoder } from "../utils/gpuEncoder.js";
36
- function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
45
+ export function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
37
46
  const { fps, codec = "h264", preset = "medium", quality = 23, bitrate, pixelFormat = "yuv420p", useGpu = false, } = options;
38
47
  const args = [...inputArgs, "-r", String(fps)];
39
48
  const shouldUseGpu = useGpu && gpuEncoder !== null;
@@ -82,6 +91,17 @@ function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
82
91
  args.push("-b:v", bitrate);
83
92
  else
84
93
  args.push("-crf", String(quality));
94
+ // Encoder-specific params: anti-banding + bt709 color space.
95
+ // aq-mode=3 redistributes bits to dark flat areas (gradients).
96
+ // colorprim/transfer/colormatrix embed bt709 in the H.264/H.265 VUI.
97
+ const xParamsFlag = codec === "h264" ? "-x264-params" : "-x265-params";
98
+ const colorParams = "colorprim=bt709:transfer=bt709:colormatrix=bt709";
99
+ if (preset === "ultrafast") {
100
+ args.push(xParamsFlag, `aq-mode=3:${colorParams}`);
101
+ }
102
+ else {
103
+ args.push(xParamsFlag, `aq-mode=3:aq-strength=0.8:deblock=1,1:${colorParams}`);
104
+ }
85
105
  }
86
106
  }
87
107
  else if (codec === "vp9") {
@@ -95,8 +115,28 @@ function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
95
115
  }
96
116
  else if (codec === "prores") {
97
117
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
118
+ args.push("-pix_fmt", pixelFormat);
98
119
  return [...args, "-y", outputPath];
99
120
  }
121
+ // BT.709 color space metadata — Chrome screenshots are sRGB which maps to bt709.
122
+ // Tags the output so players interpret colors correctly across devices.
123
+ if (codec === "h264" || codec === "h265") {
124
+ args.push("-colorspace:v", "bt709", "-color_primaries:v", "bt709", "-color_trc:v", "bt709", "-color_range", "tv");
125
+ // Convert full-range RGB input (Chrome screenshots) to limited/TV range for H.264.
126
+ // VAAPI already has a -vf chain for hwupload; prepend range conversion to it.
127
+ if (gpuEncoder === "vaapi") {
128
+ // Replace the existing VAAPI -vf with one that includes range conversion
129
+ const vfIdx = args.indexOf("-vf");
130
+ if (vfIdx !== -1) {
131
+ args[vfIdx + 1] = `scale=in_range=pc:out_range=tv,${args[vfIdx + 1]}`;
132
+ }
133
+ }
134
+ else if (!shouldUseGpu) {
135
+ args.push("-vf", "scale=in_range=pc:out_range=tv");
136
+ }
137
+ // Fixed timescale for consistent A/V timing across platforms.
138
+ args.push("-video_track_timescale", "90000");
139
+ }
100
140
  if (gpuEncoder !== "vaapi") {
101
141
  args.push("-pix_fmt", pixelFormat);
102
142
  }
@@ -227,7 +267,11 @@ export async function encodeFramesChunkedConcat(framesDir, framePattern, outputP
227
267
  }
228
268
  const startNumber = i * chunkSize;
229
269
  const framesInChunk = Math.min(chunkSize, files.length - startNumber);
230
- const ext = outputPath.endsWith(".webm") ? ".webm" : ".mp4";
270
+ const ext = outputPath.endsWith(".webm")
271
+ ? ".webm"
272
+ : outputPath.endsWith(".mov")
273
+ ? ".mov"
274
+ : ".mp4";
231
275
  const chunkPath = join(chunkDir, `chunk_${String(i).padStart(4, "0")}${ext}`);
232
276
  const inputPath = join(framesDir, framePattern);
233
277
  const inputArgs = [
@@ -327,10 +371,14 @@ export async function muxVideoWithAudio(videoPath, audioPath, outputPath, signal
327
371
  if (!existsSync(outputDir))
328
372
  mkdirSync(outputDir, { recursive: true });
329
373
  const isWebm = outputPath.endsWith(".webm");
374
+ const isMov = outputPath.endsWith(".mov");
330
375
  const args = ["-i", videoPath, "-i", audioPath, "-c:v", "copy"];
331
376
  if (isWebm) {
332
377
  args.push("-c:a", "libopus", "-b:a", "128k");
333
378
  }
379
+ else if (isMov) {
380
+ args.push("-c:a", "aac", "-b:a", "192k");
381
+ }
334
382
  else {
335
383
  args.push("-c:a", "aac", "-b:a", "192k", "-movflags", "+faststart");
336
384
  }
@@ -357,8 +405,9 @@ export async function muxVideoWithAudio(videoPath, audioPath, outputPath, signal
357
405
  };
358
406
  }
359
407
  export async function applyFaststart(inputPath, outputPath, signal, config) {
360
- // faststart is MP4-only (moves moov atom to file start for streaming)
361
- if (outputPath.endsWith(".webm")) {
408
+ // faststart is MP4-only (moves moov atom to file start for streaming).
409
+ // WebM and MOV don't need it — skip the re-mux.
410
+ if (outputPath.endsWith(".webm") || outputPath.endsWith(".mov")) {
362
411
  if (inputPath !== outputPath)
363
412
  copyFileSync(inputPath, outputPath);
364
413
  return { success: true, outputPath, durationMs: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"chunkEncoder.js","sourceRoot":"","sources":["../../src/services/chunkEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunkEncoder.js","sourceRoot":"","sources":["../../src/services/chunkEncoder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameCapture.d.ts","sourceRoot":"","sources":["../../src/services/frameCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAsC,MAAM,gBAAgB,CAAC;AAM7F,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAEvF,wGAAwG;AACxG,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IAEzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAMD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,eAAe,GAAE,iBAAiB,GAAG,IAAW,EAChD,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC,CAsEzB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJ9E;AA4ID,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,iBAAiB,GAAG,IAAI,GACxC,IAAI,CAeN;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CASjF"}
1
+ {"version":3,"file":"frameCapture.d.ts","sourceRoot":"","sources":["../../src/services/frameCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAsC,MAAM,gBAAgB,CAAC;AAM7F,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAEvF,wGAAwG;AACxG,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IAEzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAMD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,eAAe,GAAE,iBAAiB,GAAG,IAAW,EAChD,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC,CAsEzB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJ9E;AA4ID,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,iBAAiB,GAAG,IAAI,GACxC,IAAI,CAeN;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CASjF"}
@@ -80,14 +80,22 @@ export async function initializeSession(session) {
80
80
  page.on("console", (msg) => {
81
81
  const type = msg.type();
82
82
  const text = msg.text();
83
- // Suppress font-loading 404s only. These are expected when deterministic
83
+ // Suppress font-loading 404s entirely. These are expected when deterministic
84
84
  // font injection replaces Google Fonts @import URLs with embedded base64.
85
- // Narrowed to font CDN domains and font file extensions to avoid hiding
86
- // real asset failures (images, scripts, videos).
87
85
  const isFontLoadError = type === "error" &&
88
86
  text.startsWith("Failed to load resource") &&
89
87
  /fonts\.googleapis|fonts\.gstatic|\.woff2?(\b|$)/i.test(text);
90
- const prefix = type === "error" ? "[Browser:ERROR]" : type === "warn" ? "[Browser:WARN]" : "[Browser]";
88
+ // Other "Failed to load resource" 404s are typically non-blocking (e.g.
89
+ // favicon, sourcemaps, optional assets). Prefix them so users know they
90
+ // are harmless and don't confuse them with real render errors.
91
+ const isResourceLoadError = type === "error" && text.startsWith("Failed to load resource") && !isFontLoadError;
92
+ const prefix = isResourceLoadError
93
+ ? "[non-blocking]"
94
+ : type === "error"
95
+ ? "[Browser:ERROR]"
96
+ : type === "warn"
97
+ ? "[Browser:WARN]"
98
+ : "[Browser]";
91
99
  if (!isFontLoadError) {
92
100
  console.log(`${prefix} ${text}`);
93
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"frameCapture.js","sourceRoot":"","sources":["../../src/services/frameCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,+EAA+E;AAC/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAqB,MAAM,cAAc,CAAC;AAuCjE,qFAAqF;AACrF,2FAA2F;AAC3F,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,SAAiB,EACjB,OAAuB,EACvB,kBAA4C,IAAI,EAChD,MAA8B;IAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,qFAAqF;IACrF,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC;IAClF,MAAM,OAAO,GACX,aAAa,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAC7E,MAAM,UAAU,GAAG,eAAe,CAChC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EACtE,MAAM,CACP,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE1E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,EAAE,qBAAqB,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CACzC,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAChD,EAAE,CACH,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,KAAK,aAAa,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,WAAW,mBAAmB,QAAQ,cAAc,EAAE,CACvH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAa;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,CAAC;KAClD,CAAC;IACF,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEjC,oFAAoF;IACpF,oFAAoF;IACpF,oEAAoE;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE;YAC5D,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO;QACP,IAAI;QACJ,OAAO;QACP,SAAS;QACT,SAAS;QACT,eAAe;QACf,aAAa,EAAE,KAAK;QACpB,oBAAoB,EAAE,EAAE;QACxB,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;SACX;QACD,WAAW;QACX,mBAAmB,EAAE,CAAC;QACtB,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;QACrD,wBAAwB,EAAE,CAAC;QAC3B,uBAAuB,EAAE,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAuB;IAC7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEpC,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAmB,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAExB,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,eAAe,GACnB,IAAI,KAAK,OAAO;YAChB,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAC1C,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,MAAM,MAAM,GACV,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;YACtE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;YACtE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,GAAG,GAAG,GAAG,SAAS,aAAa,CAAC;IACtC,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QACzC,2DAA2D;QAC3D,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAExE,MAAM,gBAAgB,GACpB,OAAO,CAAC,MAAM,EAAE,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC;QAC1E,MAAM,IAAI,CAAC,eAAe,CACxB,uFAAuF,EACvF,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC9B,CAAC;QAEF,8EAA8E;QAC9E,sEAAsE;QACtE,MAAM,IAAI,CAAC,eAAe,CACxB,iIAAiI,EACjI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC9B,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAE7C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,SAAS;IACtC,IAAI,YAAY,GAA+C,IAAI,CAAC;IAEpE,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,OAAO,aAAa,EAAE,CAAC;YACrB,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,IAAI,CAAC,iCAAiC,EAAE;wBACzD,cAAc,EAAE,eAAe;wBAC/B,QAAQ,EAAE,gBAAgB;wBAC1B,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;oBACH,eAAe,IAAI,gBAAgB,CAAC;oBACpC,WAAW,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IACF,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAExE,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC;IACjG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,uFAAuF,CACxF,CAAC;QACF,IAAI,KAAK;YAAE,MAAM;QACjB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CACnC,uFAAuF,CACxF,CAAC;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,aAAa,GAAG,KAAK,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,8CAA8C,gBAAgB,wDAAwD,CACvH,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,uEAAuE;IACvE,MAAM,aAAa,GACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACzF,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CACrC,iIAAiI,CAClI,CAAC;QACF,IAAI,WAAW;YAAE,MAAM;QACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,iEAAiE;IACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAE7C,cAAc;IACd,aAAa,GAAG,KAAK,CAAC;IAEtB,8CAA8C;IAC9C,OAAO,CAAC,mBAAmB,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAEhF,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAuB,EACvB,UAAkB,EAClB,IAAY,EACZ,KAAY;IAEZ,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,UAAU,EAAE,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1C,aAAa,CAAC,GAAG,IAAI,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,aAAa,CACX,GAAG,IAAI,OAAO,EACd,IAAI,CAAC,SAAS,CACZ;YACE,UAAU;YACV,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SAC5D,EACD,IAAI,EACJ,CAAC,CACF,EACD,OAAO,CACR,CAAC;QACF,OAAO,GAAG,IAAI,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,OAAuB,EACvB,UAAkB,EAClB,IAAY;IAMZ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAElC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAS,EAAE,EAAE;QAChC,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,aAAa,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAEtC,mDAAmD;IACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAExD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAuB,EACvB,UAAkB,EAClB,IAAY;IAEZ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,sBAAsB,CAC7E,OAAO,EACP,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,gBAAwB,CAAC;QAE7B,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,cAAc,GAClB,OAAO,CAAC,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,IAAI,EACJ,OAAO,EACP,cAAc,EACd,OAAO,CAAC,oBAAoB,CAC7B,CAAC;YACF,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO,CAAC,wBAAwB,EAAE,CAAC;;gBACpD,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACvC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE7C,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC;QACrC,OAAO,CAAC,WAAW,CAAC,eAAe,IAAI,eAAe,CAAC;QACvD,OAAO,CAAC,WAAW,CAAC,YAAY,IAAI,YAAY,CAAC;QACjD,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,aAAa,CAAC;QAE7C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,4BAA4B,CAChC,OAAO,EACP,UAAU,EACV,IAAI,EACJ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAuB,EACvB,UAAkB,EAClB,IAAY;IAEZ,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CACrE,OAAO,EACP,UAAU,EACV,IAAI,CACL,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,MAAM,SAAS,GAAG,SAAS,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,UAAkB,EAClB,IAAY;IAEZ,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAEpF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAuB;IAC/D,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAuB,EACvB,SAAiB,EACjB,eAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;IAC1C,OAAO,CAAC,WAAW,GAAG;QACpB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;KACX,CAAC;IACF,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAuB;IAClE,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAEtF,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QAChC,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;QAClC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1D,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC;QAC5E,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC;KACvE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"frameCapture.js","sourceRoot":"","sources":["../../src/services/frameCapture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamingEncoder.d.ts","sourceRoot":"","sources":["../../src/services/streamingEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA6BjG;AAMD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,KAAK,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACtD;AAkGD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAgH3B"}
1
+ {"version":3,"file":"streamingEncoder.d.ts","sourceRoot":"","sources":["../../src/services/streamingEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA6BjG;AAMD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,KAAK,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACtD;AA0ID;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAgH3B"}
@@ -109,6 +109,17 @@ function buildStreamingArgs(options, outputPath, gpuEncoder = null) {
109
109
  args.push("-b:v", bitrate);
110
110
  else
111
111
  args.push("-crf", String(quality));
112
+ // Encoder-specific params: anti-banding + bt709 color space.
113
+ // aq-mode=3 redistributes bits to dark flat areas (gradients).
114
+ // colorprim/transfer/colormatrix embed bt709 in the H.264/H.265 VUI.
115
+ const xParamsFlag = codec === "h264" ? "-x264-params" : "-x265-params";
116
+ const colorParams = "colorprim=bt709:transfer=bt709:colormatrix=bt709";
117
+ if (preset === "ultrafast") {
118
+ args.push(xParamsFlag, `aq-mode=3:${colorParams}`);
119
+ }
120
+ else {
121
+ args.push(xParamsFlag, `aq-mode=3:aq-strength=0.8:deblock=1,1:${colorParams}`);
122
+ }
112
123
  }
113
124
  }
114
125
  else if (codec === "vp9") {
@@ -122,8 +133,26 @@ function buildStreamingArgs(options, outputPath, gpuEncoder = null) {
122
133
  }
123
134
  else if (codec === "prores") {
124
135
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
136
+ args.push("-pix_fmt", pixelFormat);
125
137
  return [...args, "-y", outputPath];
126
138
  }
139
+ // BT.709 color space metadata — Chrome screenshots are sRGB which maps to bt709.
140
+ // Tags the output so players interpret colors correctly across devices.
141
+ if (codec === "h264" || codec === "h265") {
142
+ args.push("-colorspace:v", "bt709", "-color_primaries:v", "bt709", "-color_trc:v", "bt709", "-color_range", "tv");
143
+ // Convert full-range RGB input (Chrome screenshots) to limited/TV range for H.264.
144
+ if (gpuEncoder === "vaapi") {
145
+ const vfIdx = args.indexOf("-vf");
146
+ if (vfIdx !== -1) {
147
+ args[vfIdx + 1] = `scale=in_range=pc:out_range=tv,${args[vfIdx + 1]}`;
148
+ }
149
+ }
150
+ else if (!shouldUseGpu) {
151
+ args.push("-vf", "scale=in_range=pc:out_range=tv");
152
+ }
153
+ // Fixed timescale for consistent A/V timing across platforms.
154
+ args.push("-video_track_timescale", "90000");
155
+ }
127
156
  if (gpuEncoder !== "vaapi") {
128
157
  args.push("-pix_fmt", pixelFormat);
129
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamingEncoder.js","sourceRoot":"","sources":["../../src/services/streamingEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamingEncoder.js","sourceRoot":"","sources":["../../src/services/streamingEncoder.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.2.2",
3
+ "version": "0.2.3-alpha.2",
4
4
  "description": "Seekable web page to video rendering engine (Puppeteer + FFmpeg)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "linkedom": "^0.18.12",
20
20
  "puppeteer": "^24.0.0",
21
21
  "puppeteer-core": "^24.39.1",
22
- "@hyperframes/core": "^0.2.2"
22
+ "@hyperframes/core": "^0.2.3-alpha.2"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.10.1",
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import { ENCODER_PRESETS, getEncoderPreset } from "./chunkEncoder.js";
2
+ import { ENCODER_PRESETS, getEncoderPreset, buildEncoderArgs } from "./chunkEncoder.js";
3
3
 
4
4
  describe("ENCODER_PRESETS", () => {
5
5
  it("has draft, standard, and high presets", () => {
@@ -56,9 +56,194 @@ describe("getEncoderPreset", () => {
56
56
  }
57
57
  });
58
58
 
59
+ it("returns prores 4444 with yuva444p10le for mov format", () => {
60
+ const preset = getEncoderPreset("standard", "mov");
61
+ expect(preset.codec).toBe("prores");
62
+ expect(preset.preset).toBe("4444");
63
+ expect(preset.pixelFormat).toBe("yuva444p10le");
64
+ });
65
+
66
+ it("uses prores 4444 for all mov quality levels", () => {
67
+ for (const q of ["draft", "standard", "high"] as const) {
68
+ const preset = getEncoderPreset(q, "mov");
69
+ expect(preset.codec).toBe("prores");
70
+ expect(preset.preset).toBe("4444");
71
+ }
72
+ });
73
+
59
74
  it("defaults to mp4 when format is omitted", () => {
60
75
  const preset = getEncoderPreset("standard");
61
76
  expect(preset.codec).toBe("h264");
62
77
  expect(preset.pixelFormat).toBe("yuv420p");
63
78
  });
64
79
  });
80
+
81
+ describe("buildEncoderArgs anti-banding", () => {
82
+ const baseOptions = { fps: 30, width: 1920, height: 1080 };
83
+
84
+ it("adds aq-mode=3 x264-params for h264 CPU encoding", () => {
85
+ const args = buildEncoderArgs(
86
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23 },
87
+ ["-framerate", "30", "-i", "frames/%04d.png"],
88
+ "out.mp4",
89
+ );
90
+ const paramIdx = args.indexOf("-x264-params");
91
+ expect(paramIdx).toBeGreaterThan(-1);
92
+ expect(args[paramIdx + 1]).toContain("aq-mode=3");
93
+ });
94
+
95
+ it("adds aq-mode=3 x265-params for h265 CPU encoding", () => {
96
+ const args = buildEncoderArgs(
97
+ { ...baseOptions, codec: "h265", preset: "medium", quality: 23 },
98
+ ["-framerate", "30", "-i", "frames/%04d.png"],
99
+ "out.mp4",
100
+ );
101
+ const paramIdx = args.indexOf("-x265-params");
102
+ expect(paramIdx).toBeGreaterThan(-1);
103
+ expect(args[paramIdx + 1]).toContain("aq-mode=3");
104
+ });
105
+
106
+ it("includes deblock for non-ultrafast presets", () => {
107
+ for (const preset of ["medium", "slow"]) {
108
+ const args = buildEncoderArgs(
109
+ { ...baseOptions, codec: "h264", preset, quality: 23 },
110
+ ["-framerate", "30", "-i", "frames/%04d.png"],
111
+ "out.mp4",
112
+ );
113
+ const paramIdx = args.indexOf("-x264-params");
114
+ expect(args[paramIdx + 1]).toContain("deblock=1,1");
115
+ }
116
+ });
117
+
118
+ it("omits deblock for ultrafast (draft) preset", () => {
119
+ const args = buildEncoderArgs(
120
+ { ...baseOptions, codec: "h264", preset: "ultrafast", quality: 28 },
121
+ ["-framerate", "30", "-i", "frames/%04d.png"],
122
+ "out.mp4",
123
+ );
124
+ const paramIdx = args.indexOf("-x264-params");
125
+ expect(paramIdx).toBeGreaterThan(-1);
126
+ expect(args[paramIdx + 1]).toContain("aq-mode=3");
127
+ expect(args[paramIdx + 1]).not.toContain("deblock");
128
+ });
129
+
130
+ it("does not add x264-params for GPU encoding", () => {
131
+ const args = buildEncoderArgs(
132
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23, useGpu: true },
133
+ ["-framerate", "30", "-i", "frames/%04d.png"],
134
+ "out.mp4",
135
+ "nvenc",
136
+ );
137
+ expect(args.indexOf("-x264-params")).toBe(-1);
138
+ });
139
+
140
+ it("does not add x264-params for VP9 encoding", () => {
141
+ const args = buildEncoderArgs(
142
+ { ...baseOptions, codec: "vp9", preset: "good", quality: 23 },
143
+ ["-framerate", "30", "-i", "frames/%04d.png"],
144
+ "out.webm",
145
+ );
146
+ expect(args.indexOf("-x264-params")).toBe(-1);
147
+ expect(args.indexOf("-x265-params")).toBe(-1);
148
+ });
149
+ });
150
+
151
+ describe("buildEncoderArgs color space", () => {
152
+ const baseOptions = { fps: 30, width: 1920, height: 1080 };
153
+ const inputArgs = ["-framerate", "30", "-i", "frames/%04d.png"];
154
+
155
+ it("adds bt709 color space metadata for h264 CPU encoding", () => {
156
+ const args = buildEncoderArgs(
157
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23 },
158
+ inputArgs,
159
+ "out.mp4",
160
+ );
161
+ // FFmpeg-level metadata tags
162
+ expect(args).toContain("-colorspace:v");
163
+ expect(args[args.indexOf("-colorspace:v") + 1]).toBe("bt709");
164
+ expect(args[args.indexOf("-color_primaries:v") + 1]).toBe("bt709");
165
+ expect(args[args.indexOf("-color_trc:v") + 1]).toBe("bt709");
166
+ expect(args[args.indexOf("-color_range") + 1]).toBe("tv");
167
+ // x264-params VUI embedding
168
+ const paramIdx = args.indexOf("-x264-params");
169
+ expect(args[paramIdx + 1]).toContain("colorprim=bt709");
170
+ expect(args[paramIdx + 1]).toContain("transfer=bt709");
171
+ expect(args[paramIdx + 1]).toContain("colormatrix=bt709");
172
+ });
173
+
174
+ it("adds bt709 color space metadata for h265 CPU encoding", () => {
175
+ const args = buildEncoderArgs(
176
+ { ...baseOptions, codec: "h265", preset: "medium", quality: 23 },
177
+ inputArgs,
178
+ "out.mp4",
179
+ );
180
+ expect(args).toContain("-colorspace:v");
181
+ expect(args[args.indexOf("-colorspace:v") + 1]).toBe("bt709");
182
+ // x265-params VUI embedding
183
+ const paramIdx = args.indexOf("-x265-params");
184
+ expect(args[paramIdx + 1]).toContain("colorprim=bt709");
185
+ });
186
+
187
+ it("adds range conversion filter for CPU h264 encoding", () => {
188
+ const args = buildEncoderArgs(
189
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23 },
190
+ inputArgs,
191
+ "out.mp4",
192
+ );
193
+ const vfIdx = args.indexOf("-vf");
194
+ expect(vfIdx).toBeGreaterThan(-1);
195
+ expect(args[vfIdx + 1]).toContain("scale=in_range=pc:out_range=tv");
196
+ });
197
+
198
+ it("prepends range conversion to VAAPI filter chain", () => {
199
+ const args = buildEncoderArgs(
200
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23, useGpu: true },
201
+ inputArgs,
202
+ "out.mp4",
203
+ "vaapi",
204
+ );
205
+ const vfIdx = args.indexOf("-vf");
206
+ expect(vfIdx).toBeGreaterThan(-1);
207
+ expect(args[vfIdx + 1]).toBe("scale=in_range=pc:out_range=tv,format=nv12,hwupload");
208
+ });
209
+
210
+ it("skips range conversion filter for non-VAAPI GPU encoding", () => {
211
+ const args = buildEncoderArgs(
212
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23, useGpu: true },
213
+ inputArgs,
214
+ "out.mp4",
215
+ "nvenc",
216
+ );
217
+ expect(args.indexOf("-vf")).toBe(-1);
218
+ // but still has color metadata
219
+ expect(args).toContain("-colorspace:v");
220
+ });
221
+
222
+ it("does not add color metadata for VP9", () => {
223
+ const args = buildEncoderArgs(
224
+ { ...baseOptions, codec: "vp9", preset: "good", quality: 23 },
225
+ inputArgs,
226
+ "out.webm",
227
+ );
228
+ expect(args).not.toContain("-colorspace:v");
229
+ });
230
+
231
+ it("adds video_track_timescale for h264", () => {
232
+ const args = buildEncoderArgs(
233
+ { ...baseOptions, codec: "h264", preset: "medium", quality: 23 },
234
+ inputArgs,
235
+ "out.mp4",
236
+ );
237
+ expect(args).toContain("-video_track_timescale");
238
+ expect(args[args.indexOf("-video_track_timescale") + 1]).toBe("90000");
239
+ });
240
+
241
+ it("does not add timescale for VP9", () => {
242
+ const args = buildEncoderArgs(
243
+ { ...baseOptions, codec: "vp9", preset: "good", quality: 23 },
244
+ inputArgs,
245
+ "out.webm",
246
+ );
247
+ expect(args).not.toContain("-video_track_timescale");
248
+ });
249
+ });
@@ -23,12 +23,13 @@ export const ENCODER_PRESETS = {
23
23
 
24
24
  /**
25
25
  * Get encoder preset for a given quality and output format.
26
- * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264.
26
+ * WebM uses VP9 with alpha-capable pixel format; MP4 uses h264;
27
+ * MOV uses ProRes 4444 with alpha for editor-compatible transparency.
27
28
  */
28
29
  export function getEncoderPreset(
29
30
  quality: "draft" | "standard" | "high",
30
- format: "mp4" | "webm" = "mp4",
31
- ): { preset: string; quality: number; codec: "h264" | "vp9"; pixelFormat: string } {
31
+ format: "mp4" | "webm" | "mov" = "mp4",
32
+ ): { preset: string; quality: number; codec: "h264" | "vp9" | "prores"; pixelFormat: string } {
32
33
  const base = ENCODER_PRESETS[quality];
33
34
  if (format === "webm") {
34
35
  return {
@@ -38,13 +39,21 @@ export function getEncoderPreset(
38
39
  pixelFormat: "yuva420p",
39
40
  };
40
41
  }
42
+ if (format === "mov") {
43
+ return {
44
+ preset: "4444",
45
+ quality: base.quality,
46
+ codec: "prores",
47
+ pixelFormat: "yuva444p10le",
48
+ };
49
+ }
41
50
  return { ...base, pixelFormat: "yuv420p" };
42
51
  }
43
52
 
44
53
  // Re-export GPU utilities so existing consumers that import from chunkEncoder still work.
45
54
  export { detectGpuEncoder, type GpuEncoder } from "../utils/gpuEncoder.js";
46
55
 
47
- function buildEncoderArgs(
56
+ export function buildEncoderArgs(
48
57
  options: EncoderOptions,
49
58
  inputArgs: string[],
50
59
  outputPath: string,
@@ -99,6 +108,17 @@ function buildEncoderArgs(
99
108
  args.push("-c:v", encoderName, "-preset", preset);
100
109
  if (bitrate) args.push("-b:v", bitrate);
101
110
  else args.push("-crf", String(quality));
111
+
112
+ // Encoder-specific params: anti-banding + bt709 color space.
113
+ // aq-mode=3 redistributes bits to dark flat areas (gradients).
114
+ // colorprim/transfer/colormatrix embed bt709 in the H.264/H.265 VUI.
115
+ const xParamsFlag = codec === "h264" ? "-x264-params" : "-x265-params";
116
+ const colorParams = "colorprim=bt709:transfer=bt709:colormatrix=bt709";
117
+ if (preset === "ultrafast") {
118
+ args.push(xParamsFlag, `aq-mode=3:${colorParams}`);
119
+ } else {
120
+ args.push(xParamsFlag, `aq-mode=3:aq-strength=0.8:deblock=1,1:${colorParams}`);
121
+ }
102
122
  }
103
123
  } else if (codec === "vp9") {
104
124
  args.push("-c:v", "libvpx-vp9", "-b:v", bitrate || "0", "-crf", String(quality));
@@ -110,9 +130,40 @@ function buildEncoderArgs(
110
130
  }
111
131
  } else if (codec === "prores") {
112
132
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
133
+ args.push("-pix_fmt", pixelFormat);
113
134
  return [...args, "-y", outputPath];
114
135
  }
115
136
 
137
+ // BT.709 color space metadata — Chrome screenshots are sRGB which maps to bt709.
138
+ // Tags the output so players interpret colors correctly across devices.
139
+ if (codec === "h264" || codec === "h265") {
140
+ args.push(
141
+ "-colorspace:v",
142
+ "bt709",
143
+ "-color_primaries:v",
144
+ "bt709",
145
+ "-color_trc:v",
146
+ "bt709",
147
+ "-color_range",
148
+ "tv",
149
+ );
150
+
151
+ // Convert full-range RGB input (Chrome screenshots) to limited/TV range for H.264.
152
+ // VAAPI already has a -vf chain for hwupload; prepend range conversion to it.
153
+ if (gpuEncoder === "vaapi") {
154
+ // Replace the existing VAAPI -vf with one that includes range conversion
155
+ const vfIdx = args.indexOf("-vf");
156
+ if (vfIdx !== -1) {
157
+ args[vfIdx + 1] = `scale=in_range=pc:out_range=tv,${args[vfIdx + 1]}`;
158
+ }
159
+ } else if (!shouldUseGpu) {
160
+ args.push("-vf", "scale=in_range=pc:out_range=tv");
161
+ }
162
+
163
+ // Fixed timescale for consistent A/V timing across platforms.
164
+ args.push("-video_track_timescale", "90000");
165
+ }
166
+
116
167
  if (gpuEncoder !== "vaapi") {
117
168
  args.push("-pix_fmt", pixelFormat);
118
169
  }
@@ -268,7 +319,11 @@ export async function encodeFramesChunkedConcat(
268
319
  }
269
320
  const startNumber = i * chunkSize;
270
321
  const framesInChunk = Math.min(chunkSize, files.length - startNumber);
271
- const ext = outputPath.endsWith(".webm") ? ".webm" : ".mp4";
322
+ const ext = outputPath.endsWith(".webm")
323
+ ? ".webm"
324
+ : outputPath.endsWith(".mov")
325
+ ? ".mov"
326
+ : ".mp4";
272
327
  const chunkPath = join(chunkDir, `chunk_${String(i).padStart(4, "0")}${ext}`);
273
328
  const inputPath = join(framesDir, framePattern);
274
329
  const inputArgs = [
@@ -374,10 +429,13 @@ export async function muxVideoWithAudio(
374
429
  if (!existsSync(outputDir)) mkdirSync(outputDir, { recursive: true });
375
430
 
376
431
  const isWebm = outputPath.endsWith(".webm");
432
+ const isMov = outputPath.endsWith(".mov");
377
433
  const args = ["-i", videoPath, "-i", audioPath, "-c:v", "copy"];
378
434
 
379
435
  if (isWebm) {
380
436
  args.push("-c:a", "libopus", "-b:a", "128k");
437
+ } else if (isMov) {
438
+ args.push("-c:a", "aac", "-b:a", "192k");
381
439
  } else {
382
440
  args.push("-c:a", "aac", "-b:a", "192k", "-movflags", "+faststart");
383
441
  }
@@ -412,8 +470,9 @@ export async function applyFaststart(
412
470
  signal?: AbortSignal,
413
471
  config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout">>,
414
472
  ): Promise<MuxResult> {
415
- // faststart is MP4-only (moves moov atom to file start for streaming)
416
- if (outputPath.endsWith(".webm")) {
473
+ // faststart is MP4-only (moves moov atom to file start for streaming).
474
+ // WebM and MOV don't need it — skip the re-mux.
475
+ if (outputPath.endsWith(".webm") || outputPath.endsWith(".mov")) {
417
476
  if (inputPath !== outputPath) copyFileSync(inputPath, outputPath);
418
477
  return { success: true, outputPath, durationMs: 0 };
419
478
  }
@@ -150,17 +150,26 @@ export async function initializeSession(session: CaptureSession): Promise<void>
150
150
  const type = msg.type();
151
151
  const text = msg.text();
152
152
 
153
- // Suppress font-loading 404s only. These are expected when deterministic
153
+ // Suppress font-loading 404s entirely. These are expected when deterministic
154
154
  // font injection replaces Google Fonts @import URLs with embedded base64.
155
- // Narrowed to font CDN domains and font file extensions to avoid hiding
156
- // real asset failures (images, scripts, videos).
157
155
  const isFontLoadError =
158
156
  type === "error" &&
159
157
  text.startsWith("Failed to load resource") &&
160
158
  /fonts\.googleapis|fonts\.gstatic|\.woff2?(\b|$)/i.test(text);
161
159
 
162
- const prefix =
163
- type === "error" ? "[Browser:ERROR]" : type === "warn" ? "[Browser:WARN]" : "[Browser]";
160
+ // Other "Failed to load resource" 404s are typically non-blocking (e.g.
161
+ // favicon, sourcemaps, optional assets). Prefix them so users know they
162
+ // are harmless and don't confuse them with real render errors.
163
+ const isResourceLoadError =
164
+ type === "error" && text.startsWith("Failed to load resource") && !isFontLoadError;
165
+
166
+ const prefix = isResourceLoadError
167
+ ? "[non-blocking]"
168
+ : type === "error"
169
+ ? "[Browser:ERROR]"
170
+ : type === "warn"
171
+ ? "[Browser:WARN]"
172
+ : "[Browser]";
164
173
  if (!isFontLoadError) {
165
174
  console.log(`${prefix} ${text}`);
166
175
  }
@@ -168,6 +168,17 @@ function buildStreamingArgs(
168
168
  args.push("-c:v", encoderName, "-preset", preset);
169
169
  if (bitrate) args.push("-b:v", bitrate);
170
170
  else args.push("-crf", String(quality));
171
+
172
+ // Encoder-specific params: anti-banding + bt709 color space.
173
+ // aq-mode=3 redistributes bits to dark flat areas (gradients).
174
+ // colorprim/transfer/colormatrix embed bt709 in the H.264/H.265 VUI.
175
+ const xParamsFlag = codec === "h264" ? "-x264-params" : "-x265-params";
176
+ const colorParams = "colorprim=bt709:transfer=bt709:colormatrix=bt709";
177
+ if (preset === "ultrafast") {
178
+ args.push(xParamsFlag, `aq-mode=3:${colorParams}`);
179
+ } else {
180
+ args.push(xParamsFlag, `aq-mode=3:aq-strength=0.8:deblock=1,1:${colorParams}`);
181
+ }
171
182
  }
172
183
  } else if (codec === "vp9") {
173
184
  args.push("-c:v", "libvpx-vp9", "-b:v", bitrate || "0", "-crf", String(quality));
@@ -179,9 +190,38 @@ function buildStreamingArgs(
179
190
  }
180
191
  } else if (codec === "prores") {
181
192
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
193
+ args.push("-pix_fmt", pixelFormat);
182
194
  return [...args, "-y", outputPath];
183
195
  }
184
196
 
197
+ // BT.709 color space metadata — Chrome screenshots are sRGB which maps to bt709.
198
+ // Tags the output so players interpret colors correctly across devices.
199
+ if (codec === "h264" || codec === "h265") {
200
+ args.push(
201
+ "-colorspace:v",
202
+ "bt709",
203
+ "-color_primaries:v",
204
+ "bt709",
205
+ "-color_trc:v",
206
+ "bt709",
207
+ "-color_range",
208
+ "tv",
209
+ );
210
+
211
+ // Convert full-range RGB input (Chrome screenshots) to limited/TV range for H.264.
212
+ if (gpuEncoder === "vaapi") {
213
+ const vfIdx = args.indexOf("-vf");
214
+ if (vfIdx !== -1) {
215
+ args[vfIdx + 1] = `scale=in_range=pc:out_range=tv,${args[vfIdx + 1]}`;
216
+ }
217
+ } else if (!shouldUseGpu) {
218
+ args.push("-vf", "scale=in_range=pc:out_range=tv");
219
+ }
220
+
221
+ // Fixed timescale for consistent A/V timing across platforms.
222
+ args.push("-video_track_timescale", "90000");
223
+ }
224
+
185
225
  if (gpuEncoder !== "vaapi") {
186
226
  args.push("-pix_fmt", pixelFormat);
187
227
  }