@remotion/cli 4.0.446 → 4.0.448

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 CHANGED
@@ -21,7 +21,7 @@ const setup_cache_1 = require("./setup-cache");
21
21
  const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
22
22
  const show_compositions_picker_1 = require("./show-compositions-picker");
23
23
  const truthy_1 = require("./truthy");
24
- const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, runsOption, } = client_1.BrowserSafeApis.options;
24
+ const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, runsOption, sampleRateOption, } = client_1.BrowserSafeApis.options;
25
25
  const { benchmarkConcurrenciesOption } = client_1.BrowserSafeApis.options;
26
26
  const getValidConcurrency = (cliConcurrency) => {
27
27
  const concurrencies = benchmarkConcurrenciesOption.getValue({
@@ -321,6 +321,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
321
321
  commandLine: parsed_cli_1.parsedCli,
322
322
  }, true).value;
323
323
  const metadata = metadataOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
324
+ const sampleRate = sampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
324
325
  for (const composition of compositions) {
325
326
  const { value: videoCodec, source: codecReason } = videoCodecOption.getValue({
326
327
  commandLine: parsed_cli_1.parsedCli,
@@ -372,6 +373,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
372
373
  everyNthFrame,
373
374
  logLevel,
374
375
  muted,
376
+ sampleRate,
375
377
  enforceAudioTrack,
376
378
  browserExecutable,
377
379
  ffmpegOverride,
@@ -61,6 +61,11 @@ declare global {
61
61
  * @default false
62
62
  */
63
63
  readonly setExperimentalClientSideRenderingEnabled: (enabled: boolean) => void;
64
+ /**
65
+ * Allow the experimental HTML-in-canvas capture path in Studio client-side renders.
66
+ * @default false
67
+ */
68
+ readonly setAllowHtmlInCanvasEnabled: (enabled: boolean) => void;
64
69
  /**
65
70
  * Enable experimental Rspack bundler instead of Webpack.
66
71
  * @param enabled Boolean whether to enable the Rspack bundler
@@ -353,7 +358,7 @@ declare global {
353
358
  readonly setImageSequencePattern: (pattern: string | null) => void;
354
359
  /**
355
360
  * Set the public license key for your company license.
356
- * Obtain it from the "Usage" tab on https://remotion.pro
361
+ * Obtain it from https://remotion.pro (License keys page)
357
362
  * Pass "free-license" if you are eligible for the free license.
358
363
  */
359
364
  readonly setPublicLicenseKey: (key: string | null) => void;
@@ -417,6 +422,11 @@ type FlatConfig = RemotionConfigObject & RemotionBundlingOptions & {
417
422
  * Default: null (uses the --concurrency value)
418
423
  */
419
424
  setBenchmarkConcurrencies: (concurrencies: string | null) => void;
425
+ /**
426
+ * Set the audio sample rate for rendered output.
427
+ * Default: 48000
428
+ */
429
+ setSampleRate: (sampleRate: number) => void;
420
430
  /**
421
431
  * @deprecated 'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.'
422
432
  */
@@ -20,7 +20,7 @@ const preview_server_2 = require("./preview-server");
20
20
  const still_frame_1 = require("./still-frame");
21
21
  const webpack_caching_1 = require("./webpack-caching");
22
22
  const webpack_poll_1 = require("./webpack-poll");
23
- const { benchmarkConcurrenciesOption, concurrencyOption, offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, framesOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, audioLatencyHintOption, enableCrossSiteIsolationOption, imageSequencePatternOption, darkModeOption, askAIOption, publicLicenseKeyOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, ipv4Option, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, stillImageFormatOption, videoImageFormatOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, rspackOption, outDirOption, webpackPollOption, imageSequenceOption, bundleCacheOption, envFileOption, runsOption, noOpenOption, } = client_1.BrowserSafeApis.options;
23
+ const { allowHtmlInCanvasOption, benchmarkConcurrenciesOption, concurrencyOption, offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, framesOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, audioLatencyHintOption, enableCrossSiteIsolationOption, imageSequencePatternOption, darkModeOption, askAIOption, publicLicenseKeyOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, ipv4Option, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, stillImageFormatOption, videoImageFormatOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, rspackOption, outDirOption, webpackPollOption, imageSequenceOption, bundleCacheOption, envFileOption, runsOption, noOpenOption, sampleRateOption, } = client_1.BrowserSafeApis.options;
24
24
  exports.Config = {
25
25
  get Bundling() {
26
26
  throw new Error('The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.');
@@ -43,6 +43,7 @@ exports.Config = {
43
43
  setMaxTimelineTracks: studio_server_1.StudioServerInternals.setMaxTimelineTracks,
44
44
  setKeyboardShortcutsEnabled: keyboardShortcutsOption.setConfig,
45
45
  setExperimentalClientSideRenderingEnabled: experimentalClientSideRenderingOption.setConfig,
46
+ setAllowHtmlInCanvasEnabled: allowHtmlInCanvasOption.setConfig,
46
47
  setExperimentalRspackEnabled: rspackOption.setConfig,
47
48
  setExperimentalVisualMode: experimentalVisualModeOption.setConfig,
48
49
  setNumberOfSharedAudioTags: numberOfSharedAudioTagsOption.setConfig,
@@ -127,6 +128,7 @@ exports.Config = {
127
128
  setBundleOutDir: outDirOption.setConfig,
128
129
  setBenchmarkRuns: runsOption.setConfig,
129
130
  setBenchmarkConcurrencies: benchmarkConcurrenciesOption.setConfig,
131
+ setSampleRate: sampleRateOption.setConfig,
130
132
  };
131
133
  exports.ConfigInternals = {
132
134
  getBrowser: browser_1.getBrowser,
@@ -5,7 +5,7 @@ const renderer_1 = require("@remotion/renderer");
5
5
  const client_1 = require("@remotion/renderer/client");
6
6
  const config_1 = require("./config");
7
7
  const parsed_cli_1 = require("./parsed-cli");
8
- const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, concurrencyOption, offthreadVideoThreadsOption, scaleOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, logLevelOption, delayRenderTimeoutInMillisecondsOption, headlessOption, forSeamlessAacConcatenationOption, audioCodecOption, hardwareAccelerationOption, chromeModeOption, mediaCacheSizeInBytesOption, darkModeOption, pixelFormatOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, publicLicenseKeyOption, stillImageFormatOption, videoImageFormatOption, } = client_1.BrowserSafeApis.options;
8
+ const { allowHtmlInCanvasOption, x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, concurrencyOption, offthreadVideoThreadsOption, scaleOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, logLevelOption, delayRenderTimeoutInMillisecondsOption, headlessOption, forSeamlessAacConcatenationOption, audioCodecOption, hardwareAccelerationOption, chromeModeOption, mediaCacheSizeInBytesOption, darkModeOption, pixelFormatOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, publicLicenseKeyOption, stillImageFormatOption, videoImageFormatOption, sampleRateOption, } = client_1.BrowserSafeApis.options;
9
9
  const getRenderDefaults = () => {
10
10
  var _a;
11
11
  const defaultJpegQuality = jpegQualityOption.getValue({
@@ -111,6 +111,9 @@ const getRenderDefaults = () => {
111
111
  const userAgent = userAgentOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
112
112
  const metadata = config_1.ConfigInternals.getMetadata();
113
113
  const outputLocation = config_1.ConfigInternals.getOutputLocation();
114
+ const allowHtmlInCanvas = allowHtmlInCanvasOption.getValue({
115
+ commandLine: parsed_cli_1.parsedCli,
116
+ }).value;
114
117
  const maxConcurrency = renderer_1.RenderInternals.getMaxConcurrency();
115
118
  const minConcurrency = renderer_1.RenderInternals.getMinConcurrency();
116
119
  return {
@@ -155,6 +158,8 @@ const getRenderDefaults = () => {
155
158
  mediaCacheSizeInBytes,
156
159
  publicLicenseKey,
157
160
  outputLocation,
161
+ allowHtmlInCanvas,
162
+ sampleRate: sampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value,
158
163
  };
159
164
  };
160
165
  exports.getRenderDefaults = getRenderDefaults;
@@ -13,6 +13,7 @@ exports.listOfRemotionPackages = [
13
13
  '@remotion/bundler',
14
14
  '@remotion/cli',
15
15
  '@remotion/cloudrun',
16
+ '@remotion/codex-plugin',
16
17
  '@remotion/compositor-darwin-arm64',
17
18
  '@remotion/compositor-darwin-x64',
18
19
  '@remotion/compositor-linux-arm64-gnu',
@@ -1,6 +1,21 @@
1
1
  import type { AudioCodec, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  import type { TypeOfOption } from '@remotion/renderer/client';
3
- declare const benchmarkConcurrenciesOption: {
3
+ declare const allowHtmlInCanvasOption: {
4
+ name: string;
5
+ cliFlag: "allow-html-in-canvas";
6
+ description: () => import("react/jsx-runtime").JSX.Element;
7
+ ssrName: null;
8
+ docLink: string;
9
+ type: boolean;
10
+ getValue: ({ commandLine }: {
11
+ commandLine: Record<string, unknown>;
12
+ }) => {
13
+ value: boolean;
14
+ source: string;
15
+ };
16
+ setConfig(value: boolean): void;
17
+ id: "allow-html-in-canvas";
18
+ }, benchmarkConcurrenciesOption: {
4
19
  name: string;
5
20
  cliFlag: "concurrencies";
6
21
  description: () => import("react/jsx-runtime").JSX.Element;
@@ -1071,6 +1086,21 @@ declare const benchmarkConcurrenciesOption: {
1071
1086
  setConfig: () => never;
1072
1087
  type: string | null;
1073
1088
  id: "browser";
1089
+ }, sampleRateOption: {
1090
+ name: string;
1091
+ cliFlag: "sample-rate";
1092
+ description: () => import("react/jsx-runtime").JSX.Element;
1093
+ ssrName: "sampleRate";
1094
+ docLink: string;
1095
+ type: number;
1096
+ getValue: ({ commandLine }: {
1097
+ commandLine: Record<string, unknown>;
1098
+ }, compositionSampleRate?: number | null | undefined) => {
1099
+ value: number;
1100
+ source: string;
1101
+ };
1102
+ setConfig: (value: number) => void;
1103
+ id: "sample-rate";
1074
1104
  };
1075
1105
  export type CommandLineOptions = {
1076
1106
  [browserExecutableOption.cliFlag]: TypeOfOption<typeof browserExecutableOption>;
@@ -1120,6 +1150,7 @@ export type CommandLineOptions = {
1120
1150
  [stillFrameOption.cliFlag]: TypeOfOption<typeof stillFrameOption>;
1121
1151
  [headlessOption.cliFlag]: TypeOfOption<typeof headlessOption>;
1122
1152
  [keyboardShortcutsOption.cliFlag]: TypeOfOption<typeof keyboardShortcutsOption>;
1153
+ [allowHtmlInCanvasOption.cliFlag]: TypeOfOption<typeof allowHtmlInCanvasOption>;
1123
1154
  [experimentalClientSideRenderingOption.cliFlag]: TypeOfOption<typeof experimentalClientSideRenderingOption>;
1124
1155
  [experimentalVisualModeOption.cliFlag]: TypeOfOption<typeof experimentalVisualModeOption>;
1125
1156
  [mutedOption.cliFlag]: TypeOfOption<typeof mutedOption>;
@@ -1148,6 +1179,7 @@ export type CommandLineOptions = {
1148
1179
  'license-key': string;
1149
1180
  [publicLicenseKeyOption.cliFlag]: string;
1150
1181
  [forceNewStudioOption.cliFlag]: TypeOfOption<typeof forceNewStudioOption>;
1182
+ [sampleRateOption.cliFlag]: TypeOfOption<typeof sampleRateOption>;
1151
1183
  };
1152
1184
  export declare const BooleanFlags: string[];
1153
1185
  export declare const parsedCli: CommandLineOptions & {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.quietFlagProvided = exports.parsedCli = exports.BooleanFlags = void 0;
7
7
  const client_1 = require("@remotion/renderer/client");
8
8
  const minimist_1 = __importDefault(require("minimist"));
9
- const { benchmarkConcurrenciesOption, beepOnFinishOption, colorSpaceOption, concurrencyOption, disallowParallelEncodingOption, offthreadVideoCacheSizeInBytesOption, encodingBufferSizeOption, encodingMaxRateOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, numberOfGifLoopsOption, x264Option, enforceAudioOption, jpegQualityOption, audioBitrateOption, videoBitrateOption, audioCodecOption, publicPathOption, audioLatencyHintOption, darkModeOption, publicLicenseKeyOption, forceNewStudioOption, numberOfSharedAudioTagsOption, ipv4Option, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, outDirOption, packageManagerOption, webpackPollOption, keyboardShortcutsOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, imageSequencePatternOption, scaleOption, overwriteOption, crfOption, logLevelOption, videoCodecOption, stillFrameOption, imageSequenceOption, versionFlagOption, bundleCacheOption, envFileOption, glOption, runsOption, reproOption, mutedOption, headlessOption, disableGitSourceOption, delayRenderTimeoutInMillisecondsOption, framesOption, forSeamlessAacConcatenationOption, isProductionOption, noOpenOption, portOption, propsOption, configOption, browserOption, } = client_1.BrowserSafeApis.options;
9
+ const { allowHtmlInCanvasOption, benchmarkConcurrenciesOption, beepOnFinishOption, colorSpaceOption, concurrencyOption, disallowParallelEncodingOption, offthreadVideoCacheSizeInBytesOption, encodingBufferSizeOption, encodingMaxRateOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, numberOfGifLoopsOption, x264Option, enforceAudioOption, jpegQualityOption, audioBitrateOption, videoBitrateOption, audioCodecOption, publicPathOption, audioLatencyHintOption, darkModeOption, publicLicenseKeyOption, forceNewStudioOption, numberOfSharedAudioTagsOption, ipv4Option, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, outDirOption, packageManagerOption, webpackPollOption, keyboardShortcutsOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, imageSequencePatternOption, scaleOption, overwriteOption, crfOption, logLevelOption, videoCodecOption, stillFrameOption, imageSequenceOption, versionFlagOption, bundleCacheOption, envFileOption, glOption, runsOption, reproOption, mutedOption, headlessOption, disableGitSourceOption, delayRenderTimeoutInMillisecondsOption, framesOption, forSeamlessAacConcatenationOption, isProductionOption, noOpenOption, portOption, propsOption, configOption, browserOption, sampleRateOption, } = client_1.BrowserSafeApis.options;
10
10
  exports.BooleanFlags = [
11
11
  overwriteOption.cliFlag,
12
12
  imageSequenceOption.cliFlag,
@@ -20,6 +20,7 @@ exports.BooleanFlags = [
20
20
  ignoreCertificateErrorsOption.cliFlag,
21
21
  headlessOption.cliFlag,
22
22
  keyboardShortcutsOption.cliFlag,
23
+ allowHtmlInCanvasOption.cliFlag,
23
24
  experimentalClientSideRenderingOption.cliFlag,
24
25
  experimentalVisualModeOption.cliFlag,
25
26
  ipv4Option.cliFlag,
@@ -37,6 +38,7 @@ exports.parsedCli = (0, minimist_1.default)(process.argv.slice(2), {
37
38
  default: {
38
39
  [overwriteOption.cliFlag]: true,
39
40
  [bundleCacheOption.cliFlag]: null,
41
+ [allowHtmlInCanvasOption.cliFlag]: null,
40
42
  [experimentalClientSideRenderingOption.cliFlag]: null,
41
43
  [experimentalVisualModeOption.cliFlag]: null,
42
44
  [mutedOption.cliFlag]: null,
@@ -1,6 +1,6 @@
1
1
  import type { BrowserExecutable, CancelSignal, ChromiumOptions, Crf, FfmpegOverrideFn, FrameRange, NumberOfGifLoops } from '@remotion/renderer';
2
2
  import type { JobProgressCallback } from '@remotion/studio-server';
3
- export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, 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, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, experimentalClientSideRenderingEnabled, experimentalVisualModeEnabled, keyboardShortcutsEnabled, shouldCache, }: {
3
+ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, 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, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, experimentalClientSideRenderingEnabled, experimentalVisualModeEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, }: {
4
4
  remotionRoot: string;
5
5
  fullEntryPoint: string;
6
6
  entryPointReason: string;
@@ -68,4 +68,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
68
68
  experimentalVisualModeEnabled: boolean;
69
69
  keyboardShortcutsEnabled: boolean;
70
70
  shouldCache: boolean;
71
+ sampleRate: number;
71
72
  }) => Promise<void>;
@@ -62,7 +62,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
62
62
  const truthy_1 = require("../truthy");
63
63
  const user_passed_output_location_1 = require("../user-passed-output-location");
64
64
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
65
- const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, 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, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, experimentalClientSideRenderingEnabled, experimentalVisualModeEnabled, keyboardShortcutsEnabled, shouldCache, }) => {
65
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, 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, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, experimentalClientSideRenderingEnabled, experimentalVisualModeEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, }) => {
66
66
  var _a;
67
67
  renderer_1.RenderInternals.validateConcurrency({
68
68
  value: concurrency,
@@ -216,6 +216,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
216
216
  offthreadVideoCacheSizeInBytes,
217
217
  binariesDirectory,
218
218
  forceIPv4: false,
219
+ sampleRate,
219
220
  });
220
221
  addCleanupCallback(`Close server`, () => server.closeServer(false));
221
222
  const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
@@ -263,6 +264,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
263
264
  uiCodec,
264
265
  compositionCodec: config.defaultCodec,
265
266
  });
267
+ const resolvedSampleRate = client_1.BrowserSafeApis.options.sampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }, config.defaultSampleRate).value;
266
268
  renderer_1.RenderInternals.validateEvenDimensionsWithCodec({
267
269
  width: config.width,
268
270
  height: config.height,
@@ -397,6 +399,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
397
399
  server,
398
400
  indent,
399
401
  muted,
402
+ sampleRate: resolvedSampleRate,
400
403
  onBrowserLog: null,
401
404
  onFrameBuffer: null,
402
405
  logLevel,
@@ -514,6 +517,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
514
517
  onLog,
515
518
  licenseKey: null,
516
519
  isProduction: null,
520
+ sampleRate: resolvedSampleRate,
517
521
  });
518
522
  if (!updatesDontOverwrite) {
519
523
  updateRenderProgress({ newline: true, printToConsole: true });
@@ -126,6 +126,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
126
126
  offthreadVideoCacheSizeInBytes,
127
127
  binariesDirectory,
128
128
  forceIPv4: false,
129
+ sampleRate: 48000,
129
130
  });
130
131
  addCleanupCallback(`Close server`, () => server.closeServer(false));
131
132
  addCleanupCallback(`Cleanup bundle`, () => cleanupBundle());
@@ -7,7 +7,7 @@ const convert_entry_point_to_serve_url_1 = require("../convert-entry-point-to-se
7
7
  const get_cli_options_1 = require("../get-cli-options");
8
8
  const parsed_cli_1 = require("../parsed-cli");
9
9
  const render_1 = require("../render-flows/render");
10
- const { publicDirOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, bundleCacheOption, } = client_1.BrowserSafeApis.options;
10
+ const { publicDirOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, bundleCacheOption, sampleRateOption, } = client_1.BrowserSafeApis.options;
11
11
  const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, logLevel, }) => {
12
12
  var _a, _b, _c;
13
13
  if (job.type !== 'video' && job.type !== 'sequence') {
@@ -32,9 +32,13 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
32
32
  commandLine: parsed_cli_1.parsedCli,
33
33
  }).value;
34
34
  const rspack = rspackOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
35
+ const sampleRate = job.type === 'video'
36
+ ? job.sampleRate
37
+ : sampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
35
38
  const fullEntryPoint = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(entryPoint);
36
39
  await (0, render_1.renderVideoFlow)({
37
40
  remotionRoot,
41
+ sampleRate,
38
42
  browser: 'chrome',
39
43
  browserExecutable,
40
44
  chromiumOptions: job.chromiumOptions,
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, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, } = client_1.BrowserSafeApis.options;
14
+ const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, experimentalVisualModeOption, keyboardShortcutsOption, rspackOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, sampleRateOption, } = 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) {
@@ -133,6 +133,7 @@ const render = async (remotionRoot, args, logLevel) => {
133
133
  commandLine: parsed_cli_1.parsedCli,
134
134
  }).value;
135
135
  const rspack = rspackOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
136
+ const sampleRate = sampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
136
137
  const chromiumOptions = {
137
138
  disableWebSecurity,
138
139
  enableMultiProcessOnLinux,
@@ -238,6 +239,7 @@ const render = async (remotionRoot, args, logLevel) => {
238
239
  experimentalVisualModeEnabled,
239
240
  keyboardShortcutsEnabled,
240
241
  rspack,
242
+ sampleRate,
241
243
  shouldCache,
242
244
  });
243
245
  };
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.446",
6
+ "version": "4.0.448",
7
7
  "description": "Control Remotion features using the `npx remotion` command",
8
8
  "main": "dist/index.js",
9
9
  "sideEffects": false,
@@ -37,17 +37,17 @@
37
37
  "author": "Jonny Burger <jonny@remotion.dev>",
38
38
  "license": "SEE LICENSE IN LICENSE.md",
39
39
  "dependencies": {
40
- "@remotion/bundler": "4.0.446",
41
- "@remotion/media-utils": "4.0.446",
42
- "@remotion/player": "4.0.446",
43
- "@remotion/renderer": "4.0.446",
44
- "@remotion/studio-shared": "4.0.446",
45
- "@remotion/studio-server": "4.0.446",
46
- "@remotion/studio": "4.0.446",
40
+ "@remotion/bundler": "4.0.448",
41
+ "@remotion/media-utils": "4.0.448",
42
+ "@remotion/player": "4.0.448",
43
+ "@remotion/renderer": "4.0.448",
44
+ "@remotion/studio-shared": "4.0.448",
45
+ "@remotion/studio-server": "4.0.448",
46
+ "@remotion/studio": "4.0.448",
47
47
  "dotenv": "17.3.1",
48
48
  "minimist": "1.2.6",
49
49
  "prompts": "2.4.2",
50
- "remotion": "4.0.446"
50
+ "remotion": "4.0.448"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": ">=16.8.0",
@@ -58,14 +58,14 @@
58
58
  "@types/prompts": "^2.4.1",
59
59
  "@types/prettier": "^2.7.2",
60
60
  "@types/node": "20.12.14",
61
- "@remotion/zod-types": "4.0.446",
62
- "@remotion/tailwind-v4": "4.0.446",
63
- "@remotion/enable-scss": "4.0.446",
64
- "@remotion/skia": "4.0.446",
61
+ "@remotion/zod-types": "4.0.448",
62
+ "@remotion/tailwind-v4": "4.0.448",
63
+ "@remotion/enable-scss": "4.0.448",
64
+ "@remotion/skia": "4.0.448",
65
65
  "react": "19.2.3",
66
66
  "react-dom": "19.2.3",
67
67
  "zod": "4.3.6",
68
- "@remotion/eslint-config-internal": "4.0.446",
68
+ "@remotion/eslint-config-internal": "4.0.448",
69
69
  "eslint": "9.19.0",
70
70
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
71
71
  },