@remotion/cli 4.0.83 → 4.0.85

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.
@@ -0,0 +1,2 @@
1
+ export declare const setBeepOnFinish: (should: boolean) => void;
2
+ export declare const getBeepOnFinish: () => boolean;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBeepOnFinish = exports.setBeepOnFinish = void 0;
4
+ let beepOnFinish = false;
5
+ const setBeepOnFinish = (should) => {
6
+ beepOnFinish = should;
7
+ };
8
+ exports.setBeepOnFinish = setBeepOnFinish;
9
+ const getBeepOnFinish = () => beepOnFinish;
10
+ exports.getBeepOnFinish = getBeepOnFinish;
@@ -269,6 +269,10 @@ declare global {
269
269
  distributions or if window server libraries are missing.
270
270
  */
271
271
  readonly setChromiumMultiProcessOnLinux: (multiProcessOnLinux: boolean) => void;
272
+ /**
273
+ * Whether the Remotion Studio should play a beep sound when a render has finished.
274
+ */
275
+ readonly setBeepOnFinish: (beepOnFinish: boolean) => void;
272
276
  }
273
277
  }
274
278
  type FlatConfig = RemotionConfigObject & RemotionBundlingOptions & {
@@ -341,6 +345,7 @@ export declare const ConfigInternals: {
341
345
  getWebpackOverrideFn: () => WebpackOverrideFn;
342
346
  getWebpackCaching: () => boolean;
343
347
  getOutputLocation: () => string | null;
348
+ getBeepOnFinish: () => boolean;
344
349
  Logging: typeof Logging;
345
350
  setFrameRangeFromCli: (newFrameRange: string | number) => void;
346
351
  setStillFrame: (frame: number) => void;
@@ -367,7 +372,7 @@ export declare const ConfigInternals: {
367
372
  getChromiumUserAgent: () => string | null;
368
373
  getOffthreadVideoCacheSizeInBytes: () => number | null;
369
374
  getDeleteAfter: () => ("1-day" | "3-days" | "7-days" | "30-days") | null;
370
- getColorSpace: () => "default" | "bt709";
375
+ getColorSpace: () => "default" | "bt709" | "bt2020-ncl";
371
376
  getEnableFolderExpiry: () => boolean | null;
372
377
  getChromiumMultiProcessOnLinux: () => boolean;
373
378
  };
@@ -50,6 +50,7 @@ const webpack_caching_1 = require("./webpack-caching");
50
50
  const x264_preset_1 = require("./x264-preset");
51
51
  const studio_1 = require("@remotion/studio");
52
52
  const audio_codec_1 = require("./audio-codec");
53
+ const beep_on_finish_1 = require("./beep-on-finish");
53
54
  const bitrate_1 = require("./bitrate");
54
55
  const browser_executable_2 = require("./browser-executable");
55
56
  const chromium_flags_2 = require("./chromium-flags");
@@ -164,6 +165,7 @@ exports.Config = {
164
165
  setOffthreadVideoCacheSizeInBytes: offthread_video_cache_size_1.setOffthreadVideoCacheSizeInBytes,
165
166
  setDeleteAfter: render_folder_expiry_1.setDeleteAfter,
166
167
  setColorSpace: color_space_1.setColorSpace,
168
+ setBeepOnFinish: beep_on_finish_1.setBeepOnFinish,
167
169
  setEnableFolderExpiry: enable_folder_expiry_1.setEnableFolderExpiry,
168
170
  };
169
171
  exports.ConfigInternals = {
@@ -196,6 +198,7 @@ exports.ConfigInternals = {
196
198
  getWebpackOverrideFn: override_webpack_1.getWebpackOverrideFn,
197
199
  getWebpackCaching: webpack_caching_1.getWebpackCaching,
198
200
  getOutputLocation: output_location_1.getOutputLocation,
201
+ getBeepOnFinish: beep_on_finish_1.getBeepOnFinish,
199
202
  Logging,
200
203
  setFrameRangeFromCli: frame_range_1.setFrameRangeFromCli,
201
204
  setStillFrame: still_frame_1.setStillFrame,
@@ -39,5 +39,5 @@ export declare const getCliOptions: (options: {
39
39
  configFileImageFormat: "png" | "jpeg" | "none" | undefined;
40
40
  offthreadVideoCacheSizeInBytes: number | null;
41
41
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
42
- colorSpace: "default" | "bt709";
42
+ colorSpace: "default" | "bt709" | "bt2020-ncl";
43
43
  }>;
@@ -26,6 +26,7 @@ const getRenderDefaults = () => {
26
26
  const stillImageFormat = config_1.ConfigInternals.getUserPreferredStillImageFormat();
27
27
  const videoImageFormat = config_1.ConfigInternals.getUserPreferredVideoImageFormat();
28
28
  const disableWebSecurity = config_1.ConfigInternals.getChromiumDisableWebSecurity();
29
+ const beepOnFinish = config_1.ConfigInternals.getBeepOnFinish();
29
30
  const headless = config_1.ConfigInternals.getChromiumHeadlessMode();
30
31
  const ignoreCertificateErrors = config_1.ConfigInternals.getIgnoreCertificateErrors();
31
32
  const openGlRenderer = config_1.ConfigInternals.getChromiumOpenGlRenderer();
@@ -66,6 +67,7 @@ const getRenderDefaults = () => {
66
67
  colorSpace,
67
68
  multiProcessOnLinux,
68
69
  userAgent,
70
+ beepOnFinish,
69
71
  };
70
72
  };
71
73
  exports.getRenderDefaults = getRenderDefaults;
package/dist/index.d.ts CHANGED
@@ -109,7 +109,7 @@ export declare const CliInternals: {
109
109
  configFileImageFormat: "png" | "jpeg" | "none" | undefined;
110
110
  offthreadVideoCacheSizeInBytes: number | null;
111
111
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
112
- colorSpace: "default" | "bt709";
112
+ colorSpace: "default" | "bt709" | "bt2020-ncl";
113
113
  }>;
114
114
  loadConfig: (remotionRoot: string) => Promise<string | null>;
115
115
  initializeCli: (remotionRoot: string) => Promise<"verbose" | "info" | "warn" | "error">;
@@ -118,7 +118,7 @@ export declare const CliInternals: {
118
118
  parsedCli: {
119
119
  "browser-executable": import("@remotion/renderer").BrowserExecutable;
120
120
  "pixel-format": "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
121
- "image-format": "png" | "jpeg" | "none" | "pdf" | "webp";
121
+ "image-format": "png" | "jpeg" | "pdf" | "webp" | "none";
122
122
  "prores-profile": "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy";
123
123
  "x264-preset": "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
124
124
  "bundle-cache": string;
@@ -126,7 +126,6 @@ export declare const CliInternals: {
126
126
  "ignore-certificate-errors": string;
127
127
  "disable-web-security": string;
128
128
  "every-nth-frame": number;
129
- "number-of-gif-loops": number;
130
129
  "number-of-shared-audio-tags": number;
131
130
  version: string;
132
131
  codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
@@ -169,8 +168,10 @@ export declare const CliInternals: {
169
168
  browser: string;
170
169
  "browser-args": string;
171
170
  "user-agent": string;
171
+ "number-of-gif-loops": number;
172
172
  "offthreadvideo-cache-size-in-bytes": number | null;
173
- "color-space": "default" | "bt709";
173
+ "color-space": "default" | "bt709" | "bt2020-ncl";
174
+ "beep-on-finish": boolean;
174
175
  "buffer-size": string | null;
175
176
  "max-rate": string | null;
176
177
  "delete-after": string | undefined;
@@ -191,7 +192,7 @@ export declare const CliInternals: {
191
192
  downloadName: string | null;
192
193
  outName: string | null;
193
194
  configImageFormat: "png" | "jpeg" | "pdf" | "webp" | null;
194
- cliFlag: "png" | "jpeg" | "none" | "pdf" | "webp" | null;
195
+ cliFlag: "png" | "jpeg" | "pdf" | "webp" | "none" | null;
195
196
  isLambda: boolean;
196
197
  fromUi: "png" | "jpeg" | "pdf" | "webp" | null;
197
198
  }) => {
@@ -1,5 +1,68 @@
1
1
  import type { AudioCodec, BrowserExecutable, Codec, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
- import { BrowserSafeApis } from '@remotion/renderer/client';
2
+ declare const beepOnFinishOption: {
3
+ name: string;
4
+ cliFlag: "beep-on-finish";
5
+ description: () => JSX.Element;
6
+ ssrName: null;
7
+ docLink: string;
8
+ type: boolean;
9
+ }, colorSpaceOption: {
10
+ name: string;
11
+ cliFlag: "color-space";
12
+ description: () => JSX.Element;
13
+ docLink: string;
14
+ ssrName: string;
15
+ type: "default" | "bt709" | "bt2020-ncl";
16
+ }, offthreadVideoCacheSizeInBytes: {
17
+ name: string;
18
+ cliFlag: "offthreadvideo-cache-size-in-bytes";
19
+ description: () => JSX.Element;
20
+ ssrName: "offthreadVideoCacheSizeInBytes";
21
+ docLink: string;
22
+ type: number | null;
23
+ }, encodingBufferSizeOption: {
24
+ name: string;
25
+ cliFlag: "buffer-size";
26
+ description: () => JSX.Element;
27
+ ssrName: "encodingBufferSize";
28
+ docLink: string;
29
+ type: string | null;
30
+ }, encodingMaxRateOption: {
31
+ name: string;
32
+ cliFlag: "max-rate";
33
+ description: () => JSX.Element;
34
+ ssrName: "encodingMaxRate";
35
+ docLink: string;
36
+ type: string | null;
37
+ }, deleteAfterOption: {
38
+ name: string;
39
+ cliFlag: "delete-after";
40
+ description: () => JSX.Element;
41
+ ssrName: "deleteAfter";
42
+ docLink: string;
43
+ type: string | null;
44
+ }, folderExpiryOption: {
45
+ name: string;
46
+ cliFlag: "enable-folder-expiry";
47
+ description: () => JSX.Element;
48
+ ssrName: "enableFolderExpiry";
49
+ docLink: string;
50
+ type: boolean | null;
51
+ }, enableMultiprocessOnLinuxOption: {
52
+ name: string;
53
+ cliFlag: "enable-multiprocess-on-linux";
54
+ description: () => JSX.Element;
55
+ ssrName: string;
56
+ docLink: string;
57
+ type: boolean;
58
+ }, numberOfGifLoopsOption: {
59
+ name: string;
60
+ cliFlag: "number-of-gif-loops";
61
+ description: () => JSX.Element;
62
+ ssrName: "numberOfGifLoops";
63
+ docLink: string;
64
+ type: number | null;
65
+ };
3
66
  type CommandLineOptions = {
4
67
  ['browser-executable']: BrowserExecutable;
5
68
  ['pixel-format']: PixelFormat;
@@ -11,12 +74,11 @@ type CommandLineOptions = {
11
74
  ['ignore-certificate-errors']: string;
12
75
  ['disable-web-security']: string;
13
76
  ['every-nth-frame']: number;
14
- ['number-of-gif-loops']: number;
77
+ [numberOfGifLoopsOption.cliFlag]: number;
15
78
  ['number-of-shared-audio-tags']: number;
16
- [BrowserSafeApis.options.offthreadVideoCacheSizeInBytes
17
- .cliFlag]: typeof BrowserSafeApis.options.offthreadVideoCacheSizeInBytes.type;
18
- [BrowserSafeApis.options.colorSpaceOption
19
- .cliFlag]: typeof BrowserSafeApis.options.colorSpaceOption.type;
79
+ [offthreadVideoCacheSizeInBytes.cliFlag]: typeof offthreadVideoCacheSizeInBytes.type;
80
+ [colorSpaceOption.cliFlag]: typeof colorSpaceOption.type;
81
+ [beepOnFinishOption.cliFlag]: typeof beepOnFinishOption.type;
20
82
  version: string;
21
83
  codec: Codec;
22
84
  concurrency: number;
@@ -25,10 +87,8 @@ type CommandLineOptions = {
25
87
  ['public-dir']: string;
26
88
  ['audio-bitrate']: string;
27
89
  ['video-bitrate']: string;
28
- [BrowserSafeApis.options.encodingBufferSizeOption
29
- .cliFlag]: typeof BrowserSafeApis.options.encodingBufferSizeOption.type;
30
- [BrowserSafeApis.options.encodingMaxRateOption
31
- .cliFlag]: typeof BrowserSafeApis.options.encodingMaxRateOption.type;
90
+ [encodingBufferSizeOption.cliFlag]: typeof encodingBufferSizeOption.type;
91
+ [encodingMaxRateOption.cliFlag]: typeof encodingMaxRateOption.type;
32
92
  ['audio-codec']: AudioCodec;
33
93
  crf: number;
34
94
  force: boolean;
@@ -62,9 +122,9 @@ type CommandLineOptions = {
62
122
  ['browser']: string;
63
123
  ['browser-args']: string;
64
124
  ['user-agent']: string;
65
- [BrowserSafeApis.options.deleteAfterOption.cliFlag]: string | undefined;
66
- [BrowserSafeApis.options.folderExpiryOption.cliFlag]: boolean | undefined;
67
- [BrowserSafeApis.options.enableMultiprocessOnLinuxOption.cliFlag]: boolean;
125
+ [deleteAfterOption.cliFlag]: string | undefined;
126
+ [folderExpiryOption.cliFlag]: boolean | undefined;
127
+ [enableMultiprocessOnLinuxOption.cliFlag]: boolean;
68
128
  };
69
129
  export declare const BooleanFlags: string[];
70
130
  export declare const parsedCli: CommandLineOptions & {
@@ -9,6 +9,7 @@ const client_1 = require("@remotion/renderer/client");
9
9
  const minimist_1 = __importDefault(require("minimist"));
10
10
  const config_1 = require("./config");
11
11
  const log_1 = require("./log");
12
+ const { beepOnFinishOption, colorSpaceOption, offthreadVideoCacheSizeInBytes, encodingBufferSizeOption, encodingMaxRateOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, numberOfGifLoopsOption, } = client_1.BrowserSafeApis.options;
12
13
  exports.BooleanFlags = [
13
14
  'force',
14
15
  'overwrite',
@@ -32,6 +33,7 @@ exports.BooleanFlags = [
32
33
  'disable-keyboard-shortcuts',
33
34
  'default-only',
34
35
  'no-open',
36
+ beepOnFinishOption.cliFlag,
35
37
  ];
36
38
  exports.parsedCli = (0, minimist_1.default)(process.argv.slice(2), {
37
39
  boolean: exports.BooleanFlags,
@@ -43,8 +45,8 @@ const parseCommandLine = () => {
43
45
  if (exports.parsedCli['browser-executable']) {
44
46
  config_1.Config.setBrowserExecutable(exports.parsedCli['browser-executable']);
45
47
  }
46
- if (exports.parsedCli['number-of-gif-loops']) {
47
- config_1.Config.setNumberOfGifLoops(exports.parsedCli['number-of-gif-loops']);
48
+ if (exports.parsedCli[numberOfGifLoopsOption.cliFlag]) {
49
+ config_1.Config.setNumberOfGifLoops(exports.parsedCli[numberOfGifLoopsOption.cliFlag]);
48
50
  }
49
51
  if (typeof exports.parsedCli['bundle-cache'] !== 'undefined') {
50
52
  config_1.Config.setCachingEnabled(exports.parsedCli['bundle-cache'] !== 'false');
@@ -150,6 +152,9 @@ const parseCommandLine = () => {
150
152
  if (typeof exports.parsedCli['max-rate'] !== 'undefined') {
151
153
  config_1.Config.setEncodingMaxRate(exports.parsedCli['max-rate']);
152
154
  }
155
+ if (typeof exports.parsedCli['beep-on-finish'] !== 'undefined') {
156
+ config_1.Config.setBeepOnFinish(exports.parsedCli['beep-on-finish']);
157
+ }
153
158
  if (typeof exports.parsedCli['offthreadvideo-cache-size-in-bytes'] !== 'undefined') {
154
159
  config_1.Config.setOffthreadVideoCacheSizeInBytes(exports.parsedCli['offthreadvideo-cache-size-in-bytes']);
155
160
  }
@@ -179,7 +179,7 @@ const getGuiProgressSubtitle = (progress) => {
179
179
  }
180
180
  const allRendered = progress.rendering.frames === progress.rendering.totalFrames;
181
181
  if (!allRendered || !progress.stitching || progress.stitching.frames === 0) {
182
- return `Rendering ${progress.rendering.frames}/${progress.rendering.totalFrames}`;
182
+ return `Rendered ${progress.rendering.frames}/${progress.rendering.totalFrames}`;
183
183
  }
184
- return `Stitching ${progress.stitching.frames}/${progress.stitching.totalFrames}`;
184
+ return `Stitched ${progress.stitching.frames}/${progress.stitching.totalFrames}`;
185
185
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.83",
3
+ "version": "4.0.85",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -31,12 +31,12 @@
31
31
  "dotenv": "9.0.2",
32
32
  "minimist": "1.2.6",
33
33
  "prompts": "2.4.2",
34
- "@remotion/bundler": "4.0.83",
35
- "@remotion/media-utils": "4.0.83",
36
- "@remotion/player": "4.0.83",
37
- "@remotion/renderer": "4.0.83",
38
- "@remotion/studio": "4.0.83",
39
- "remotion": "4.0.83"
34
+ "@remotion/bundler": "4.0.85",
35
+ "@remotion/player": "4.0.85",
36
+ "@remotion/renderer": "4.0.85",
37
+ "remotion": "4.0.85",
38
+ "@remotion/studio": "4.0.85",
39
+ "@remotion/media-utils": "4.0.85"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "react": ">=16.8.0",
@@ -55,14 +55,14 @@
55
55
  "eslint-plugin-10x": "1.5.2",
56
56
  "eslint-plugin-react": "7.32.2",
57
57
  "eslint-plugin-react-hooks": "4.4.0",
58
- "prettier": "3.0.2",
59
- "prettier-plugin-organize-imports": "^3.2.2",
58
+ "prettier": "3.1.1",
59
+ "prettier-plugin-organize-imports": "3.2.4",
60
60
  "react": "18.2.0",
61
61
  "react-dom": "18.2.0",
62
62
  "vitest": "0.31.1",
63
63
  "zod": "^3.22.3",
64
- "@remotion/zod-types": "4.0.83",
65
- "@remotion/tailwind": "4.0.83"
64
+ "@remotion/zod-types": "4.0.85",
65
+ "@remotion/tailwind": "4.0.85"
66
66
  },
67
67
  "keywords": [
68
68
  "remotion",