@remotion/cli 4.0.302 → 4.0.304
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/benchmark.js +1 -0
- package/dist/bundle.js +5 -1
- package/dist/compositions.js +5 -1
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.js +2 -1
- package/dist/parse-command-line.d.ts +18 -0
- package/dist/parse-command-line.js +1 -1
- package/dist/render-flows/render.d.ts +2 -1
- package/dist/render-flows/render.js +2 -1
- package/dist/render-flows/still.d.ts +2 -1
- package/dist/render-flows/still.js +2 -1
- package/dist/render-queue/process-still.js +1 -0
- package/dist/render-queue/process-video.js +1 -0
- package/dist/render.js +5 -1
- package/dist/setup-cache.d.ts +4 -2
- package/dist/setup-cache.js +4 -2
- package/dist/still.js +5 -1
- package/dist/studio.js +1 -0
- package/package.json +14 -14
package/dist/benchmark.js
CHANGED
|
@@ -168,6 +168,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
|
|
|
168
168
|
bufferStateDelayInMilliseconds: null,
|
|
169
169
|
maxTimelineTracks: null,
|
|
170
170
|
publicPath,
|
|
171
|
+
audioLatencyHint: null,
|
|
171
172
|
});
|
|
172
173
|
(0, cleanup_before_quit_1.registerCleanupJob)(`Deleting bundle`, () => cleanupBundle());
|
|
173
174
|
const puppeteerInstance = await browserInstance;
|
package/dist/bundle.js
CHANGED
|
@@ -17,7 +17,7 @@ const parsed_cli_1 = require("./parsed-cli");
|
|
|
17
17
|
const setup_cache_1 = require("./setup-cache");
|
|
18
18
|
const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
|
|
19
19
|
const yes_or_no_1 = require("./yes-or-no");
|
|
20
|
-
const { publicPathOption, publicDirOption, disableGitSourceOption } = client_1.BrowserSafeApis.options;
|
|
20
|
+
const { publicPathOption, publicDirOption, disableGitSourceOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
21
21
|
const bundleCommand = async (remotionRoot, args, logLevel) => {
|
|
22
22
|
const { file, reason } = (0, entry_point_1.findEntryPoint)({
|
|
23
23
|
args,
|
|
@@ -45,6 +45,9 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
|
|
|
45
45
|
const disableGitSource = disableGitSourceOption.getValue({
|
|
46
46
|
commandLine: parsed_cli_1.parsedCli,
|
|
47
47
|
}).value;
|
|
48
|
+
const audioLatencyHint = audioLatencyHintOption.getValue({
|
|
49
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
50
|
+
}).value;
|
|
48
51
|
const outputPath = parsed_cli_1.parsedCli['out-dir']
|
|
49
52
|
? path_1.default.resolve(process.cwd(), parsed_cli_1.parsedCli['out-dir'])
|
|
50
53
|
: path_1.default.join(remotionRoot, 'build');
|
|
@@ -89,6 +92,7 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
|
|
|
89
92
|
bufferStateDelayInMilliseconds: null,
|
|
90
93
|
maxTimelineTracks: null,
|
|
91
94
|
publicPath,
|
|
95
|
+
audioLatencyHint,
|
|
92
96
|
});
|
|
93
97
|
log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.blue(`${existed ? '○' : '+'} ${output}`));
|
|
94
98
|
if (!gitignoreFolder) {
|
package/dist/compositions.js
CHANGED
|
@@ -13,7 +13,7 @@ const log_1 = require("./log");
|
|
|
13
13
|
const parsed_cli_1 = require("./parsed-cli");
|
|
14
14
|
const print_compositions_1 = require("./print-compositions");
|
|
15
15
|
const setup_cache_1 = require("./setup-cache");
|
|
16
|
-
const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, } = client_1.BrowserSafeApis.options;
|
|
16
|
+
const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
17
17
|
const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
|
|
18
18
|
const { file, reason } = (0, entry_point_1.findEntryPoint)({
|
|
19
19
|
args,
|
|
@@ -60,6 +60,9 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
|
|
|
60
60
|
const chromeMode = chromeModeOption.getValue({
|
|
61
61
|
commandLine: parsed_cli_1.parsedCli,
|
|
62
62
|
}).value;
|
|
63
|
+
const audioLatencyHint = audioLatencyHintOption.getValue({
|
|
64
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
65
|
+
}).value;
|
|
63
66
|
const { urlOrBundle: bundled, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
|
|
64
67
|
remotionRoot,
|
|
65
68
|
fullPath: file,
|
|
@@ -78,6 +81,7 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
|
|
|
78
81
|
bufferStateDelayInMilliseconds: null,
|
|
79
82
|
maxTimelineTracks: null,
|
|
80
83
|
publicPath,
|
|
84
|
+
audioLatencyHint,
|
|
81
85
|
});
|
|
82
86
|
(0, cleanup_before_quit_1.registerCleanupJob)(`Cleanup bundle`, () => cleanupBundle());
|
|
83
87
|
const compositions = await renderer_1.RenderInternals.internalGetCompositions({
|
package/dist/config/index.d.ts
CHANGED
|
@@ -254,6 +254,12 @@ declare global {
|
|
|
254
254
|
* Mutually exclusive with setCrf().
|
|
255
255
|
*/
|
|
256
256
|
readonly setVideoBitrate: (bitrate: string | null) => void;
|
|
257
|
+
/**
|
|
258
|
+
* Set the audio latency hint that the Studio will
|
|
259
|
+
* use when playing back audio
|
|
260
|
+
* Default: 'interactive'
|
|
261
|
+
*/
|
|
262
|
+
readonly setAudioLatencyHint: (audioLatencyHint: AudioContextLatencyCategory | null) => void;
|
|
257
263
|
/**
|
|
258
264
|
* Set a maximum bitrate to be passed to FFmpeg.
|
|
259
265
|
*/
|
package/dist/config/index.js
CHANGED
|
@@ -42,7 +42,7 @@ const user_agent_1 = require("./user-agent");
|
|
|
42
42
|
const webpack_caching_2 = require("./webpack-caching");
|
|
43
43
|
const webpack_poll_1 = require("./webpack-poll");
|
|
44
44
|
const width_1 = require("./width");
|
|
45
|
-
const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, } = client_1.BrowserSafeApis.options;
|
|
45
|
+
const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
46
46
|
exports.Config = {
|
|
47
47
|
get Bundling() {
|
|
48
48
|
throw new Error('The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.');
|
|
@@ -116,6 +116,7 @@ exports.Config = {
|
|
|
116
116
|
setX264Preset: x264Option.setConfig,
|
|
117
117
|
setAudioBitrate: audioBitrateOption.setConfig,
|
|
118
118
|
setVideoBitrate: videoBitrateOption.setConfig,
|
|
119
|
+
setAudioLatencyHint: audioLatencyHintOption.setConfig,
|
|
119
120
|
setForSeamlessAacConcatenation: forSeamlessAacConcatenationOption.setConfig,
|
|
120
121
|
overrideHeight: height_1.overrideHeight,
|
|
121
122
|
overrideWidth: width_1.overrideWidth,
|
|
@@ -254,6 +254,23 @@ declare const beepOnFinishOption: {
|
|
|
254
254
|
};
|
|
255
255
|
setConfig: (value: string | null) => void;
|
|
256
256
|
type: string | null;
|
|
257
|
+
}, audioLatencyHintOption: {
|
|
258
|
+
name: string;
|
|
259
|
+
cliFlag: "audio-latency-hint";
|
|
260
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
261
|
+
ssrName: "audioLatencyHint";
|
|
262
|
+
docLink: string;
|
|
263
|
+
type: AudioContextLatencyCategory;
|
|
264
|
+
getValue: ({ commandLine }: {
|
|
265
|
+
commandLine: Record<string, unknown>;
|
|
266
|
+
}) => {
|
|
267
|
+
value: AudioContextLatencyCategory;
|
|
268
|
+
source: string;
|
|
269
|
+
} | {
|
|
270
|
+
value: null;
|
|
271
|
+
source: string;
|
|
272
|
+
};
|
|
273
|
+
setConfig: (profile: AudioContextLatencyCategory | null) => void;
|
|
257
274
|
};
|
|
258
275
|
export type CommandLineOptions = {
|
|
259
276
|
['browser-executable']: BrowserExecutable;
|
|
@@ -316,6 +333,7 @@ export type CommandLineOptions = {
|
|
|
316
333
|
['browser-args']: string;
|
|
317
334
|
['user-agent']: string;
|
|
318
335
|
['out-dir']: string;
|
|
336
|
+
[audioLatencyHintOption.cliFlag]: AudioContextLatencyCategory;
|
|
319
337
|
ipv4: boolean;
|
|
320
338
|
[deleteAfterOption.cliFlag]: TypeOfOption<typeof deleteAfterOption>;
|
|
321
339
|
[folderExpiryOption.cliFlag]: TypeOfOption<typeof folderExpiryOption>;
|
|
@@ -5,7 +5,7 @@ const client_1 = require("@remotion/renderer/client");
|
|
|
5
5
|
const config_1 = require("./config");
|
|
6
6
|
const log_1 = require("./log");
|
|
7
7
|
const parsed_cli_1 = require("./parsed-cli");
|
|
8
|
-
const { beepOnFinishOption, colorSpaceOption, offthreadVideoCacheSizeInBytesOption, encodingBufferSizeOption, encodingMaxRateOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, numberOfGifLoopsOption, x264Option, enforceAudioOption, jpegQualityOption, audioBitrateOption, videoBitrateOption, audioCodecOption, publicPathOption, } = client_1.BrowserSafeApis.options;
|
|
8
|
+
const { beepOnFinishOption, colorSpaceOption, offthreadVideoCacheSizeInBytesOption, encodingBufferSizeOption, encodingMaxRateOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, numberOfGifLoopsOption, x264Option, enforceAudioOption, jpegQualityOption, audioBitrateOption, videoBitrateOption, audioCodecOption, publicPathOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
9
9
|
const parseCommandLine = () => {
|
|
10
10
|
if (parsed_cli_1.parsedCli['pixel-format']) {
|
|
11
11
|
config_1.Config.setPixelFormat(parsed_cli_1.parsedCli['pixel-format']);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromeMode, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, NumberOfGifLoops, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { HardwareAccelerationOption } from '@remotion/renderer/client';
|
|
3
3
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
4
|
-
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, }: {
|
|
4
|
+
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, }: {
|
|
5
5
|
remotionRoot: string;
|
|
6
6
|
fullEntryPoint: string;
|
|
7
7
|
entryPointReason: string;
|
|
@@ -58,4 +58,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
|
|
|
58
58
|
metadata: Record<string, string> | null;
|
|
59
59
|
hardwareAcceleration: HardwareAccelerationOption;
|
|
60
60
|
chromeMode: ChromeMode;
|
|
61
|
+
audioLatencyHint: AudioContextLatencyCategory | null;
|
|
61
62
|
}) => Promise<void>;
|
|
@@ -61,7 +61,7 @@ const setup_cache_1 = require("../setup-cache");
|
|
|
61
61
|
const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
|
|
62
62
|
const truthy_1 = require("../truthy");
|
|
63
63
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
64
|
-
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, }) => {
|
|
64
|
+
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, }) => {
|
|
65
65
|
var _a;
|
|
66
66
|
const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
|
|
67
67
|
(0, progress_bar_1.printFact)('verbose')({
|
|
@@ -156,6 +156,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
156
156
|
bufferStateDelayInMilliseconds: null,
|
|
157
157
|
maxTimelineTracks: null,
|
|
158
158
|
publicPath,
|
|
159
|
+
audioLatencyHint,
|
|
159
160
|
});
|
|
160
161
|
addCleanupCallback(`Cleanup bundle`, () => cleanupBundle());
|
|
161
162
|
const onDownload = (0, make_on_download_1.makeOnDownload)({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Browser, BrowserExecutable, CancelSignal, ChromeMode, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
|
|
2
2
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
|
-
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, }: {
|
|
3
|
+
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
6
6
|
entryPointReason: string;
|
|
@@ -32,4 +32,5 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
|
|
|
32
32
|
binariesDirectory: string | null;
|
|
33
33
|
publicPath: string | null;
|
|
34
34
|
chromeMode: ChromeMode;
|
|
35
|
+
audioLatencyHint: AudioContextLatencyCategory | null;
|
|
35
36
|
}) => Promise<void>;
|
|
@@ -27,7 +27,7 @@ const setup_cache_1 = require("../setup-cache");
|
|
|
27
27
|
const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
|
|
28
28
|
const truthy_1 = require("../truthy");
|
|
29
29
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
30
|
-
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, }) => {
|
|
30
|
+
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, }) => {
|
|
31
31
|
var _a, _b;
|
|
32
32
|
const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
|
|
33
33
|
log_1.Log.verbose({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
|
|
@@ -99,6 +99,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
99
99
|
bufferStateDelayInMilliseconds: null,
|
|
100
100
|
maxTimelineTracks: null,
|
|
101
101
|
publicPath,
|
|
102
|
+
audioLatencyHint,
|
|
102
103
|
});
|
|
103
104
|
const server = await renderer_1.RenderInternals.prepareServer({
|
|
104
105
|
offthreadVideoThreads: offthreadVideoThreads !== null && offthreadVideoThreads !== void 0 ? offthreadVideoThreads : renderer_1.RenderInternals.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS,
|
|
@@ -79,6 +79,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
|
|
|
79
79
|
hardwareAcceleration: job.type === 'video' ? job.hardwareAcceleration : 'disable',
|
|
80
80
|
chromeMode: job.chromeMode,
|
|
81
81
|
offthreadVideoThreads: job.offthreadVideoThreads,
|
|
82
|
+
audioLatencyHint: null,
|
|
82
83
|
});
|
|
83
84
|
};
|
|
84
85
|
exports.processVideoJob = processVideoJob;
|
package/dist/render.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
11
11
|
const log_1 = require("./log");
|
|
12
12
|
const parsed_cli_1 = require("./parsed-cli");
|
|
13
13
|
const render_1 = require("./render-flows/render");
|
|
14
|
-
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
15
15
|
const render = async (remotionRoot, args, logLevel) => {
|
|
16
16
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
|
|
17
17
|
if (!file) {
|
|
@@ -105,6 +105,9 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
105
105
|
const hardwareAcceleration = hardwareAccelerationOption.getValue({
|
|
106
106
|
commandLine: parsed_cli_1.parsedCli,
|
|
107
107
|
}).value;
|
|
108
|
+
const audioLatencyHint = audioLatencyHintOption.getValue({
|
|
109
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
110
|
+
}).value;
|
|
108
111
|
await (0, render_1.renderVideoFlow)({
|
|
109
112
|
fullEntryPoint,
|
|
110
113
|
remotionRoot,
|
|
@@ -168,6 +171,7 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
168
171
|
hardwareAcceleration,
|
|
169
172
|
chromeMode,
|
|
170
173
|
offthreadVideoThreads,
|
|
174
|
+
audioLatencyHint,
|
|
171
175
|
});
|
|
172
176
|
};
|
|
173
177
|
exports.render = render;
|
package/dist/setup-cache.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
2
|
import type { BundlingState, CopyingState } from '@remotion/studio-server';
|
|
3
3
|
import type { GitSource } from '@remotion/studio-shared';
|
|
4
|
-
export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, }: {
|
|
4
|
+
export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, }: {
|
|
5
5
|
fullPath: string;
|
|
6
6
|
remotionRoot: string;
|
|
7
7
|
publicDir: string | null;
|
|
@@ -19,11 +19,12 @@ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publi
|
|
|
19
19
|
bufferStateDelayInMilliseconds: number | null;
|
|
20
20
|
maxTimelineTracks: number | null;
|
|
21
21
|
publicPath: string | null;
|
|
22
|
+
audioLatencyHint: AudioContextLatencyCategory | null;
|
|
22
23
|
}) => Promise<{
|
|
23
24
|
urlOrBundle: string;
|
|
24
25
|
cleanup: () => void;
|
|
25
26
|
}>;
|
|
26
|
-
export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, }: {
|
|
27
|
+
export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, }: {
|
|
27
28
|
fullPath: string;
|
|
28
29
|
remotionRoot: string;
|
|
29
30
|
publicDir: string | null;
|
|
@@ -41,4 +42,5 @@ export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgre
|
|
|
41
42
|
maxTimelineTracks: number | null;
|
|
42
43
|
bufferStateDelayInMilliseconds: number | null;
|
|
43
44
|
publicPath: string | null;
|
|
45
|
+
audioLatencyHint: AudioContextLatencyCategory | null;
|
|
44
46
|
}) => Promise<string>;
|
package/dist/setup-cache.js
CHANGED
|
@@ -12,7 +12,7 @@ const config_1 = require("./config");
|
|
|
12
12
|
const log_1 = require("./log");
|
|
13
13
|
const progress_bar_1 = require("./progress-bar");
|
|
14
14
|
const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
|
|
15
|
-
const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, }) => {
|
|
15
|
+
const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, }) => {
|
|
16
16
|
const isServeUrl = renderer_1.RenderInternals.isServeUrl(fullPath);
|
|
17
17
|
const isBundle = (0, fs_1.existsSync)(fullPath) && (0, fs_1.existsSync)(path_1.default.join(fullPath, 'index.html'));
|
|
18
18
|
if (isServeUrl || isBundle) {
|
|
@@ -46,6 +46,7 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
|
|
|
46
46
|
bufferStateDelayInMilliseconds,
|
|
47
47
|
maxTimelineTracks,
|
|
48
48
|
publicPath,
|
|
49
|
+
audioLatencyHint,
|
|
49
50
|
});
|
|
50
51
|
return {
|
|
51
52
|
urlOrBundle: bundled,
|
|
@@ -53,7 +54,7 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
|
|
|
53
54
|
};
|
|
54
55
|
};
|
|
55
56
|
exports.bundleOnCliOrTakeServeUrl = bundleOnCliOrTakeServeUrl;
|
|
56
|
-
const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, }) => {
|
|
57
|
+
const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, }) => {
|
|
57
58
|
var _a;
|
|
58
59
|
const shouldCache = config_1.ConfigInternals.getWebpackCaching();
|
|
59
60
|
const symlinkState = {
|
|
@@ -150,6 +151,7 @@ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallba
|
|
|
150
151
|
ignoreRegisterRootWarning: false,
|
|
151
152
|
maxTimelineTracks,
|
|
152
153
|
bufferStateDelayInMilliseconds,
|
|
154
|
+
audioLatencyHint,
|
|
153
155
|
});
|
|
154
156
|
bundlingState = {
|
|
155
157
|
progress: 1,
|
package/dist/still.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
11
11
|
const log_1 = require("./log");
|
|
12
12
|
const parsed_cli_1 = require("./parsed-cli");
|
|
13
13
|
const still_1 = require("./render-flows/still");
|
|
14
|
-
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
|
|
15
15
|
const still = async (remotionRoot, args, logLevel) => {
|
|
16
16
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
|
|
17
17
|
if (!file) {
|
|
@@ -65,6 +65,9 @@ const still = async (remotionRoot, args, logLevel) => {
|
|
|
65
65
|
const chromeMode = chromeModeOption.getValue({
|
|
66
66
|
commandLine: parsed_cli_1.parsedCli,
|
|
67
67
|
}).value;
|
|
68
|
+
const audioLatencyHint = audioLatencyHintOption.getValue({
|
|
69
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
70
|
+
}).value;
|
|
68
71
|
const chromiumOptions = {
|
|
69
72
|
disableWebSecurity,
|
|
70
73
|
enableMultiProcessOnLinux,
|
|
@@ -111,6 +114,7 @@ const still = async (remotionRoot, args, logLevel) => {
|
|
|
111
114
|
binariesDirectory,
|
|
112
115
|
publicPath,
|
|
113
116
|
chromeMode,
|
|
117
|
+
audioLatencyHint,
|
|
114
118
|
});
|
|
115
119
|
};
|
|
116
120
|
exports.still = still;
|
package/dist/studio.js
CHANGED
|
@@ -102,6 +102,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
102
102
|
bufferStateDelayInMilliseconds: config_1.ConfigInternals.getBufferStateDelayInMilliseconds(),
|
|
103
103
|
binariesDirectory,
|
|
104
104
|
forceIPv4: parsed_cli_1.parsedCli.ipv4,
|
|
105
|
+
audioLatencyHint: parsed_cli_1.parsedCli['audio-latency-hint'],
|
|
105
106
|
});
|
|
106
107
|
// If the server is restarted through the UI, let's do the whole thing again.
|
|
107
108
|
await (0, exports.studioCommand)(remotionRoot, args, logLevel);
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/cli",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.304",
|
|
7
7
|
"description": "Control Remotion features using the `npx remotion` command",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
"dotenv": "9.0.2",
|
|
34
34
|
"minimist": "1.2.6",
|
|
35
35
|
"prompts": "2.4.2",
|
|
36
|
-
"@remotion/bundler": "4.0.
|
|
37
|
-
"@remotion/
|
|
38
|
-
"@remotion/
|
|
39
|
-
"@remotion/
|
|
40
|
-
"@remotion/studio-server": "4.0.
|
|
41
|
-
"@remotion/studio-shared": "4.0.
|
|
42
|
-
"remotion": "4.0.
|
|
43
|
-
"
|
|
36
|
+
"@remotion/bundler": "4.0.304",
|
|
37
|
+
"@remotion/media-utils": "4.0.304",
|
|
38
|
+
"@remotion/renderer": "4.0.304",
|
|
39
|
+
"@remotion/player": "4.0.304",
|
|
40
|
+
"@remotion/studio-server": "4.0.304",
|
|
41
|
+
"@remotion/studio-shared": "4.0.304",
|
|
42
|
+
"@remotion/studio": "4.0.304",
|
|
43
|
+
"remotion": "4.0.304"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"react": ">=16.8.0",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"react-dom": "19.0.0",
|
|
55
55
|
"zod": "3.22.3",
|
|
56
56
|
"eslint": "9.19.0",
|
|
57
|
-
"@remotion/zod-types": "4.0.
|
|
58
|
-
"@remotion/tailwind-v4": "4.0.
|
|
59
|
-
"@remotion/
|
|
60
|
-
"@remotion/
|
|
61
|
-
"@remotion/
|
|
57
|
+
"@remotion/zod-types": "4.0.304",
|
|
58
|
+
"@remotion/tailwind-v4": "4.0.304",
|
|
59
|
+
"@remotion/skia": "4.0.304",
|
|
60
|
+
"@remotion/eslint-config-internal": "4.0.304",
|
|
61
|
+
"@remotion/enable-scss": "4.0.304"
|
|
62
62
|
},
|
|
63
63
|
"keywords": [
|
|
64
64
|
"remotion",
|