@remotion/renderer 4.0.537 → 4.0.539
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/aac-priming.d.ts +2 -1
- package/dist/assets/apply-tone-frequency.d.ts +2 -1
- package/dist/assets/apply-tone-frequency.js +8 -1
- package/dist/assets/calculate-asset-positions.js +2 -0
- package/dist/assets/convert-assets-to-file-urls.d.ts +2 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts +3 -2
- package/dist/assets/get-audio-channels.d.ts +3 -2
- package/dist/assets/inline-audio-mixing.d.ts +2 -1
- package/dist/assets/read-file.js +1 -2
- package/dist/assets/types.d.ts +2 -1
- package/dist/browser/Browser.d.ts +5 -5
- package/dist/browser/Browser.js +74 -65
- package/dist/browser/BrowserFetcher.d.ts +7 -5
- package/dist/browser/BrowserPage.d.ts +4 -4
- package/dist/browser/BrowserPage.js +222 -226
- package/dist/browser/BrowserRunner.d.ts +2 -1
- package/dist/browser/Connection.js +109 -96
- package/dist/browser/ConsoleMessage.d.ts +1 -1
- package/dist/browser/ConsoleMessage.js +16 -9
- package/dist/browser/DOMWorld.d.ts +1 -1
- package/dist/browser/DOMWorld.js +91 -77
- package/dist/browser/Errors.js +4 -2
- package/dist/browser/EventEmitter.js +1 -2
- package/dist/browser/ExecutionContext.js +120 -117
- package/dist/browser/FrameManager.js +244 -249
- package/dist/browser/HTTPRequest.js +22 -11
- package/dist/browser/HTTPResponse.js +16 -3
- package/dist/browser/JSHandle.js +30 -17
- package/dist/browser/LifecycleWatcher.js +128 -122
- package/dist/browser/NetworkEventManager.js +40 -31
- package/dist/browser/NetworkManager.js +203 -210
- package/dist/browser/NodeWebSocketTransport.js +0 -3
- package/dist/browser/Target.d.ts +1 -1
- package/dist/browser/Target.js +39 -32
- package/dist/browser/TaskQueue.js +18 -5
- package/dist/browser/TimeoutSettings.js +25 -12
- package/dist/browser/browser-download-progress-bar.d.ts +2 -1
- package/dist/browser/get-chrome-download-url.d.ts +3 -2
- package/dist/browser/handle-failed-resource.d.ts +2 -1
- package/dist/call-ffmpeg.d.ts +7 -6
- package/dist/can-concat-seamlessly.d.ts +4 -2
- package/dist/can-use-parallel-encoding.d.ts +2 -1
- package/dist/check-version-requirements.d.ts +2 -1
- package/dist/client.d.ts +302 -280
- package/dist/client.js +2 -2
- package/dist/codec-supports-media.d.ts +4 -3
- package/dist/codec.d.ts +1 -1
- package/dist/collect-assets.d.ts +1 -1
- package/dist/combine-audio.d.ts +4 -2
- package/dist/combine-chunks.d.ts +2 -1
- package/dist/combine-video-streams.d.ts +4 -2
- package/dist/compositor/compositor.d.ts +4 -3
- package/dist/compositor/get-executable-path.d.ts +4 -4
- package/dist/compress-audio.d.ts +4 -2
- package/dist/create-audio.d.ts +4 -2
- package/dist/create-silent-audio.d.ts +2 -1
- package/dist/crf.d.ts +6 -4
- package/dist/cycle-browser-tabs.d.ts +2 -1
- package/dist/ensure-browser.d.ts +1 -52
- package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
- package/dist/error-handling/handle-javascript-exception.js +0 -5
- package/dist/error-handling/symbolicateable-error.d.ts +1 -1
- package/dist/error-handling/symbolicateable-error.js +0 -4
- package/dist/error-handling.js +1 -1
- package/dist/esm/client.mjs +329 -242
- package/dist/esm/index.mjs +129 -110
- package/dist/extract-audio.d.ts +3 -2
- package/dist/ffmpeg-args.d.ts +12 -6
- package/dist/finalize-fast-start.d.ts +2 -1
- package/dist/get-browser-instance.d.ts +6 -4
- package/dist/get-codec-name.d.ts +6 -3
- package/dist/get-compositions.d.ts +2 -1
- package/dist/get-concurrency.d.ts +1 -1
- package/dist/get-concurrency.js +1 -1
- package/dist/get-duration-from-frame-range.d.ts +1 -1
- package/dist/get-extension-from-codec.d.ts +2 -1
- package/dist/get-frame-padded-index.d.ts +2 -1
- package/dist/get-local-browser-executable.d.ts +4 -2
- package/dist/get-port.d.ts +1 -1
- package/dist/get-prores-profile-name.d.ts +3 -1
- package/dist/get-silent-parts.d.ts +5 -4
- package/dist/get-video-metadata.d.ts +4 -3
- package/dist/get-video-threads-flag.d.ts +2 -1
- package/dist/goto-page-or-throw.d.ts +1 -1
- package/dist/guess-extension-for-media.d.ts +2 -1
- package/dist/image-format.d.ts +6 -5
- package/dist/index.d.ts +213 -440
- package/dist/index.js +18 -18
- package/dist/is-audio-codec.d.ts +2 -1
- package/dist/log-level.d.ts +2 -2
- package/dist/logger.d.ts +6 -6
- package/dist/make-page.d.ts +5 -3
- package/dist/memory/from-macos-sysctl.d.ts +2 -1
- package/dist/memory/from-proc-meminfo.d.ts +2 -1
- package/dist/memory/get-available-memory.d.ts +2 -1
- package/dist/merge-audio-track.d.ts +1 -1
- package/dist/merge-audio-track.js +24 -23
- package/dist/merge-inline-audio-tracks.d.ts +2 -1
- package/dist/mux-video-and-audio.d.ts +5 -3
- package/dist/offthread-video-server.d.ts +2 -1
- package/dist/offthread-video-server.js +6 -4
- package/dist/open-browser.d.ts +2 -2
- package/dist/options/allow-html-in-canvas.js +1 -2
- package/dist/options/api-key.d.ts +1 -1
- package/dist/options/api-key.js +1 -3
- package/dist/options/ask-ai.js +1 -1
- package/dist/options/audio-bitrate.js +1 -9
- package/dist/options/audio-codec.d.ts +23 -20
- package/dist/options/beep-on-finish.js +1 -1
- package/dist/options/benchmark-concurrencies.js +1 -2
- package/dist/options/binaries-directory.d.ts +1 -1
- package/dist/options/binaries-directory.js +1 -9
- package/dist/options/browser-executable.d.ts +1 -1
- package/dist/options/browser-executable.js +1 -1
- package/dist/options/browser.js +1 -2
- package/dist/options/bundle-cache.js +1 -2
- package/dist/options/canvas-tabs.js +1 -1
- package/dist/options/chrome-mode.d.ts +4 -4
- package/dist/options/chrome-mode.js +1 -6
- package/dist/options/color-space.d.ts +9 -5
- package/dist/options/color-space.js +1 -8
- package/dist/options/concurrency.d.ts +1 -1
- package/dist/options/concurrency.js +1 -5
- package/dist/options/config.js +1 -1
- package/dist/options/crf.js +1 -1
- package/dist/options/cross-site-isolation.js +1 -2
- package/dist/options/dark-mode.js +1 -2
- package/dist/options/default-coding-agent.d.ts +2 -2
- package/dist/options/default-coding-agent.js +1 -2
- package/dist/options/default-editor.d.ts +4 -4
- package/dist/options/default-editor.js +1 -3
- package/dist/options/default-premount-in-seconds.js +1 -1
- package/dist/options/delete-after.d.ts +1 -1
- package/dist/options/delete-after.js +1 -11
- package/dist/options/disable-shared-memory-capture.js +1 -3
- package/dist/options/disable-web-security.d.ts +1 -1
- package/dist/options/disable-web-security.js +1 -1
- package/dist/options/disallow-parallel-encoding.js +1 -1
- package/dist/options/enable-cancellation.js +1 -2
- package/dist/options/enable-lambda-insights.js +1 -2
- package/dist/options/enable-multiprocess-on-linux.js +1 -13
- package/dist/options/encoding-buffer-size.d.ts +4 -2
- package/dist/options/encoding-buffer-size.js +1 -3
- package/dist/options/encoding-max-rate.d.ts +1 -1
- package/dist/options/encoding-max-rate.js +1 -3
- package/dist/options/enforce-audio.js +1 -15
- package/dist/options/env-file.js +1 -3
- package/dist/options/every-nth-frame.d.ts +1 -1
- package/dist/options/every-nth-frame.js +1 -6
- package/dist/options/experimental-client-side-rendering.d.ts +16 -0
- package/dist/options/experimental-client-side-rendering.js +30 -0
- package/dist/options/experimental-keep-audio-context-alive.js +1 -3
- package/dist/options/folder-expiry.d.ts +1 -1
- package/dist/options/folder-expiry.js +1 -4
- package/dist/options/for-seamless-aac-concatenation.js +1 -3
- package/dist/options/force-new-studio.js +1 -1
- package/dist/options/frames.d.ts +1 -1
- package/dist/options/frames.js +1 -4
- package/dist/options/gl.d.ts +6 -6
- package/dist/options/gl.js +3 -28
- package/dist/options/gop-size.js +1 -3
- package/dist/options/hardware-acceleration.d.ts +3 -3
- package/dist/options/headless.js +1 -1
- package/dist/options/ignore-certificate-errors.d.ts +1 -1
- package/dist/options/ignore-certificate-errors.js +1 -1
- package/dist/options/image-sequence-pattern.js +1 -5
- package/dist/options/image-sequence.js +1 -1
- package/dist/options/index.d.ts +91 -72
- package/dist/options/index.js +2 -0
- package/dist/options/interactivity.js +1 -1
- package/dist/options/ipv4.js +1 -1
- package/dist/options/is-production.d.ts +1 -1
- package/dist/options/is-production.js +1 -4
- package/dist/options/jpeg-quality.d.ts +1 -1
- package/dist/options/jpeg-quality.js +1 -4
- package/dist/options/keyboard-shortcuts.js +1 -1
- package/dist/options/latency-hint.d.ts +1 -1
- package/dist/options/latency-hint.js +1 -10
- package/dist/options/license-key.d.ts +1 -1
- package/dist/options/license-key.js +1 -2
- package/dist/options/log-level.d.ts +4 -3
- package/dist/options/log-level.js +1 -16
- package/dist/options/metadata.js +2 -7
- package/dist/options/mute.js +1 -1
- package/dist/options/no-open.js +1 -1
- package/dist/options/number-of-gif-loops.d.ts +1 -1
- package/dist/options/number-of-gif-loops.js +1 -13
- package/dist/options/number-of-shared-audio-tags.js +1 -1
- package/dist/options/offthreadvideo-cache-size.d.ts +1 -1
- package/dist/options/offthreadvideo-cache-size.js +1 -11
- package/dist/options/offthreadvideo-threads.d.ts +1 -1
- package/dist/options/offthreadvideo-threads.js +1 -2
- package/dist/options/on-browser-download.d.ts +1 -1
- package/dist/options/on-browser-download.js +1 -2
- package/dist/options/options-map.d.ts +180 -180
- package/dist/options/out-dir.d.ts +1 -1
- package/dist/options/out-dir.js +1 -4
- package/dist/options/override-duration.js +1 -1
- package/dist/options/override-fps.js +1 -1
- package/dist/options/override-height.js +1 -1
- package/dist/options/override-width.js +1 -1
- package/dist/options/overwrite.js +1 -5
- package/dist/options/package-manager.d.ts +1 -1
- package/dist/options/package-manager.js +1 -12
- package/dist/options/pixel-format.d.ts +6 -5
- package/dist/options/pixel-format.js +1 -2
- package/dist/options/port.js +1 -1
- package/dist/options/prefer-lossless.d.ts +1 -1
- package/dist/options/prefer-lossless.js +1 -4
- package/dist/options/preserve-pitch-on-playback.d.ts +19 -0
- package/dist/options/preserve-pitch-on-playback.js +36 -0
- package/dist/options/preview-sample-rate.js +1 -3
- package/dist/options/props.js +1 -5
- package/dist/options/prores-profile.d.ts +2 -2
- package/dist/options/prores-profile.js +1 -5
- package/dist/options/public-dir.d.ts +1 -1
- package/dist/options/public-dir.js +1 -2
- package/dist/options/public-license-key.d.ts +1 -1
- package/dist/options/public-license-key.js +1 -3
- package/dist/options/public-path.d.ts +1 -1
- package/dist/options/public-path.js +1 -5
- package/dist/options/repro.d.ts +3 -1
- package/dist/options/repro.js +1 -1
- package/dist/options/rspack.js +1 -1
- package/dist/options/runs.js +1 -3
- package/dist/options/sample-rate.d.ts +2 -2
- package/dist/options/sample-rate.js +1 -2
- package/dist/options/scale.js +1 -5
- package/dist/options/sequence-activity-limit.js +1 -4
- package/dist/options/show-layer-frame-numbers.js +1 -3
- package/dist/options/show-premounting.js +1 -2
- package/dist/options/skip-skills.js +1 -1
- package/dist/options/still-frame.d.ts +1 -1
- package/dist/options/still-frame.js +1 -3
- package/dist/options/still-image-format.d.ts +3 -2
- package/dist/options/still-image-format.js +1 -2
- package/dist/options/timeout.d.ts +1 -1
- package/dist/options/timeout.js +1 -4
- package/dist/options/user-agent.d.ts +1 -1
- package/dist/options/user-agent.js +1 -1
- package/dist/options/version-flag.js +1 -1
- package/dist/options/video-bitrate.js +1 -7
- package/dist/options/video-cache-size.d.ts +1 -1
- package/dist/options/video-cache-size.js +1 -7
- package/dist/options/video-codec.d.ts +9 -7
- package/dist/options/video-codec.js +1 -1
- package/dist/options/video-image-format.d.ts +6 -5
- package/dist/options/video-image-format.js +1 -6
- package/dist/options/webhook-custom-data.d.ts +1 -1
- package/dist/options/webhook-custom-data.js +1 -1
- package/dist/options/webpack-poll.js +1 -1
- package/dist/options/x264-preset.d.ts +8 -7
- package/dist/options/x264-preset.js +1 -23
- package/dist/p-limit.d.ts +1 -1
- package/dist/pixel-format.d.ts +4 -3
- package/dist/pool.js +0 -2
- package/dist/port-config.d.ts +6 -5
- package/dist/prespawn-ffmpeg.d.ts +1 -1
- package/dist/prestitcher-memory-usage.d.ts +13 -0
- package/dist/prestitcher-memory-usage.js +33 -0
- package/dist/print-useful-error-message.d.ts +2 -1
- package/dist/probe-encoder.d.ts +8 -5
- package/dist/probe-shared-memory-capture.d.ts +4 -2
- package/dist/prores-profile.d.ts +4 -2
- package/dist/puppeteer-evaluate.d.ts +2 -2
- package/dist/puppeteer-screenshot.d.ts +4 -3
- package/dist/pure.d.ts +12 -15
- package/dist/remotion-shared-memory.d.ts +1 -1
- package/dist/remotion-shared-memory.js +199 -187
- package/dist/render-frame-and-retry-target-close.d.ts +10 -10
- package/dist/render-frame-with-option-to-reject.d.ts +7 -5
- package/dist/render-frame-with-option-to-reject.js +1 -5
- package/dist/render-frame.d.ts +8 -6
- package/dist/render-frames.d.ts +1 -40
- package/dist/render-has-audio.d.ts +3 -2
- package/dist/render-partitions.d.ts +7 -0
- package/dist/render-partitions.js +50 -0
- package/dist/replace-browser.d.ts +2 -1
- package/dist/repro.d.ts +1 -1
- package/dist/screenshot-task.d.ts +4 -3
- package/dist/seek-to-frame.d.ts +3 -2
- package/dist/select-composition.d.ts +1 -20
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/range-parser.d.ts +2 -2
- package/dist/serve-handler/range-parser.js +1 -1
- package/dist/serve-static.d.ts +2 -1
- package/dist/serve-static.js +4 -1
- package/dist/set-props-and-env.js +2 -6
- package/dist/stringify-ffmpeg-filter.d.ts +2 -1
- package/dist/stringify-ffmpeg-filter.js +20 -2
- package/dist/take-frame.d.ts +1 -1
- package/dist/test-gpu.d.ts +4 -2
- package/dist/validate-even-dimensions-with-codec.d.ts +4 -2
- package/dist/validate-ffmpeg-override.d.ts +1 -1
- package/dist/validate-number-of-gif-loops.d.ts +2 -1
- package/dist/validate-output-filename.d.ts +4 -2
- package/package.json +16 -16
package/dist/render-frames.d.ts
CHANGED
|
@@ -106,44 +106,5 @@ export type RenderFramesOptions = Prettify<{
|
|
|
106
106
|
serveUrl: string;
|
|
107
107
|
} & Partial<ToOptions<typeof optionsMap.renderFrames>>>;
|
|
108
108
|
export declare const internalRenderFrames: (args_0: InternalRenderFramesOptions) => Promise<RenderFramesOutput>;
|
|
109
|
-
export declare const renderFrames: (options:
|
|
110
|
-
readonly mediaCacheSizeInBytes?: number | null | undefined;
|
|
111
|
-
readonly forSeamlessAacConcatenation?: boolean | undefined;
|
|
112
|
-
readonly offthreadVideoCacheSizeInBytes?: number | null | undefined;
|
|
113
|
-
readonly offthreadVideoThreads?: number | null | undefined;
|
|
114
|
-
readonly jpegQuality?: number | undefined;
|
|
115
|
-
readonly logLevel?: "error" | "info" | "trace" | "verbose" | "warn" | undefined;
|
|
116
|
-
readonly binariesDirectory?: string | null | undefined;
|
|
117
|
-
readonly onBrowserDownload?: import(".").OnBrowserDownload | undefined;
|
|
118
|
-
readonly chromeMode?: "chrome-for-testing" | "headless-shell" | undefined;
|
|
119
|
-
readonly imageSequencePattern?: string | null | undefined;
|
|
120
|
-
readonly sampleRate?: number | undefined;
|
|
121
|
-
onStart: (data: OnStartData) => void;
|
|
122
|
-
onFrameUpdate: (framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void;
|
|
123
|
-
outputDir: string | null;
|
|
124
|
-
inputProps: Record<string, unknown>;
|
|
125
|
-
envVariables?: Record<string, string> | undefined;
|
|
126
|
-
imageFormat?: "jpeg" | "none" | "png" | undefined;
|
|
127
|
-
quality?: undefined;
|
|
128
|
-
frameRange?: FrameRange | null | undefined;
|
|
129
|
-
frames?: number[] | undefined;
|
|
130
|
-
everyNthFrame?: number | undefined;
|
|
131
|
-
dumpBrowserLogs?: boolean | undefined;
|
|
132
|
-
verbose?: boolean | undefined;
|
|
133
|
-
puppeteerInstance?: HeadlessBrowser | undefined;
|
|
134
|
-
browserExecutable?: BrowserExecutable | undefined;
|
|
135
|
-
onBrowserLog?: ((log: BrowserLog) => void) | undefined;
|
|
136
|
-
onFrameBuffer?: ((buffer: Buffer, frame: number) => void | Promise<void>) | undefined;
|
|
137
|
-
onDownload?: RenderMediaOnDownload | undefined;
|
|
138
|
-
timeoutInMilliseconds?: number | undefined;
|
|
139
|
-
chromiumOptions?: ChromiumOptions | undefined;
|
|
140
|
-
scale?: number | undefined;
|
|
141
|
-
port?: number | null | undefined;
|
|
142
|
-
cancelSignal?: CancelSignal | undefined;
|
|
143
|
-
composition: VideoConfig;
|
|
144
|
-
muted?: boolean | undefined;
|
|
145
|
-
concurrency?: string | number | null | undefined;
|
|
146
|
-
onArtifact?: OnArtifact | null | undefined;
|
|
147
|
-
serveUrl: string;
|
|
148
|
-
}) => Promise<RenderFramesOutput>;
|
|
109
|
+
export declare const renderFrames: (options: RenderFramesOptions) => Promise<RenderFramesOutput>;
|
|
149
110
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { RenderAssetInfo } from './assets/download-map';
|
|
2
|
+
import type { Codec } from './codec';
|
|
2
3
|
export declare const getShouldRenderAudio: ({ codec, assetsInfo, enforceAudioTrack, muted, }: {
|
|
3
|
-
codec:
|
|
4
|
+
codec: Codec;
|
|
4
5
|
assetsInfo: RenderAssetInfo | null;
|
|
5
6
|
enforceAudioTrack: boolean;
|
|
6
7
|
muted: boolean;
|
|
7
|
-
}) =>
|
|
8
|
+
}) => 'yes' | 'maybe' | 'no';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderPartitions = void 0;
|
|
4
|
+
const renderPartitions = ({ frames, concurrency, }) => {
|
|
5
|
+
const partitions = [];
|
|
6
|
+
let start = 0;
|
|
7
|
+
for (let i = 0; i < concurrency; i++) {
|
|
8
|
+
const end = start + Math.ceil((frames.length - start) / (concurrency - i));
|
|
9
|
+
partitions.push(frames.slice(start, end));
|
|
10
|
+
start = end;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
partitions,
|
|
14
|
+
getNextFrame: (pageIndex) => {
|
|
15
|
+
if (partitions[pageIndex].length === 0) {
|
|
16
|
+
const partitionLengths = partitions.map((p) => p.length);
|
|
17
|
+
if (partitionLengths.every((p) => p === 0)) {
|
|
18
|
+
throw new Error('No more frames to render');
|
|
19
|
+
}
|
|
20
|
+
let longestRemainingPartitionIndex = -1;
|
|
21
|
+
for (let i = 0; i < partitions.length; i++) {
|
|
22
|
+
if (longestRemainingPartitionIndex === -1) {
|
|
23
|
+
longestRemainingPartitionIndex = i;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (partitions[i].length >
|
|
27
|
+
partitions[longestRemainingPartitionIndex].length) {
|
|
28
|
+
longestRemainingPartitionIndex = i;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (longestRemainingPartitionIndex === -1) {
|
|
32
|
+
throw new Error('No more frames to render');
|
|
33
|
+
}
|
|
34
|
+
// Round up - let's say only one frame is left to render, we should take this one
|
|
35
|
+
const slicePoint = Math.ceil(partitions[longestRemainingPartitionIndex].length / 2) -
|
|
36
|
+
// but don't forget it's zero indexed :)
|
|
37
|
+
1;
|
|
38
|
+
partitions[pageIndex] =
|
|
39
|
+
partitions[longestRemainingPartitionIndex].slice(slicePoint);
|
|
40
|
+
partitions[longestRemainingPartitionIndex] = partitions[longestRemainingPartitionIndex].slice(0, slicePoint);
|
|
41
|
+
}
|
|
42
|
+
const value = partitions[pageIndex].shift();
|
|
43
|
+
if (value === undefined) {
|
|
44
|
+
throw new Error('No more frames to render');
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
exports.renderPartitions = renderPartitions;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HeadlessBrowser } from './browser/Browser';
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
2
3
|
export type BrowserReplacer = {
|
|
3
4
|
getBrowser: () => HeadlessBrowser;
|
|
4
5
|
replaceBrowser: (make: () => Promise<HeadlessBrowser>, makeNewPages: () => Promise<void>) => Promise<HeadlessBrowser>;
|
|
5
6
|
};
|
|
6
|
-
export declare const handleBrowserCrash: (instance: HeadlessBrowser, logLevel:
|
|
7
|
+
export declare const handleBrowserCrash: (instance: HeadlessBrowser, logLevel: LogLevel, indent: boolean) => BrowserReplacer;
|
package/dist/repro.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ type ReproWriter = {
|
|
|
13
13
|
}) => Promise<void>;
|
|
14
14
|
};
|
|
15
15
|
export declare const getReproWriter: () => ReproWriter;
|
|
16
|
-
export declare const writeInRepro: (level: string,
|
|
16
|
+
export declare const writeInRepro: (level: string, ...args: Parameters<typeof console.log>) => void;
|
|
17
17
|
export declare const enableRepro: ({ serveUrl, compositionName, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, }: {
|
|
18
18
|
serveUrl: string;
|
|
19
19
|
compositionName: string;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Page } from './browser/BrowserPage';
|
|
2
|
+
import type { StillImageFormat } from './image-format';
|
|
2
3
|
import type { CapturedFrame, RemotionSharedMemoryCapture } from './remotion-shared-memory';
|
|
3
4
|
export declare const screenshotTask: ({ format, height, omitBackground, page, width, path, jpegQuality, scale, remotionSharedMemory, }: {
|
|
4
5
|
page: Page;
|
|
5
|
-
format:
|
|
6
|
-
path?: string
|
|
7
|
-
jpegQuality?: number
|
|
6
|
+
format: StillImageFormat;
|
|
7
|
+
path?: string;
|
|
8
|
+
jpegQuality?: number;
|
|
8
9
|
omitBackground: boolean;
|
|
9
10
|
width: number;
|
|
10
11
|
height: number;
|
package/dist/seek-to-frame.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import type { Page } from './browser/BrowserPage';
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
2
3
|
export declare const waitForReady: ({ page, timeoutInMilliseconds, frame, indent, logLevel, }: {
|
|
3
4
|
page: Page;
|
|
4
5
|
timeoutInMilliseconds: number;
|
|
5
6
|
frame: number | null;
|
|
6
7
|
indent: boolean;
|
|
7
|
-
logLevel:
|
|
8
|
+
logLevel: LogLevel;
|
|
8
9
|
}) => Promise<unknown>;
|
|
9
10
|
export declare const seekToFrame: ({ frame, page, composition, timeoutInMilliseconds, logLevel, indent, attempt, }: {
|
|
10
11
|
frame: number;
|
|
11
12
|
composition: string;
|
|
12
13
|
page: Page;
|
|
13
14
|
timeoutInMilliseconds: number;
|
|
14
|
-
logLevel:
|
|
15
|
+
logLevel: LogLevel;
|
|
15
16
|
indent: boolean;
|
|
16
17
|
attempt: number;
|
|
17
18
|
}) => Promise<void>;
|
|
@@ -44,24 +44,5 @@ type InternalReturnType = {
|
|
|
44
44
|
};
|
|
45
45
|
export declare const internalSelectCompositionRaw: (options: InternalSelectCompositionsConfig) => Promise<InternalReturnType>;
|
|
46
46
|
export declare const internalSelectComposition: (options: InternalSelectCompositionsConfig) => Promise<InternalReturnType>;
|
|
47
|
-
export declare const selectComposition: (options:
|
|
48
|
-
readonly mediaCacheSizeInBytes?: number | null | undefined;
|
|
49
|
-
readonly offthreadVideoCacheSizeInBytes?: number | null | undefined;
|
|
50
|
-
readonly offthreadVideoThreads?: number | null | undefined;
|
|
51
|
-
readonly logLevel?: "error" | "info" | "trace" | "verbose" | "warn" | undefined;
|
|
52
|
-
readonly timeoutInMilliseconds?: number | undefined;
|
|
53
|
-
readonly binariesDirectory?: string | null | undefined;
|
|
54
|
-
readonly onBrowserDownload?: import(".").OnBrowserDownload | undefined;
|
|
55
|
-
readonly chromeMode?: "chrome-for-testing" | "headless-shell" | undefined;
|
|
56
|
-
inputProps?: Record<string, unknown> | undefined;
|
|
57
|
-
envVariables?: Record<string, string> | undefined;
|
|
58
|
-
puppeteerInstance?: HeadlessBrowser | undefined;
|
|
59
|
-
onBrowserLog?: ((log: BrowserLog) => void) | undefined;
|
|
60
|
-
browserExecutable?: BrowserExecutable | undefined;
|
|
61
|
-
chromiumOptions?: ChromiumOptions | undefined;
|
|
62
|
-
port?: number | null | undefined;
|
|
63
|
-
verbose?: boolean | undefined;
|
|
64
|
-
serveUrl: string;
|
|
65
|
-
id: string;
|
|
66
|
-
}) => Promise<VideoConfig>;
|
|
47
|
+
export declare const selectComposition: (options: SelectCompositionOptions) => Promise<VideoConfig>;
|
|
67
48
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
export declare const serveHandler: (request: IncomingMessage, response: ServerResponse
|
|
2
|
+
export declare const serveHandler: (request: IncomingMessage, response: ServerResponse, config: {
|
|
3
3
|
public: string;
|
|
4
4
|
}) => Promise<void>;
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Copyright(c) 2015-2016 Douglas Christopher Wilson
|
|
5
5
|
* MIT Licensed
|
|
6
6
|
*/
|
|
7
|
-
export declare const rangeParser: (size: number, str: string) =>
|
|
7
|
+
export declare const rangeParser: (size: number, str: string) => {
|
|
8
8
|
type: string;
|
|
9
9
|
ranges: {
|
|
10
10
|
start: number;
|
|
11
11
|
end: number;
|
|
12
12
|
}[];
|
|
13
|
-
};
|
|
13
|
+
} | -1 | -2;
|
package/dist/serve-static.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { DownloadMap } from './assets/download-map';
|
|
2
2
|
import type { Compositor } from './compositor/compositor';
|
|
3
|
+
import type { LogLevel } from './log-level';
|
|
3
4
|
export declare const serveStatic: (path: string | null, options: {
|
|
4
5
|
port: number | null;
|
|
5
6
|
downloadMap: DownloadMap;
|
|
6
7
|
remotionRoot: string;
|
|
7
8
|
offthreadVideoThreads: number;
|
|
8
|
-
logLevel:
|
|
9
|
+
logLevel: LogLevel;
|
|
9
10
|
indent: boolean;
|
|
10
11
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
11
12
|
binariesDirectory: string | null;
|
package/dist/serve-static.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.serveStatic = void 0;
|
|
|
7
7
|
const node_http_1 = __importDefault(require("node:http"));
|
|
8
8
|
const get_port_1 = require("./get-port");
|
|
9
9
|
const offthread_video_server_1 = require("./offthread-video-server");
|
|
10
|
+
const port_config_1 = require("./port-config");
|
|
10
11
|
const serve_handler_1 = require("./serve-handler");
|
|
11
12
|
const serveStatic = async (path, options) => {
|
|
12
13
|
const { listener: offthreadRequest, close: closeCompositor, compositor, } = (0, offthread_video_server_1.startOffthreadVideoServer)({
|
|
@@ -55,6 +56,8 @@ const serveStatic = async (path, options) => {
|
|
|
55
56
|
const maxTries = 10;
|
|
56
57
|
// Rendering only needs local access, unlike the Studio server.
|
|
57
58
|
const host = '127.0.0.1';
|
|
59
|
+
// URLs use localhost, which can resolve to another supported address family.
|
|
60
|
+
const { hostsToTry } = (0, port_config_1.getPortConfig)(options.forceIPv4);
|
|
58
61
|
for (let i = 0; i < maxTries; i++) {
|
|
59
62
|
let unlock = () => { };
|
|
60
63
|
try {
|
|
@@ -64,7 +67,7 @@ const serveStatic = async (path, options) => {
|
|
|
64
67
|
desiredPort: (_a = options === null || options === void 0 ? void 0 : options.port) !== null && _a !== void 0 ? _a : undefined,
|
|
65
68
|
from: 3000,
|
|
66
69
|
to: 3100,
|
|
67
|
-
hostsToTry
|
|
70
|
+
hostsToTry,
|
|
68
71
|
})
|
|
69
72
|
.then(({ port, unlockPort }) => {
|
|
70
73
|
unlock = unlockPort;
|
|
@@ -16,9 +16,7 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
|
|
|
16
16
|
page.setDefaultTimeout(actualTimeout);
|
|
17
17
|
page.setDefaultNavigationTimeout(actualTimeout);
|
|
18
18
|
const urlToVisit = (0, normalize_serve_url_1.normalizeServeUrl)(serveUrl);
|
|
19
|
-
await page.evaluateOnNewDocument((timeout, mainTab, cacheSizeInBytes, initMemoryAvailable, sRate
|
|
20
|
-
// eslint-disable-next-line max-params
|
|
21
|
-
) => {
|
|
19
|
+
await page.evaluateOnNewDocument((timeout, mainTab, cacheSizeInBytes, initMemoryAvailable, sRate) => {
|
|
22
20
|
window.remotion_puppeteerTimeout = timeout;
|
|
23
21
|
window.remotion_isMainTab = mainTab;
|
|
24
22
|
window.remotion_mediaCacheSizeInBytes = cacheSizeInBytes;
|
|
@@ -43,9 +41,7 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
|
|
|
43
41
|
if (darkMode) {
|
|
44
42
|
await page.setAutoDarkModeOverride();
|
|
45
43
|
}
|
|
46
|
-
await page.evaluateOnNewDocument((input, key, port, audEnabled, vidEnabled, level
|
|
47
|
-
// eslint-disable-next-line max-params
|
|
48
|
-
) => {
|
|
44
|
+
await page.evaluateOnNewDocument((input, key, port, audEnabled, vidEnabled, level) => {
|
|
49
45
|
window.remotion_inputProps = input;
|
|
50
46
|
window.remotion_initialFrame = key;
|
|
51
47
|
window.remotion_attempt = 1;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AssetVolume, MediaAsset } from './assets/types';
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
2
3
|
export type FilterWithoutPaddingApplied = ProcessedTrack & {
|
|
3
4
|
filter: string | null;
|
|
4
5
|
actualTrimLeft: number;
|
|
@@ -18,7 +19,7 @@ export declare const stringifyFfmpegFilter: ({ channels, volume, fps, assetDurat
|
|
|
18
19
|
trimRightOffset: number;
|
|
19
20
|
asset: MediaAsset;
|
|
20
21
|
indent: boolean;
|
|
21
|
-
logLevel:
|
|
22
|
+
logLevel: LogLevel;
|
|
22
23
|
presentationTimeOffsetInSeconds: number;
|
|
23
24
|
sampleRate: number;
|
|
24
25
|
}) => FilterWithoutPaddingApplied | null;
|
|
@@ -24,7 +24,20 @@ const stringifyTrim = (trim) => {
|
|
|
24
24
|
}
|
|
25
25
|
return asString;
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
// When `preservePitch` is disabled, the speed change must not go through
|
|
28
|
+
// `atempo` (which keeps the pitch). Changing the sample rate and then
|
|
29
|
+
// resampling back to the target rate speeds up or slows down playback
|
|
30
|
+
// while letting the pitch shift along with it (tape / chipmunk effect).
|
|
31
|
+
const calculateSpeedChangeFilter = ({ playbackRate, preservePitch, sampleRate, }) => {
|
|
32
|
+
if (playbackRate === 1) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
if (preservePitch) {
|
|
36
|
+
return (0, calculate_atempo_1.calculateATempo)(playbackRate);
|
|
37
|
+
}
|
|
38
|
+
return `asetrate=${sampleRate}*${playbackRate},aresample=${sampleRate}`;
|
|
39
|
+
};
|
|
40
|
+
const trimAndSetTempo = ({ assetDuration, asset, trimLeftOffset, trimRightOffset, fps, indent, logLevel, sampleRate, }) => {
|
|
28
41
|
// We need to apply the tempo filter first
|
|
29
42
|
// because the atempo filter is not frame-perfect.
|
|
30
43
|
// It creates a small offset and the offset needs to be the same for all audio tracks, before processing it further.
|
|
@@ -54,7 +67,11 @@ const trimAndSetTempo = ({ assetDuration, asset, trimLeftOffset, trimRightOffset
|
|
|
54
67
|
}
|
|
55
68
|
return {
|
|
56
69
|
filter: [
|
|
57
|
-
(
|
|
70
|
+
calculateSpeedChangeFilter({
|
|
71
|
+
playbackRate: asset.playbackRate,
|
|
72
|
+
preservePitch: asset.preservePitch,
|
|
73
|
+
sampleRate,
|
|
74
|
+
}),
|
|
58
75
|
`atrim=${stringifyTrim(trimLeft)}:${stringifyTrim(trimRightOrAssetDuration)}`,
|
|
59
76
|
],
|
|
60
77
|
actualTrimLeft: trimLeft,
|
|
@@ -94,6 +111,7 @@ const stringifyFfmpegFilter = ({ channels, volume, fps, assetDuration, chunkLeng
|
|
|
94
111
|
fps,
|
|
95
112
|
indent,
|
|
96
113
|
logLevel,
|
|
114
|
+
sampleRate,
|
|
97
115
|
});
|
|
98
116
|
const volumeFilter = (0, ffmpeg_volume_expression_1.ffmpegVolumeExpression)({
|
|
99
117
|
volume,
|
package/dist/take-frame.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ type TakeFrameOptions = {
|
|
|
14
14
|
remotionSharedMemory: RemotionSharedMemoryCapture | null;
|
|
15
15
|
};
|
|
16
16
|
type TakeFrameResult<T extends RemotionSharedMemoryCapture | null> = T extends null ? Buffer | null : CapturedFrame | null;
|
|
17
|
-
export declare const takeFrame: <T extends RemotionSharedMemoryCapture | null>({ freePage, imageFormat, jpegQuality, width, height, output, scale, wantsBuffer, timeoutInMilliseconds, remotionSharedMemory, }: Omit<TakeFrameOptions,
|
|
17
|
+
export declare const takeFrame: <T extends RemotionSharedMemoryCapture | null>({ freePage, imageFormat, jpegQuality, width, height, output, scale, wantsBuffer, timeoutInMilliseconds, remotionSharedMemory, }: Omit<TakeFrameOptions, 'remotionSharedMemory'> & {
|
|
18
18
|
remotionSharedMemory: T;
|
|
19
19
|
}) => Promise<TakeFrameResult<T>>;
|
|
20
20
|
export {};
|
package/dist/test-gpu.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { BrowserExecutable } from './browser-executable';
|
|
2
2
|
import type { OnLog } from './browser/BrowserPage';
|
|
3
|
+
import type { LogLevel } from './log-level';
|
|
3
4
|
import type { ChromiumOptions } from './open-browser';
|
|
5
|
+
import type { ChromeMode } from './options/chrome-mode';
|
|
4
6
|
import type { OnBrowserDownload } from './options/on-browser-download';
|
|
5
7
|
type Item = {
|
|
6
8
|
feature: string;
|
|
@@ -9,11 +11,11 @@ type Item = {
|
|
|
9
11
|
export declare const getChromiumGpuInformation: ({ browserExecutable, indent, logLevel, chromiumOptions, timeoutInMilliseconds, onBrowserDownload, chromeMode, onLog, }: {
|
|
10
12
|
browserExecutable: BrowserExecutable;
|
|
11
13
|
indent: boolean;
|
|
12
|
-
logLevel:
|
|
14
|
+
logLevel: LogLevel;
|
|
13
15
|
chromiumOptions: ChromiumOptions;
|
|
14
16
|
timeoutInMilliseconds: number;
|
|
15
17
|
onBrowserDownload: OnBrowserDownload;
|
|
16
|
-
chromeMode:
|
|
18
|
+
chromeMode: ChromeMode;
|
|
17
19
|
onLog: OnLog;
|
|
18
20
|
}) => Promise<Item[]>;
|
|
19
21
|
export {};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
1
3
|
export declare const validateEvenDimensionsWithCodec: ({ width, height, codec, scale, wantsImageSequence, indent, logLevel, }: {
|
|
2
4
|
width: number;
|
|
3
5
|
height: number;
|
|
4
6
|
scale: number;
|
|
5
|
-
codec:
|
|
7
|
+
codec: Codec;
|
|
6
8
|
wantsImageSequence: boolean;
|
|
7
9
|
indent: boolean;
|
|
8
|
-
logLevel:
|
|
10
|
+
logLevel: LogLevel;
|
|
9
11
|
}) => {
|
|
10
12
|
actualWidth: number;
|
|
11
13
|
actualHeight: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { FfmpegOverrideFn } from './ffmpeg-override';
|
|
2
|
-
export declare const validateFfmpegOverride: (ffmpegArgsHook?: FfmpegOverrideFn
|
|
2
|
+
export declare const validateFfmpegOverride: (ffmpegArgsHook?: FfmpegOverrideFn) => void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
|
+
export declare const validateNumberOfGifLoops: (numberOfGifLoops: unknown, codec: Codec) => void;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
|
+
import type { AudioCodec } from './options/audio-codec';
|
|
3
|
+
export declare const validateOutputFilename: <T extends Codec>({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
2
4
|
codec: T;
|
|
3
|
-
audioCodecSetting:
|
|
5
|
+
audioCodecSetting: AudioCodec | null;
|
|
4
6
|
extension: string | null;
|
|
5
7
|
preferLossless: boolean;
|
|
6
8
|
separateAudioTo: string | null;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.539",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"format": "oxfmt src",
|
|
13
13
|
"lint": "eslint src",
|
|
14
14
|
"test": "bun test src",
|
|
15
|
-
"watch": "
|
|
16
|
-
"make": "
|
|
15
|
+
"watch": "tsc -w",
|
|
16
|
+
"make": "tsc -d && bun --env-file=../.env.bundle bundle.ts"
|
|
17
17
|
},
|
|
18
18
|
"author": "Jonny Burger <jonny@remotion.dev>",
|
|
19
19
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"execa": "5.1.1",
|
|
25
|
-
"remotion": "4.0.
|
|
26
|
-
"@remotion/streaming": "4.0.
|
|
25
|
+
"remotion": "4.0.539",
|
|
26
|
+
"@remotion/streaming": "4.0.539",
|
|
27
27
|
"source-map": "0.8.0",
|
|
28
28
|
"ws": "8.21.0",
|
|
29
|
-
"@remotion/licensing": "4.0.
|
|
29
|
+
"@remotion/licensing": "4.0.539"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": ">=16.8.0",
|
|
@@ -38,23 +38,23 @@
|
|
|
38
38
|
"@happy-dom/global-registrator": "14.5.1",
|
|
39
39
|
"react": "19.2.3",
|
|
40
40
|
"react-dom": "19.2.3",
|
|
41
|
-
"
|
|
41
|
+
"typescript": "7.1.0-beta",
|
|
42
42
|
"@types/ws": "8.5.10",
|
|
43
|
-
"@remotion/example-videos": "4.0.
|
|
44
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
43
|
+
"@remotion/example-videos": "4.0.539",
|
|
44
|
+
"@remotion/eslint-config-internal": "4.0.539",
|
|
45
45
|
"eslint": "9.19.0",
|
|
46
46
|
"@types/node": "20.12.14",
|
|
47
47
|
"@types/pngjs": "6.0.5",
|
|
48
48
|
"pngjs": "7.0.0"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
52
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
53
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
54
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
55
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
56
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
57
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
51
|
+
"@remotion/compositor-darwin-arm64": "4.0.539",
|
|
52
|
+
"@remotion/compositor-darwin-x64": "4.0.539",
|
|
53
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.539",
|
|
54
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.539",
|
|
55
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.539",
|
|
56
|
+
"@remotion/compositor-linux-x64-musl": "4.0.539",
|
|
57
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.539"
|
|
58
58
|
},
|
|
59
59
|
"keywords": [
|
|
60
60
|
"remotion",
|