@hyperframes/engine 0.8.145 → 0.8.147
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/dist/config.d.ts +0 -1
- package/dist/config.js +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/services/__fixtures__/jpeg.d.ts +0 -1
- package/dist/services/__fixtures__/jpeg.js +0 -1
- package/dist/services/audioFxRender.d.ts +0 -1
- package/dist/services/audioFxRender.js +0 -1
- package/dist/services/audioMixer.d.ts +0 -1
- package/dist/services/audioMixer.js +0 -1
- package/dist/services/audioMixer.types.d.ts +0 -1
- package/dist/services/audioMixer.types.js +0 -1
- package/dist/services/audioVolumeEnvelope.d.ts +0 -1
- package/dist/services/audioVolumeEnvelope.js +0 -1
- package/dist/services/browserLeasePool.d.ts +0 -1
- package/dist/services/browserLeasePool.js +0 -1
- package/dist/services/browserManager.d.ts +0 -1
- package/dist/services/browserManager.js +2 -3
- package/dist/services/captureFailure.d.ts +0 -1
- package/dist/services/captureFailure.js +0 -1
- package/dist/services/captureWarning.d.ts +0 -1
- package/dist/services/captureWarning.js +0 -1
- package/dist/services/chromeHostCeiling.d.ts +0 -1
- package/dist/services/chromeHostCeiling.js +0 -1
- package/dist/services/chromeMemorySampler.d.ts +0 -1
- package/dist/services/chromeMemorySampler.js +0 -1
- package/dist/services/chunkEncoder.d.ts +0 -1
- package/dist/services/chunkEncoder.js +0 -1
- package/dist/services/chunkEncoder.types.d.ts +0 -1
- package/dist/services/chunkEncoder.types.js +0 -1
- package/dist/services/drawElementCaptureError.d.ts +0 -1
- package/dist/services/drawElementCaptureError.js +0 -1
- package/dist/services/drawElementService.d.ts +0 -1
- package/dist/services/drawElementService.js +1 -2
- package/dist/services/extractedFrameIndex.d.ts +0 -1
- package/dist/services/extractedFrameIndex.js +0 -1
- package/dist/services/extractionCache.d.ts +3 -1
- package/dist/services/extractionCache.js +17 -4
- package/dist/services/fileServer.d.ts +0 -1
- package/dist/services/fileServer.js +0 -1
- package/dist/services/frameCapture.d.ts +5 -2
- package/dist/services/frameCapture.js +44 -33
- package/dist/services/hdrCapture.d.ts +0 -1
- package/dist/services/hdrCapture.js +0 -1
- package/dist/services/mediaHidden.d.ts +0 -1
- package/dist/services/mediaHidden.js +0 -1
- package/dist/services/mediaRenderIdBridge.d.ts +0 -1
- package/dist/services/mediaRenderIdBridge.js +0 -1
- package/dist/services/mediaTimelineWindow.d.ts +0 -1
- package/dist/services/mediaTimelineWindow.js +0 -1
- package/dist/services/motionBlur.d.ts +0 -1
- package/dist/services/motionBlur.js +0 -1
- package/dist/services/pageNavigationTimeoutErrorHint.d.ts +0 -1
- package/dist/services/pageNavigationTimeoutErrorHint.js +0 -1
- package/dist/services/parallelCoordinator.d.ts +0 -1
- package/dist/services/parallelCoordinator.js +2 -3
- package/dist/services/protocolTimeoutErrorHint.d.ts +0 -1
- package/dist/services/protocolTimeoutErrorHint.js +0 -1
- package/dist/services/referenceResolver.d.ts +0 -1
- package/dist/services/referenceResolver.js +0 -1
- package/dist/services/screenshotService.d.ts +0 -1
- package/dist/services/screenshotService.js +19 -20
- package/dist/services/streamingEncoder.d.ts +0 -1
- package/dist/services/streamingEncoder.js +0 -1
- package/dist/services/systemMemory.d.ts +0 -1
- package/dist/services/systemMemory.js +2 -3
- package/dist/services/threeDProjection.d.ts +0 -1
- package/dist/services/threeDProjection.js +2 -3
- package/dist/services/videoFrameExtractor.d.ts +3 -1
- package/dist/services/videoFrameExtractor.js +37 -7
- package/dist/services/videoFrameInjector.d.ts +0 -1
- package/dist/services/videoFrameInjector.js +0 -1
- package/dist/services/vp9Options.d.ts +0 -1
- package/dist/services/vp9Options.js +0 -1
- package/dist/services/wavChunks.d.ts +0 -1
- package/dist/services/wavChunks.js +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/dist/utils/alphaBlit.d.ts +0 -1
- package/dist/utils/alphaBlit.js +0 -1
- package/dist/utils/alphaPlaneProbe.d.ts +0 -1
- package/dist/utils/alphaPlaneProbe.js +0 -1
- package/dist/utils/assertSwiftShader.d.ts +0 -1
- package/dist/utils/assertSwiftShader.js +0 -1
- package/dist/utils/concurrencyLimit.d.ts +0 -1
- package/dist/utils/concurrencyLimit.js +0 -1
- package/dist/utils/crc32.d.ts +0 -1
- package/dist/utils/crc32.js +0 -1
- package/dist/utils/evenDimensions.d.ts +0 -1
- package/dist/utils/evenDimensions.js +0 -1
- package/dist/utils/ffmpegBinaries.d.ts +0 -1
- package/dist/utils/ffmpegBinaries.js +0 -1
- package/dist/utils/ffprobe.d.ts +0 -1
- package/dist/utils/ffprobe.js +0 -1
- package/dist/utils/gpuEncoder.d.ts +0 -1
- package/dist/utils/gpuEncoder.js +0 -1
- package/dist/utils/gpuParityDiff.d.ts +0 -1
- package/dist/utils/gpuParityDiff.js +4 -5
- package/dist/utils/hdr.d.ts +0 -1
- package/dist/utils/hdr.js +1 -2
- package/dist/utils/htmlTemplate.d.ts +0 -1
- package/dist/utils/htmlTemplate.js +0 -1
- package/dist/utils/jpegInput.d.ts +0 -1
- package/dist/utils/jpegInput.js +0 -1
- package/dist/utils/layerCompositor.d.ts +0 -1
- package/dist/utils/layerCompositor.js +0 -1
- package/dist/utils/managedChildProcess.d.ts +0 -1
- package/dist/utils/managedChildProcess.js +0 -1
- package/dist/utils/notMediaPayload.d.ts +0 -1
- package/dist/utils/notMediaPayload.js +0 -1
- package/dist/utils/parityContract.d.ts +0 -1
- package/dist/utils/parityContract.js +0 -1
- package/dist/utils/processRss.d.ts +0 -1
- package/dist/utils/processRss.js +0 -1
- package/dist/utils/processTracker.d.ts +0 -1
- package/dist/utils/processTracker.js +0 -1
- package/dist/utils/psnr.d.ts +0 -1
- package/dist/utils/psnr.js +0 -1
- package/dist/utils/psnrFilterAvailability.d.ts +0 -1
- package/dist/utils/psnrFilterAvailability.js +0 -1
- package/dist/utils/readWebGlVendorInfoFromCanvas.d.ts +0 -1
- package/dist/utils/readWebGlVendorInfoFromCanvas.js +0 -1
- package/dist/utils/renderProvenance.d.ts +0 -1
- package/dist/utils/renderProvenance.js +0 -1
- package/dist/utils/runFfmpeg.d.ts +0 -1
- package/dist/utils/runFfmpeg.js +0 -1
- package/dist/utils/sdrCaptureColor.d.ts +0 -1
- package/dist/utils/sdrCaptureColor.js +0 -1
- package/dist/utils/shaderTransitions.d.ts +0 -1
- package/dist/utils/shaderTransitions.js +0 -1
- package/dist/utils/urlDownloader.d.ts +0 -1
- package/dist/utils/urlDownloader.js +0 -1
- package/package.json +3 -3
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/__fixtures__/jpeg.d.ts.map +0 -1
- package/dist/services/__fixtures__/jpeg.js.map +0 -1
- package/dist/services/audioFxRender.d.ts.map +0 -1
- package/dist/services/audioFxRender.js.map +0 -1
- package/dist/services/audioMixer.d.ts.map +0 -1
- package/dist/services/audioMixer.js.map +0 -1
- package/dist/services/audioMixer.types.d.ts.map +0 -1
- package/dist/services/audioMixer.types.js.map +0 -1
- package/dist/services/audioVolumeEnvelope.d.ts.map +0 -1
- package/dist/services/audioVolumeEnvelope.js.map +0 -1
- package/dist/services/browserLeasePool.d.ts.map +0 -1
- package/dist/services/browserLeasePool.js.map +0 -1
- package/dist/services/browserManager.d.ts.map +0 -1
- package/dist/services/browserManager.js.map +0 -1
- package/dist/services/captureFailure.d.ts.map +0 -1
- package/dist/services/captureFailure.js.map +0 -1
- package/dist/services/captureWarning.d.ts.map +0 -1
- package/dist/services/captureWarning.js.map +0 -1
- package/dist/services/chromeHostCeiling.d.ts.map +0 -1
- package/dist/services/chromeHostCeiling.js.map +0 -1
- package/dist/services/chromeMemorySampler.d.ts.map +0 -1
- package/dist/services/chromeMemorySampler.js.map +0 -1
- package/dist/services/chunkEncoder.d.ts.map +0 -1
- package/dist/services/chunkEncoder.js.map +0 -1
- package/dist/services/chunkEncoder.types.d.ts.map +0 -1
- package/dist/services/chunkEncoder.types.js.map +0 -1
- package/dist/services/drawElementCaptureError.d.ts.map +0 -1
- package/dist/services/drawElementCaptureError.js.map +0 -1
- package/dist/services/drawElementService.d.ts.map +0 -1
- package/dist/services/drawElementService.js.map +0 -1
- package/dist/services/extractedFrameIndex.d.ts.map +0 -1
- package/dist/services/extractedFrameIndex.js.map +0 -1
- package/dist/services/extractionCache.d.ts.map +0 -1
- package/dist/services/extractionCache.js.map +0 -1
- package/dist/services/fileServer.d.ts.map +0 -1
- package/dist/services/fileServer.js.map +0 -1
- package/dist/services/frameCapture.d.ts.map +0 -1
- package/dist/services/frameCapture.js.map +0 -1
- package/dist/services/hdrCapture.d.ts.map +0 -1
- package/dist/services/hdrCapture.js.map +0 -1
- package/dist/services/mediaHidden.d.ts.map +0 -1
- package/dist/services/mediaHidden.js.map +0 -1
- package/dist/services/mediaRenderIdBridge.d.ts.map +0 -1
- package/dist/services/mediaRenderIdBridge.js.map +0 -1
- package/dist/services/mediaTimelineWindow.d.ts.map +0 -1
- package/dist/services/mediaTimelineWindow.js.map +0 -1
- package/dist/services/motionBlur.d.ts.map +0 -1
- package/dist/services/motionBlur.js.map +0 -1
- package/dist/services/pageNavigationTimeoutErrorHint.d.ts.map +0 -1
- package/dist/services/pageNavigationTimeoutErrorHint.js.map +0 -1
- package/dist/services/parallelCoordinator.d.ts.map +0 -1
- package/dist/services/parallelCoordinator.js.map +0 -1
- package/dist/services/protocolTimeoutErrorHint.d.ts.map +0 -1
- package/dist/services/protocolTimeoutErrorHint.js.map +0 -1
- package/dist/services/referenceResolver.d.ts.map +0 -1
- package/dist/services/referenceResolver.js.map +0 -1
- package/dist/services/screenshotService.d.ts.map +0 -1
- package/dist/services/screenshotService.js.map +0 -1
- package/dist/services/streamingEncoder.d.ts.map +0 -1
- package/dist/services/streamingEncoder.js.map +0 -1
- package/dist/services/systemMemory.d.ts.map +0 -1
- package/dist/services/systemMemory.js.map +0 -1
- package/dist/services/threeDProjection.d.ts.map +0 -1
- package/dist/services/threeDProjection.js.map +0 -1
- package/dist/services/videoFrameExtractor.d.ts.map +0 -1
- package/dist/services/videoFrameExtractor.js.map +0 -1
- package/dist/services/videoFrameInjector.d.ts.map +0 -1
- package/dist/services/videoFrameInjector.js.map +0 -1
- package/dist/services/vp9Options.d.ts.map +0 -1
- package/dist/services/vp9Options.js.map +0 -1
- package/dist/services/wavChunks.d.ts.map +0 -1
- package/dist/services/wavChunks.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/alphaBlit.d.ts.map +0 -1
- package/dist/utils/alphaBlit.js.map +0 -1
- package/dist/utils/alphaPlaneProbe.d.ts.map +0 -1
- package/dist/utils/alphaPlaneProbe.js.map +0 -1
- package/dist/utils/assertSwiftShader.d.ts.map +0 -1
- package/dist/utils/assertSwiftShader.js.map +0 -1
- package/dist/utils/concurrencyLimit.d.ts.map +0 -1
- package/dist/utils/concurrencyLimit.js.map +0 -1
- package/dist/utils/crc32.d.ts.map +0 -1
- package/dist/utils/crc32.js.map +0 -1
- package/dist/utils/evenDimensions.d.ts.map +0 -1
- package/dist/utils/evenDimensions.js.map +0 -1
- package/dist/utils/ffmpegBinaries.d.ts.map +0 -1
- package/dist/utils/ffmpegBinaries.js.map +0 -1
- package/dist/utils/ffprobe.d.ts.map +0 -1
- package/dist/utils/ffprobe.js.map +0 -1
- package/dist/utils/gpuEncoder.d.ts.map +0 -1
- package/dist/utils/gpuEncoder.js.map +0 -1
- package/dist/utils/gpuParityDiff.d.ts.map +0 -1
- package/dist/utils/gpuParityDiff.js.map +0 -1
- package/dist/utils/hdr.d.ts.map +0 -1
- package/dist/utils/hdr.js.map +0 -1
- package/dist/utils/htmlTemplate.d.ts.map +0 -1
- package/dist/utils/htmlTemplate.js.map +0 -1
- package/dist/utils/jpegInput.d.ts.map +0 -1
- package/dist/utils/jpegInput.js.map +0 -1
- package/dist/utils/layerCompositor.d.ts.map +0 -1
- package/dist/utils/layerCompositor.js.map +0 -1
- package/dist/utils/managedChildProcess.d.ts.map +0 -1
- package/dist/utils/managedChildProcess.js.map +0 -1
- package/dist/utils/notMediaPayload.d.ts.map +0 -1
- package/dist/utils/notMediaPayload.js.map +0 -1
- package/dist/utils/parityContract.d.ts.map +0 -1
- package/dist/utils/parityContract.js.map +0 -1
- package/dist/utils/processRss.d.ts.map +0 -1
- package/dist/utils/processRss.js.map +0 -1
- package/dist/utils/processTracker.d.ts.map +0 -1
- package/dist/utils/processTracker.js.map +0 -1
- package/dist/utils/psnr.d.ts.map +0 -1
- package/dist/utils/psnr.js.map +0 -1
- package/dist/utils/psnrFilterAvailability.d.ts.map +0 -1
- package/dist/utils/psnrFilterAvailability.js.map +0 -1
- package/dist/utils/readWebGlVendorInfoFromCanvas.d.ts.map +0 -1
- package/dist/utils/readWebGlVendorInfoFromCanvas.js.map +0 -1
- package/dist/utils/renderProvenance.d.ts.map +0 -1
- package/dist/utils/renderProvenance.js.map +0 -1
- package/dist/utils/runFfmpeg.d.ts.map +0 -1
- package/dist/utils/runFfmpeg.js.map +0 -1
- package/dist/utils/sdrCaptureColor.d.ts.map +0 -1
- package/dist/utils/sdrCaptureColor.js.map +0 -1
- package/dist/utils/shaderTransitions.d.ts.map +0 -1
- package/dist/utils/shaderTransitions.js.map +0 -1
- package/dist/utils/urlDownloader.d.ts.map +0 -1
- package/dist/utils/urlDownloader.js.map +0 -1
package/dist/config.d.ts
CHANGED
|
@@ -442,4 +442,3 @@ export declare function shouldClampToScreenshotForConcreteGpu(resolvedGpuMode: "
|
|
|
442
442
|
* without consulting anything else.
|
|
443
443
|
*/
|
|
444
444
|
export declare function applyConcreteGpuScreenshotClamp(currentForceScreenshot: boolean, resolvedGpuMode: "software" | "hardware", cfg: Pick<EngineConfig, "forceScreenshotExplicitlyOptedOut"> | undefined, env?: NodeJS.ProcessEnv): boolean;
|
|
445
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.js
CHANGED
|
@@ -647,7 +647,7 @@ export function resolveConfig(overrides) {
|
|
|
647
647
|
})) {
|
|
648
648
|
merged.enableStreamingEncode = false;
|
|
649
649
|
merged.streamingEncodeAutoDisabledOnWin32Compound = true;
|
|
650
|
-
console.error("[hyperframes] Windows compound-workaround auto-detected
|
|
650
|
+
console.error("[hyperframes] Windows compound-workaround auto-detected, disabling streaming-encode " +
|
|
651
651
|
"(platform=win32, software-GPU forced, workers=1). Field signal ts=1784131903. " +
|
|
652
652
|
"Override: PRODUCER_ENABLE_STREAMING_ENCODE=true.");
|
|
653
653
|
}
|
|
@@ -720,4 +720,3 @@ export function applyConcreteGpuScreenshotClamp(currentForceScreenshot, resolved
|
|
|
720
720
|
programmaticOptOut: cfg?.forceScreenshotExplicitlyOptedOut ?? false,
|
|
721
721
|
}));
|
|
722
722
|
}
|
|
723
|
-
//# sourceMappingURL=config.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export { beginFrameCapture, pageScreenshotCapture, getCdpSession, injectVideoFra
|
|
|
45
45
|
export { buildEncoderArgs, encodeFramesFromDir, buildConcatArgs, concatVideoFiles, encodeFramesChunkedConcat, muxVideoWithAudio, applyFaststart, packageHls, detectGpuEncoder, ENCODER_PRESETS, getEncoderPreset, HLS_MASTER_PLAYLIST, HLS_VIDEO_PLAYLIST, HLS_AUDIO_PLAYLIST, type GpuEncoder, type PackageHlsOptions, } from "./services/chunkEncoder.js";
|
|
46
46
|
export type { EncoderOptions, EncodeResult, MuxResult } from "./services/chunkEncoder.types.js";
|
|
47
47
|
export { spawnStreamingEncoder, createFrameReorderBuffer, type StreamingEncoder, type StreamingEncoderOptions, type StreamingEncoderResult, type FrameReorderBuffer, } from "./services/streamingEncoder.js";
|
|
48
|
-
export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, type VideoElement, type ImageElement, type ExtractedFrames, type DeferredFrameRange, type FrameRange, type ExtractionOptions, type ExtractionResult, type ExtractionPhaseBreakdown, type TimelineExtractionWindow, type VideoExtractionFailure, type VideoExtractionFailureKind, type VideoExtractionFailureGroupDetails, type VideoExtractionFailureRetry, type VideoExtractionFailureStatusClass, type SafeVideoExtractionSourceIdentity, type VideoFrameFormat, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
|
|
48
|
+
export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, isVideoPastTimelineEnd, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, type VideoElement, type ImageElement, type ExtractedFrames, type DeferredFrameRange, type FrameRange, type ExtractionOptions, type ExtractionResult, type ExtractionPhaseBreakdown, type TimelineExtractionWindow, type VideoExtractionFailure, type VideoExtractionFailureKind, type VideoExtractionFailureGroupDetails, type VideoExtractionFailureRetry, type VideoExtractionFailureStatusClass, type SafeVideoExtractionSourceIdentity, type VideoFrameFormat, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
|
|
49
49
|
export { directorySizeBytes, gcExtractionCache } from "./services/extractionCache.js";
|
|
50
50
|
export { resolveReferencedStart, resolveReferencedDuration, type RefResolverEl, type RefResolverDoc, } from "./services/referenceResolver.js";
|
|
51
51
|
export { createVideoFrameInjector } from "./services/videoFrameInjector.js";
|
|
@@ -78,4 +78,3 @@ export { isHdrColorSpace, detectTransfer, getHdrEncoderColorParams, analyzeCompo
|
|
|
78
78
|
export type { VideoColorSpace } from "./utils/ffprobe.js";
|
|
79
79
|
export { renderProvenanceArgs, appendRenderProvenanceArgs, readRenderProvenance, PROVENANCE_RENDERER_TAG, PROVENANCE_VERSION_TAG, PROVENANCE_RENDERER_NAME, PROVENANCE_VERSION, type RenderProvenance, } from "./utils/renderProvenance.js";
|
|
80
80
|
export { DrawElementCaptureError, isDrawElementCaptureError, } from "./services/drawElementCaptureError.js";
|
|
81
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ export { beginFrameCapture, pageScreenshotCapture, getCdpSession, injectVideoFra
|
|
|
49
49
|
export { buildEncoderArgs, encodeFramesFromDir, buildConcatArgs, concatVideoFiles, encodeFramesChunkedConcat, muxVideoWithAudio, applyFaststart, packageHls, detectGpuEncoder, ENCODER_PRESETS, getEncoderPreset, HLS_MASTER_PLAYLIST, HLS_VIDEO_PLAYLIST, HLS_AUDIO_PLAYLIST, } from "./services/chunkEncoder.js";
|
|
50
50
|
export { spawnStreamingEncoder, createFrameReorderBuffer, } from "./services/streamingEncoder.js";
|
|
51
51
|
// ── Media processing ───────────────────────────────────────────────────────────
|
|
52
|
-
export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
|
|
52
|
+
export { parseVideoElements, parseImageElements, extractVideoFramesRange, extractAllVideoFrames, isVideoPastTimelineEnd, resolveTimelineExtractionWindow, resolveVideoExtractionWindow, resolveFinalFrameExtractionWindow, resolveVideoExtractionDuration, resolvePlayableVideoDuration, extractionFrameCountForDuration, resolveProjectRelativeSrc, getFrameAtTime, createFrameLookupTable, FrameLookupTable, analyzeClipMediaFit, classifyVideoExtractionError, isVideoSourceExtractionError, runVideoExtractionWithRetry, safeVideoExtractionSourceIdentity, VideoSourceExtractionError, VIDEO_FRAME_FORMATS, isVideoFrameFormat, EXTRACT_CACHE_MIN_AGE_MS, } from "./services/videoFrameExtractor.js";
|
|
53
53
|
export { directorySizeBytes, gcExtractionCache } from "./services/extractionCache.js";
|
|
54
54
|
export { resolveReferencedStart, resolveReferencedDuration, } from "./services/referenceResolver.js";
|
|
55
55
|
export { createVideoFrameInjector } from "./services/videoFrameInjector.js";
|
|
@@ -85,4 +85,3 @@ export { hideVideoElements, showVideoElements, queryVideoElementBounds, queryEle
|
|
|
85
85
|
export { isHdrColorSpace, detectTransfer, getHdrEncoderColorParams, analyzeCompositionHdr, findHdrAutoPromotion, formatHdrAutoPromotionWarning, sanitizeHdrAutoPromotionAsset, DEFAULT_HDR10_MASTERING, HDR_AUTO_PROMOTION_PIPELINE, } from "./utils/hdr.js";
|
|
86
86
|
export { renderProvenanceArgs, appendRenderProvenanceArgs, readRenderProvenance, PROVENANCE_RENDERER_TAG, PROVENANCE_VERSION_TAG, PROVENANCE_RENDERER_NAME, PROVENANCE_VERSION, } from "./utils/renderProvenance.js";
|
|
87
87
|
export { DrawElementCaptureError, isDrawElementCaptureError, } from "./services/drawElementCaptureError.js";
|
|
88
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
// A 64x64 JPEG encoded by FFmpeg; contains real DQT, DHT, SOF and scan data.
|
|
2
2
|
export const validJpeg = Buffer.from("/9j/4AAQSkZJRgABAgAAAQABAAD//gAQTGF2YzYyLjI4LjEwMQD/2wBDAAgEBAQEBAUFBQUFBQYGBgYGBgYGBgYGBgYHBwcICAgHBwcGBgcHCAgICAkJCQgICAgJCQoKCgwMCwsODg4RERT/xABNAAEBAAAAAAAAAAAAAAAAAAAABgEBAQEAAAAAAAAAAAAAAAAAAAYHEAEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/8AAEQgAQABAAwEiAAIRAAMRAP/aAAwDAQACEQMRAD8AiwEm38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/9k=", "base64");
|
|
3
|
-
//# sourceMappingURL=jpeg.js.map
|
|
@@ -41,4 +41,3 @@ export declare function volumeLaneKeyframes(automation: {
|
|
|
41
41
|
}, trackStart: number, duration: number): AudioVolumeKeyframe[] | null;
|
|
42
42
|
export declare function parseAudioElements(html: string): AudioElement[];
|
|
43
43
|
export declare function processCompositionAudio(elements: AudioElement[], baseDir: string, workDir: string, outputPath: string, totalDuration: number, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout" | "audioGain">>, compiledDir?: string): Promise<MixResult>;
|
|
44
|
-
//# sourceMappingURL=audioMixer.d.ts.map
|
|
@@ -33,4 +33,3 @@ export declare function createEnvelopeWalker(keyframes: AudioVolumeKeyframe[], t
|
|
|
33
33
|
* 16-bit PCM nor 32-bit float (caller should fall back to the expression path).
|
|
34
34
|
*/
|
|
35
35
|
export declare function applyVolumeEnvelopeToWav(wavPath: string, keyframes: AudioVolumeKeyframe[], trackStart: number, baseVolume: number): boolean;
|
|
36
|
-
//# sourceMappingURL=audioVolumeEnvelope.d.ts.map
|
|
@@ -119,4 +119,3 @@ export declare class WebGpuUnavailableError extends Error {
|
|
|
119
119
|
* `page` must be on a secure-context origin, or navigator.gpu always reads absent.
|
|
120
120
|
*/
|
|
121
121
|
export declare function assertWebGpuAdapterAvailable(page: Page, requiresWebGpu: boolean, softwareWebGpu?: boolean): Promise<void>;
|
|
122
|
-
//# sourceMappingURL=browserManager.d.ts.map
|
|
@@ -477,7 +477,7 @@ let _unverifiedHardwareGpuWarned = false;
|
|
|
477
477
|
function buildUnverifiedHardwareGpuWarning(platform, cause) {
|
|
478
478
|
if (cause === "probe-error") {
|
|
479
479
|
return ("[hyperframes] browserGpuMode=hardware was requested, but the GPU probe could not run, " +
|
|
480
|
-
"so hardware acceleration is UNVERIFIED
|
|
480
|
+
"so hardware acceleration is UNVERIFIED. If Chrome falls back to software WebGL the " +
|
|
481
481
|
"capture will run at CPU speed. Honouring the explicit request anyway.\n" +
|
|
482
482
|
" This is a probe failure, not evidence of a missing GPU: see the " +
|
|
483
483
|
"`browserGpuMode probe → software (probe failed ...)` line above for the underlying " +
|
|
@@ -493,7 +493,7 @@ function buildUnverifiedHardwareGpuWarning(platform, cause) {
|
|
|
493
493
|
: "Check that the host exposes a GPU to this process and that the graphics drivers are " +
|
|
494
494
|
"installed.";
|
|
495
495
|
return ("[hyperframes] browserGpuMode=hardware was requested, but the WebGL probe found no " +
|
|
496
|
-
"hardware GPU
|
|
496
|
+
"hardware GPU, so Chrome will silently fall back to software WebGL and the capture will " +
|
|
497
497
|
"run at CPU speed. Honouring the explicit request anyway.\n" +
|
|
498
498
|
` ${remediation}\n` +
|
|
499
499
|
" Pass --no-browser-gpu to select deterministic SwiftShader instead of waiting on a " +
|
|
@@ -874,4 +874,3 @@ function getBrowserGpuArgs(mode, platform) {
|
|
|
874
874
|
return ["--enable-gpu-rasterization"];
|
|
875
875
|
}
|
|
876
876
|
}
|
|
877
|
-
//# sourceMappingURL=browserManager.js.map
|
|
@@ -24,4 +24,3 @@ export declare function classifyCaptureFailure(error: unknown, options?: {
|
|
|
24
24
|
export declare function isTransientBrowserError(error: unknown): boolean;
|
|
25
25
|
export declare function isMemoryExhaustionError(error: unknown): boolean;
|
|
26
26
|
export declare function isFatalCaptureFailure(failure: CaptureFailure): boolean;
|
|
27
|
-
//# sourceMappingURL=captureFailure.d.ts.map
|
|
@@ -2,4 +2,3 @@ import type { CaptureWarning } from "../types.js";
|
|
|
2
2
|
/** Clone every mutable field before a warning crosses an async or ownership boundary. */
|
|
3
3
|
export declare function cloneCaptureWarning<T extends CaptureWarning>(warning: T): T;
|
|
4
4
|
export declare function cloneCaptureWarnings<T extends CaptureWarning>(warnings: readonly T[]): T[];
|
|
5
|
-
//# sourceMappingURL=captureWarning.d.ts.map
|
|
@@ -2,4 +2,3 @@
|
|
|
2
2
|
export declare function chromeMajorCeiling(hostPlatform?: string, hostRelease?: string): number | undefined;
|
|
3
3
|
/** True when a cache dir name (`mac-152.0.1.2`) or build id (`152.0.1.2`) is newer than the ceiling. */
|
|
4
4
|
export declare function exceedsChromeCeiling(versionName: string, ceiling: number | undefined): boolean;
|
|
5
|
-
//# sourceMappingURL=chromeHostCeiling.d.ts.map
|
|
@@ -52,4 +52,3 @@ export interface ChromeMemorySampler {
|
|
|
52
52
|
export declare function mergeSample(prev: ChromeMemoryStats, pids: ChromePids, rss: readonly ProcessRssSample[]): ChromeMemoryStats;
|
|
53
53
|
export declare function createChromeMemorySampler(deps: ChromeMemorySamplerDeps): ChromeMemorySampler;
|
|
54
54
|
export {};
|
|
55
|
-
//# sourceMappingURL=chromeMemorySampler.d.ts.map
|
|
@@ -139,4 +139,3 @@ export interface PackageHlsOptions extends Partial<Pick<EngineConfig, "ffmpegPro
|
|
|
139
139
|
*/
|
|
140
140
|
export declare function packageHls(videoPath: string, audioPath: string | null, outputDir: string, options: PackageHlsOptions): Promise<MuxResult>;
|
|
141
141
|
export declare function applyFaststart(inputPath: string, outputPath: string, signal?: AbortSignal, config?: Partial<Pick<EngineConfig, "ffmpegProcessTimeout">>, fps?: Fps, onSecondsWritten?: (seconds: number) => void): Promise<MuxResult>;
|
|
142
|
-
//# sourceMappingURL=chunkEncoder.d.ts.map
|
|
@@ -5,4 +5,3 @@ export declare class DrawElementCaptureError extends Error {
|
|
|
5
5
|
}
|
|
6
6
|
/** Structural matching survives engine/producer copies and worker error wrappers. */
|
|
7
7
|
export declare function isDrawElementCaptureError(error: unknown): boolean;
|
|
8
|
-
//# sourceMappingURL=drawElementCaptureError.d.ts.map
|
|
@@ -578,7 +578,7 @@ export async function initDrawElementWorkerEncode(page) {
|
|
|
578
578
|
// frame's id so the node-side promise rejects instead of hanging.
|
|
579
579
|
const workerSrc = `
|
|
580
580
|
// Reuse one OffscreenCanvas across frames (dimensions are constant for a
|
|
581
|
-
// render)
|
|
581
|
+
// render): a fresh canvas per frame churns ~w*h*4 bytes of backing store
|
|
582
582
|
// every frame and pressures GC on the encode hot path.
|
|
583
583
|
let oc = null, c = null;
|
|
584
584
|
self.onmessage = async (e) => {
|
|
@@ -1066,4 +1066,3 @@ export async function produceDrawElementFrameBatch(page, times, width, height, q
|
|
|
1066
1066
|
}
|
|
1067
1067
|
return { encodeResults, failedAt: outcome.failedAt, error: outcome.error };
|
|
1068
1068
|
}
|
|
1069
|
-
//# sourceMappingURL=drawElementService.js.map
|
|
@@ -5,4 +5,3 @@ export declare class ExtractedFrameSequenceError extends Error {
|
|
|
5
5
|
}
|
|
6
6
|
export declare function extractedFrameIndex(file: string, format: ExtractedFrameFormat): number;
|
|
7
7
|
export declare function framePathsFromDirectory(outputDir: string, format: ExtractedFrameFormat, allowGaps?: boolean): Map<number, string>;
|
|
8
|
-
//# sourceMappingURL=extractedFrameIndex.d.ts.map
|
|
@@ -64,6 +64,8 @@ export interface CacheKeyInput {
|
|
|
64
64
|
format: CacheFrameFormat;
|
|
65
65
|
/** Optional source transform applied during extraction. */
|
|
66
66
|
transform?: string;
|
|
67
|
+
/** SHA-256 of the source bytes, in place of path and mtime (downloaded media gets new ones each render). */
|
|
68
|
+
contentSha256?: string;
|
|
67
69
|
}
|
|
68
70
|
export interface CacheEntry {
|
|
69
71
|
/** Absolute path to the cache entry directory. */
|
|
@@ -82,6 +84,7 @@ export interface CachePublishResult {
|
|
|
82
84
|
dir: string;
|
|
83
85
|
published: boolean;
|
|
84
86
|
}
|
|
87
|
+
export declare function readContentSha256(path: string, signal?: AbortSignal): Promise<string | null>;
|
|
85
88
|
/**
|
|
86
89
|
* Read `(mtimeMs, size)` for a path. Returns `null` if the file is missing —
|
|
87
90
|
* callers should skip the cache path for that entry so the extractor surfaces
|
|
@@ -207,4 +210,3 @@ export interface RehydratedFrames {
|
|
|
207
210
|
framePaths: Map<number, string>;
|
|
208
211
|
}
|
|
209
212
|
export declare function rehydrateCacheEntry(entry: CacheEntry, options: RehydrateOptions): RehydratedFrames;
|
|
210
|
-
//# sourceMappingURL=extractionCache.d.ts.map
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* become inert and can be gc'd by the caller.
|
|
33
33
|
*/
|
|
34
34
|
import { createHash, randomUUID } from "node:crypto";
|
|
35
|
-
import { existsSync, lstatSync, mkdirSync, readdirSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, } from "node:fs";
|
|
35
|
+
import { createReadStream, existsSync, lstatSync, mkdirSync, readdirSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, } from "node:fs";
|
|
36
36
|
import { join } from "node:path";
|
|
37
37
|
import { FRAME_FILENAME_PREFIX, framePathsFromDirectory } from "./extractedFrameIndex.js";
|
|
38
38
|
/** Filename prefix for extracted frames. Shared with the extractor. */
|
|
@@ -48,6 +48,17 @@ export const GC_MARKER = ".hf-last-gc";
|
|
|
48
48
|
export const SCHEMA_PREFIX = "hfcache-v6-";
|
|
49
49
|
/** Truncated hex chars of SHA-256 used for the entry directory name. */
|
|
50
50
|
const KEY_HEX_CHARS = 16;
|
|
51
|
+
export async function readContentSha256(path, signal) {
|
|
52
|
+
try {
|
|
53
|
+
const hash = createHash("sha256");
|
|
54
|
+
for await (const chunk of createReadStream(path, { signal }))
|
|
55
|
+
hash.update(chunk);
|
|
56
|
+
return hash.digest("hex");
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
51
62
|
/**
|
|
52
63
|
* Read `(mtimeMs, size)` for a path. Returns `null` if the file is missing —
|
|
53
64
|
* callers should skip the cache path for that entry so the extractor surfaces
|
|
@@ -66,9 +77,12 @@ export function readKeyStat(videoPath) {
|
|
|
66
77
|
}
|
|
67
78
|
function canonicalKeyBlob(input) {
|
|
68
79
|
const durationForKey = Number.isFinite(input.duration) ? input.duration : -1;
|
|
80
|
+
// Identity first, so keys of path-keyed entries stay byte-identical.
|
|
81
|
+
const identity = input.contentSha256 !== undefined
|
|
82
|
+
? { c: input.contentSha256 }
|
|
83
|
+
: { p: input.videoPath, m: input.mtimeMs };
|
|
69
84
|
const blob = {
|
|
70
|
-
|
|
71
|
-
m: input.mtimeMs,
|
|
85
|
+
...identity,
|
|
72
86
|
s: input.size,
|
|
73
87
|
ms: input.mediaStart,
|
|
74
88
|
d: durationForKey,
|
|
@@ -402,4 +416,3 @@ export function rehydrateCacheEntry(entry, options) {
|
|
|
402
416
|
framePaths,
|
|
403
417
|
};
|
|
404
418
|
}
|
|
405
|
-
//# sourceMappingURL=extractionCache.js.map
|
|
@@ -20,6 +20,8 @@ export type { CaptureOptions, CaptureResult, CaptureBufferResult, CapturePerfSum
|
|
|
20
20
|
* `heldVideoTime` (motion-blur samples only) is the output frame's time: a video on screen at
|
|
21
21
|
* both times shows its frame for `heldVideoTime`, so footage does not smear. */
|
|
22
22
|
export type BeforeCaptureHook = (page: Page, time: number, heldVideoTime?: number) => Promise<void>;
|
|
23
|
+
/** The per-frame wait a capture is in, worded for the stall error a user reads. */
|
|
24
|
+
type CaptureStep = "seeking the timeline" | "decoding CSS background images" | "injecting video frames" | "waiting for page seek handlers" | "loading color-grading LUTs" | "compositing the page" | "capturing the frame";
|
|
23
25
|
export interface CaptureSession {
|
|
24
26
|
browser: Browser;
|
|
25
27
|
/** Exact ownership token for this browser acquisition. */
|
|
@@ -202,6 +204,7 @@ export interface CaptureSession {
|
|
|
202
204
|
* retries via screenshot.
|
|
203
205
|
*/
|
|
204
206
|
deFrameTimeouts?: number;
|
|
207
|
+
captureStep?: CaptureStep;
|
|
205
208
|
/**
|
|
206
209
|
* drawElement init passed every gate but stopped before verification +
|
|
207
210
|
* canvas injection: the session has no video-frame injector yet (probe
|
|
@@ -386,7 +389,7 @@ export declare function formatConsoleDiagnostic(type: string, text: string, loca
|
|
|
386
389
|
text: string;
|
|
387
390
|
suppressHostLog: boolean;
|
|
388
391
|
};
|
|
389
|
-
export declare const HF_READY_DIAGNOSTIC_EXPR = "(async function() {\n var hf = window.__hf;\n var player = window.__player;\n var renderReady = !!window.__renderReady;\n var hasSeek = !!(hf && typeof hf.seek === \"function\");\n var duration = hf ? hf.duration : -1;\n var hasTimeline = !!(window.__timelines && Object.keys(window.__timelines).length > 0);\n var root = document.querySelector(\"[data-composition-id]\");\n var declaredDuration = root ? Number(root.getAttribute(\"data-duration\")) : -1;\n var registry = (window.__hf && window.__hf.buildReady) || {};\n var keys = Object.keys(registry);\n // A microtask race mis-sorts a non-native thenable (extra adoption tick)\n // and rejects the whole expression on a rejected entry. Settling each\n // key onto its own record and waiting one macrotask avoids both.\n var settled = {};\n if (keys.length > 0) {\n keys.forEach(function(key) {\n Promise.resolve(registry[key]).then(\n function() { settled[key] = \"resolved\"; },\n function() { settled[key] = \"rejected\"; },\n );\n });\n await new Promise(function(r) { setTimeout(r, 0); });\n }\n // A thenable resolving via its own setTimeout(0) can still misreport as\n // pending here (macrotask registration order, not resolution order)
|
|
392
|
+
export declare const HF_READY_DIAGNOSTIC_EXPR = "(async function() {\n var hf = window.__hf;\n var player = window.__player;\n var renderReady = !!window.__renderReady;\n var hasSeek = !!(hf && typeof hf.seek === \"function\");\n var duration = hf ? hf.duration : -1;\n var hasTimeline = !!(window.__timelines && Object.keys(window.__timelines).length > 0);\n var root = document.querySelector(\"[data-composition-id]\");\n var declaredDuration = root ? Number(root.getAttribute(\"data-duration\")) : -1;\n var registry = (window.__hf && window.__hf.buildReady) || {};\n var keys = Object.keys(registry);\n // A microtask race mis-sorts a non-native thenable (extra adoption tick)\n // and rejects the whole expression on a rejected entry. Settling each\n // key onto its own record and waiting one macrotask avoids both.\n var settled = {};\n if (keys.length > 0) {\n keys.forEach(function(key) {\n Promise.resolve(registry[key]).then(\n function() { settled[key] = \"resolved\"; },\n function() { settled[key] = \"rejected\"; },\n );\n });\n await new Promise(function(r) { setTimeout(r, 0); });\n }\n // A thenable resolving via its own setTimeout(0) can still misreport as\n // pending here (macrotask registration order, not resolution order), a\n // narrow case that self-corrects on the next ~1s diagnostic tick.\n var pendingBuildReadyKeys = keys.filter(function(key) { return !settled[key]; });\n var rejectedBuildReadyKeys = keys.filter(function(key) { return settled[key] === \"rejected\"; });\n return {\n renderReady: renderReady,\n hasHf: !!hf,\n hasSeek: hasSeek,\n hasPlayer: !!player,\n duration: duration,\n hasTimeline: hasTimeline,\n declaredDuration: declaredDuration,\n pendingBuildReadyKeys: pendingBuildReadyKeys,\n rejectedBuildReadyKeys: rejectedBuildReadyKeys,\n };\n})()";
|
|
390
393
|
export interface HfDiagnostic {
|
|
391
394
|
renderReady: boolean;
|
|
392
395
|
hasHf: boolean;
|
|
@@ -399,6 +402,7 @@ export interface HfDiagnostic {
|
|
|
399
402
|
rejectedBuildReadyKeys: string[];
|
|
400
403
|
}
|
|
401
404
|
export declare function buildZeroDurationDiagnostic(diag: HfDiagnostic): string;
|
|
405
|
+
export declare function pollHfReady(page: Page, timeoutMs: number, intervalMs?: number): Promise<void>;
|
|
402
406
|
export declare function waitForSubCompositionTimelines(session: CaptureSession, page: Page, timeoutMs: number): Promise<void>;
|
|
403
407
|
export interface SubTimelinePollOptions {
|
|
404
408
|
intervalMs?: number;
|
|
@@ -752,4 +756,3 @@ export declare function computeDeVerifySampleFractions(k: number): number[];
|
|
|
752
756
|
*/
|
|
753
757
|
export declare function percentileOf(samples: number[], p: number): number;
|
|
754
758
|
export declare function getCapturePerfSummary(session: CaptureSession): CapturePerfSummary;
|
|
755
|
-
//# sourceMappingURL=frameCapture.d.ts.map
|