@remotion/cli 4.0.227 → 4.0.228

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
@@ -22,7 +22,7 @@ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-
22
22
  const show_compositions_picker_1 = require("./show-compositions-picker");
23
23
  const truthy_1 = require("./truthy");
24
24
  const DEFAULT_RUNS = 3;
25
- const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, } = client_1.BrowserSafeApis.options;
25
+ const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, } = client_1.BrowserSafeApis.options;
26
26
  const getValidConcurrency = (cliConcurrency) => {
27
27
  const { concurrencies } = parsed_cli_1.parsedCli;
28
28
  if (!concurrencies) {
@@ -339,6 +339,9 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
339
339
  onBrowserDownload,
340
340
  onArtifact: () => undefined,
341
341
  metadata,
342
+ hardwareAcceleration: hardwareAccelerationOption.getValue({
343
+ commandLine: parsed_cli_1.parsedCli,
344
+ }).value,
342
345
  }, (run, progress) => {
343
346
  benchmarkProgress.update(makeBenchmarkProgressBar({
344
347
  totalRuns: runs,
@@ -1,5 +1,6 @@
1
1
  import type { WebpackConfiguration } from '@remotion/bundler';
2
2
  import type { BrowserExecutable, CodecOrUndefined, ColorSpace, Crf, DeleteAfter, FrameRange, NumberOfGifLoops, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
3
+ import type { HardwareAccelerationOption } from '@remotion/renderer/client';
3
4
  import type { Concurrency } from './concurrency';
4
5
  import type { WebpackOverrideFn } from './override-webpack';
5
6
  export type { Concurrency, WebpackConfiguration, WebpackOverrideFn };
@@ -315,7 +316,14 @@ type FlatConfig = RemotionConfigObject & RemotionBundlingOptions & {
315
316
  * Set the amount of milliseconds after which the Player in the Studio will display a buffering UI after the Player has entered a buffer state.
316
317
  */
317
318
  setBufferStateDelayInMilliseconds: (delay: number | null) => void;
319
+ /**
320
+ * Metadata to be embedded into the output video file.
321
+ */
318
322
  setMetadata: (metadata: Record<string, string>) => void;
323
+ /**
324
+ *
325
+ */
326
+ setHardwareAcceleration: (hardwareAccelerationOption: HardwareAccelerationOption) => void;
319
327
  /**
320
328
  * @deprecated 'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.'
321
329
  */
@@ -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, mutedOption, videoCodecOption, colorSpaceOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, } = client_1.BrowserSafeApis.options;
45
+ const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, 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;
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.');
@@ -132,6 +132,7 @@ exports.Config = {
132
132
  setBinariesDirectory: binariesDirectoryOption.setConfig,
133
133
  setPreferLosslessAudio: preferLosslessOption.setConfig,
134
134
  setPublicPath: publicPathOption.setConfig,
135
+ setHardwareAcceleration: hardwareAccelerationOption.setConfig,
135
136
  };
136
137
  exports.ConfigInternals = {
137
138
  getRange: frame_range_1.getRange,
@@ -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, scaleOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, logLevelOption, delayRenderTimeoutInMillisecondsOption, headlessOption, forSeamlessAacConcatenationOption, audioCodecOption, } = client_1.BrowserSafeApis.options;
8
+ const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, logLevelOption, delayRenderTimeoutInMillisecondsOption, headlessOption, forSeamlessAacConcatenationOption, audioCodecOption, hardwareAccelerationOption, } = client_1.BrowserSafeApis.options;
9
9
  const getRenderDefaults = () => {
10
10
  var _a;
11
11
  const defaultJpegQuality = jpegQualityOption.getValue({
@@ -73,6 +73,9 @@ const getRenderDefaults = () => {
73
73
  const audioCodec = audioCodecOption.getValue({
74
74
  commandLine: parsed_cli_1.parsedCli,
75
75
  }).value;
76
+ const hardwareAcceleration = hardwareAccelerationOption.getValue({
77
+ commandLine: parsed_cli_1.parsedCli,
78
+ }).value;
76
79
  const everyNthFrame = config_1.ConfigInternals.getEveryNthFrame();
77
80
  const stillImageFormat = config_1.ConfigInternals.getUserPreferredStillImageFormat();
78
81
  const videoImageFormat = config_1.ConfigInternals.getUserPreferredVideoImageFormat();
@@ -117,6 +120,7 @@ const getRenderDefaults = () => {
117
120
  beepOnFinish,
118
121
  forSeamlessAacConcatenation,
119
122
  metadata,
123
+ hardwareAcceleration,
120
124
  };
121
125
  };
122
126
  exports.getRenderDefaults = getRenderDefaults;
package/dist/index.d.ts CHANGED
@@ -60,14 +60,14 @@ export declare const CliInternals: {
60
60
  };
61
61
  makeProgressBar: (percentage: number, noColor: boolean) => string;
62
62
  Log: {
63
- verbose: (options: import("@remotion/renderer").LogOptions & {
63
+ verbose: (options: import("@remotion/renderer/dist/logger").LogOptions & {
64
64
  tag?: string;
65
- }, ...args: Parameters<typeof console.log>) => void;
66
- info: (options: import("@remotion/renderer").LogOptions, ...args: Parameters<typeof console.log>) => void;
67
- warn: (options: import("@remotion/renderer").LogOptions, ...args: Parameters<typeof console.log>) => void;
68
- error: (options: import("@remotion/renderer").LogOptions & {
65
+ }, ...args: Parameters<typeof console.log>) => boolean | void;
66
+ info: (options: import("@remotion/renderer/dist/logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
67
+ warn: (options: import("@remotion/renderer/dist/logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
68
+ error: (options: import("@remotion/renderer/dist/logger").LogOptions & {
69
69
  tag?: string;
70
- }, ...args: Parameters<typeof console.log>) => void;
70
+ }, ...args: Parameters<typeof console.log>) => boolean | void;
71
71
  };
72
72
  getCliOptions: (options: {
73
73
  isStill: boolean;
package/dist/log.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export declare const Log: {
2
- verbose: (options: import("@remotion/renderer").LogOptions & {
2
+ verbose: (options: import("@remotion/renderer/dist/logger").LogOptions & {
3
3
  tag?: string;
4
- }, ...args: Parameters<typeof console.log>) => void;
5
- info: (options: import("@remotion/renderer").LogOptions, ...args: Parameters<typeof console.log>) => void;
6
- warn: (options: import("@remotion/renderer").LogOptions, ...args: Parameters<typeof console.log>) => void;
7
- error: (options: import("@remotion/renderer").LogOptions & {
4
+ }, ...args: Parameters<typeof console.log>) => boolean | void;
5
+ info: (options: import("@remotion/renderer/dist/logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
6
+ warn: (options: import("@remotion/renderer/dist/logger").LogOptions, ...args: Parameters<typeof console.log>) => boolean | void;
7
+ error: (options: import("@remotion/renderer/dist/logger").LogOptions & {
8
8
  tag?: string;
9
- }, ...args: Parameters<typeof console.log>) => void;
9
+ }, ...args: Parameters<typeof console.log>) => boolean | void;
10
10
  };
@@ -25,7 +25,7 @@ declare const beepOnFinishOption: {
25
25
  commandLine: Record<string, unknown>;
26
26
  }) => {
27
27
  source: string;
28
- value: import("@remotion/renderer").ColorSpace;
28
+ value: import("@remotion/renderer/dist/options/color-space").ColorSpace;
29
29
  };
30
30
  setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
31
31
  }, offthreadVideoCacheSizeInBytesOption: {
@@ -151,13 +151,13 @@ declare const beepOnFinishOption: {
151
151
  getValue: ({ commandLine }: {
152
152
  commandLine: Record<string, unknown>;
153
153
  }) => {
154
- value: import("@remotion/renderer").X264Preset;
154
+ value: import("@remotion/renderer/dist/options/x264-preset").X264Preset;
155
155
  source: string;
156
156
  } | {
157
157
  value: null;
158
158
  source: string;
159
159
  };
160
- setConfig: (profile: import("@remotion/renderer").X264Preset | null) => void;
160
+ setConfig: (profile: import("@remotion/renderer/dist/options/x264-preset").X264Preset | null) => void;
161
161
  }, enforceAudioOption: {
162
162
  name: string;
163
163
  cliFlag: "enforce-audio-track";
@@ -1,6 +1,7 @@
1
1
  import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, NumberOfGifLoops, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
+ import type { HardwareAccelerationOption } from '@remotion/renderer/client';
2
3
  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, 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, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, }: {
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, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, }: {
4
5
  remotionRoot: string;
5
6
  fullEntryPoint: string;
6
7
  entryPointReason: string;
@@ -54,4 +55,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
54
55
  separateAudioTo: string | null;
55
56
  publicPath: string | null;
56
57
  metadata: Record<string, string> | null;
58
+ hardwareAcceleration: HardwareAccelerationOption;
57
59
  }) => Promise<void>;
@@ -51,7 +51,7 @@ const setup_cache_1 = require("../setup-cache");
51
51
  const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
52
52
  const truthy_1 = require("../truthy");
53
53
  const user_passed_output_location_1 = require("../user-passed-output-location");
54
- 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, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, }) => {
54
+ 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, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, }) => {
55
55
  var _a;
56
56
  const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
57
57
  (0, progress_bar_1.printFact)('verbose')({
@@ -415,6 +415,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
415
415
  onBrowserDownload,
416
416
  onArtifact,
417
417
  metadata: metadata !== null && metadata !== void 0 ? metadata : null,
418
+ hardwareAcceleration,
418
419
  });
419
420
  if (!updatesDontOverwrite) {
420
421
  updateRenderProgress({ newline: true, printToConsole: true });
@@ -76,6 +76,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
76
76
  separateAudioTo: job.type === 'video' ? job.separateAudioTo : null,
77
77
  publicPath: null,
78
78
  metadata: job.metadata,
79
+ hardwareAcceleration: job.type === 'video' ? job.hardwareAcceleration : 'disable',
79
80
  });
80
81
  };
81
82
  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, } = 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, } = 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) {
@@ -98,6 +98,9 @@ const render = async (remotionRoot, args, logLevel) => {
98
98
  };
99
99
  const audioCodec = audioCodecOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
100
100
  const publicDir = publicDirOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
101
+ const hardwareAcceleration = hardwareAccelerationOption.getValue({
102
+ commandLine: parsed_cli_1.parsedCli,
103
+ }).value;
101
104
  await (0, render_1.renderVideoFlow)({
102
105
  fullEntryPoint,
103
106
  remotionRoot,
@@ -158,6 +161,7 @@ const render = async (remotionRoot, args, logLevel) => {
158
161
  separateAudioTo,
159
162
  publicPath,
160
163
  metadata,
164
+ hardwareAcceleration,
161
165
  });
162
166
  };
163
167
  exports.render = render;
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.227",
6
+ "version": "4.0.228",
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.227",
37
- "@remotion/media-utils": "4.0.227",
38
- "@remotion/player": "4.0.227",
39
- "@remotion/renderer": "4.0.227",
40
- "@remotion/studio-shared": "4.0.227",
41
- "@remotion/studio": "4.0.227",
42
- "remotion": "4.0.227",
43
- "@remotion/studio-server": "4.0.227"
36
+ "@remotion/bundler": "4.0.228",
37
+ "@remotion/media-utils": "4.0.228",
38
+ "@remotion/studio-shared": "4.0.228",
39
+ "@remotion/renderer": "4.0.228",
40
+ "@remotion/studio-server": "4.0.228",
41
+ "remotion": "4.0.228",
42
+ "@remotion/player": "4.0.228",
43
+ "@remotion/studio": "4.0.228"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": ">=16.8.0",
@@ -54,11 +54,11 @@
54
54
  "react-dom": "18.3.1",
55
55
  "zod": "3.22.3",
56
56
  "eslint": "9.14.0",
57
- "@remotion/zod-types": "4.0.227",
58
- "@remotion/tailwind": "4.0.227",
59
- "@remotion/enable-scss": "4.0.227",
60
- "@remotion/skia": "4.0.227",
61
- "@remotion/eslint-config-internal": "4.0.227"
57
+ "@remotion/zod-types": "4.0.228",
58
+ "@remotion/tailwind": "4.0.228",
59
+ "@remotion/enable-scss": "4.0.228",
60
+ "@remotion/skia": "4.0.228",
61
+ "@remotion/eslint-config-internal": "4.0.228"
62
62
  },
63
63
  "keywords": [
64
64
  "remotion",