@remotion/cli 4.0.54 → 4.0.56

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.
@@ -2,4 +2,4 @@ import type { StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  export declare const setStillImageFormat: (format: StillImageFormat) => void;
3
3
  export declare const setVideoImageFormat: (format: VideoImageFormat) => void;
4
4
  export declare const getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
5
- export declare const getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
5
+ export declare const getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
@@ -316,7 +316,7 @@ export declare const ConfigInternals: {
316
316
  getShouldOutputImageSequence: (frameRange: FrameRange | null) => boolean;
317
317
  getDotEnvLocation: () => string | null;
318
318
  getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
319
- getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
319
+ getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
320
320
  getWebpackOverrideFn: () => WebpackOverrideFn;
321
321
  getWebpackCaching: () => boolean;
322
322
  getOutputLocation: () => string | null;
@@ -0,0 +1,3 @@
1
+ import type { x264Preset } from '@remotion/renderer';
2
+ export declare const getPresetProfile: () => x264Preset | undefined;
3
+ export declare const setPresetProfile: (profile: x264Preset | undefined) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setPresetProfile = exports.getPresetProfile = void 0;
4
+ let preset;
5
+ const getPresetProfile = () => {
6
+ return preset;
7
+ };
8
+ exports.getPresetProfile = getPresetProfile;
9
+ const setPresetProfile = (profile) => {
10
+ preset = profile;
11
+ };
12
+ exports.setPresetProfile = setPresetProfile;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  export declare const CURRENT_COMPOSITION_HEIGHT = 80;
2
3
  export declare const CurrentComposition: () => JSX.Element;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -12,6 +12,6 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
12
12
  status: 'error' | 'warning' | 'ok';
13
13
  isFocused: boolean;
14
14
  isHovered: boolean;
15
- }) => "#f1c40f" | "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232";
16
- export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status" | "rightAlign"> & React.RefAttributes<HTMLInputElement>>;
15
+ }) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232" | "#f1c40f";
16
+ export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | "rightAlign" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
17
17
  export {};
@@ -4,5 +4,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>
4
4
  status: RemInputStatus;
5
5
  name: string;
6
6
  };
7
- export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status"> & React.RefAttributes<HTMLInputElement>>;
7
+ export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
8
8
  export {};
@@ -3,5 +3,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLTextAreaEleme
3
3
  status: 'error' | 'warning' | 'ok';
4
4
  };
5
5
  export declare const inputBaseStyle: React.CSSProperties;
6
- export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
6
+ export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
7
7
  export {};
@@ -1,2 +1,2 @@
1
1
  import type { Codec } from '@remotion/renderer';
2
- export declare const humanReadableCodec: (codec: Codec) => "AAC" | "MP3" | "GIF" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
2
+ export declare const humanReadableCodec: (codec: Codec) => "GIF" | "AAC" | "MP3" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { PackageManager } from '../../preview-server/get-package-manager';
2
3
  export type UpdateInfo = {
3
4
  currentVersion: string;
package/dist/ffmpeg.js CHANGED
@@ -4,25 +4,28 @@ exports.ffprobeCommand = exports.ffmpegCommand = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const node_child_process_1 = require("node:child_process");
6
6
  const node_fs_1 = require("node:fs");
7
+ const config_1 = require("./config");
7
8
  const ffmpegCommand = (_root, args) => {
8
- const binary = renderer_1.RenderInternals.getExecutablePath('ffmpeg');
9
+ const logLevel = config_1.ConfigInternals.Logging.getLogLevel();
10
+ const binary = renderer_1.RenderInternals.getExecutablePath('ffmpeg', false, logLevel);
9
11
  if (!process.env.READ_ONLY_FS) {
10
12
  (0, node_fs_1.chmodSync)(binary, 0o755);
11
13
  }
12
14
  const done = (0, node_child_process_1.spawnSync)(binary, args, {
13
- ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
15
+ ...renderer_1.RenderInternals.dynamicLibraryPathOptions(false, logLevel),
14
16
  stdio: 'inherit',
15
17
  });
16
18
  process.exit(done.status);
17
19
  };
18
20
  exports.ffmpegCommand = ffmpegCommand;
19
21
  const ffprobeCommand = (_root, args) => {
20
- const binary = renderer_1.RenderInternals.getExecutablePath('ffprobe');
22
+ const logLevel = config_1.ConfigInternals.Logging.getLogLevel();
23
+ const binary = renderer_1.RenderInternals.getExecutablePath('ffprobe', false, logLevel);
21
24
  if (!process.env.READ_ONLY_FS) {
22
25
  (0, node_fs_1.chmodSync)(binary, 0o755);
23
26
  }
24
27
  const done = (0, node_child_process_1.spawnSync)(binary, args, {
25
- ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
28
+ ...renderer_1.RenderInternals.dynamicLibraryPathOptions(false, logLevel),
26
29
  stdio: 'inherit',
27
30
  });
28
31
  process.exit(done.status);
@@ -34,7 +34,7 @@ export declare const getCliOptions: (options: {
34
34
  videoBitrate: string | null;
35
35
  height: number | null;
36
36
  width: number | null;
37
- configFileImageFormat: "none" | "png" | "jpeg" | undefined;
37
+ configFileImageFormat: "png" | "jpeg" | "none" | undefined;
38
38
  offthreadVideoCacheSizeInBytes: number | null;
39
39
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
40
40
  colorSpace: "default" | "bt709";
@@ -0,0 +1,2 @@
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const handleCommonError: (err: Error, logLevel: LogLevel) => Promise<void>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleCommonError = void 0;
4
+ const chalk_1 = require("./chalk");
5
+ const log_1 = require("./log");
6
+ const print_error_1 = require("./print-error");
7
+ const truthy_1 = require("./truthy");
8
+ const handleCommonError = async (err, logLevel) => {
9
+ var _a;
10
+ await (0, print_error_1.printError)(err, logLevel);
11
+ if (err.message.includes('Could not play video with')) {
12
+ log_1.Log.info();
13
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/media-playback-error');
14
+ }
15
+ if (err.message.includes('A delayRender()') &&
16
+ err.message.includes('was called but not cleared after')) {
17
+ log_1.Log.info();
18
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/timeout');
19
+ }
20
+ if (err.message.includes('Target closed')) {
21
+ log_1.Log.info();
22
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/target-closed');
23
+ }
24
+ if (err.message.includes('ENAMETOOLONG')) {
25
+ log_1.Log.info();
26
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/enametoolong');
27
+ }
28
+ if (err.message.includes('Error creating WebGL context')) {
29
+ log_1.Log.info();
30
+ log_1.Log.warn('💡 You might need to set the OpenGL renderer to "angle" (or "swangle" if rendering on lambda). Learn why at https://www.remotion.dev/docs/three');
31
+ log_1.Log.warn("💡 Check how it's done at https://www.remotion.dev/docs/chromium-flags#--gl");
32
+ }
33
+ if (err.message.includes('The bucket does not allow ACLs')) {
34
+ log_1.Log.info();
35
+ log_1.Log.info(chalk_1.chalk.green('💡 Fix this issue https://remotion.dev/docs/lambda/troubleshooting/bucket-disallows-acl'));
36
+ }
37
+ if (err.message.includes('Minified React error #306')) {
38
+ const componentName = (_a = err.message.match(/<\w+>/)) === null || _a === void 0 ? void 0 : _a[0];
39
+ log_1.Log.info([
40
+ '💡 This error indicates that the component',
41
+ componentName ? `(${componentName})` : null,
42
+ 'you are trying to render is not imported correctly.',
43
+ ]
44
+ .filter(truthy_1.truthy)
45
+ .join(' '));
46
+ log_1.Log.info();
47
+ log_1.Log.info(' Check the root file and ensure that the component is not undefined.');
48
+ log_1.Log.info(' Oftentimes, this happens if the component is missing the `export` keyword');
49
+ log_1.Log.info(' or if the component was renamed and the import statement not properly adjusted.');
50
+ }
51
+ if (err.message.includes('GLIBC_')) {
52
+ log_1.Log.info('💡 Remotion requires at least Libc 2.35.');
53
+ log_1.Log.info('💡 Get help for this issue: https://github.com/remotion-dev/remotion/issues/2439');
54
+ }
55
+ if (err.message.includes('EBADF')) {
56
+ log_1.Log.info('💡 This error might be fixed by changing your Node version:');
57
+ log_1.Log.info(' https://github.com/remotion-dev/remotion/issues/2452');
58
+ }
59
+ };
60
+ exports.handleCommonError = handleCommonError;
package/dist/index.d.ts CHANGED
@@ -119,7 +119,7 @@ export declare const CliInternals: {
119
119
  videoBitrate: string | null;
120
120
  height: number | null;
121
121
  width: number | null;
122
- configFileImageFormat: "none" | "png" | "jpeg" | undefined;
122
+ configFileImageFormat: "png" | "jpeg" | "none" | undefined;
123
123
  offthreadVideoCacheSizeInBytes: number | null;
124
124
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
125
125
  colorSpace: "default" | "bt709";
@@ -131,7 +131,7 @@ export declare const CliInternals: {
131
131
  parsedCli: {
132
132
  "browser-executable": import("@remotion/renderer").BrowserExecutable;
133
133
  "pixel-format": "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
134
- "image-format": "none" | "png" | "jpeg" | "pdf" | "webp";
134
+ "image-format": "png" | "jpeg" | "pdf" | "webp" | "none";
135
135
  "prores-profile": "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy";
136
136
  "x264-preset": "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
137
137
  "bundle-cache": string;
@@ -202,7 +202,7 @@ export declare const CliInternals: {
202
202
  downloadName: string | null;
203
203
  outName: string | null;
204
204
  configImageFormat: "png" | "jpeg" | "pdf" | "webp" | null;
205
- cliFlag: "none" | "png" | "jpeg" | "pdf" | "webp" | null;
205
+ cliFlag: "png" | "jpeg" | "pdf" | "webp" | "none" | null;
206
206
  isLambda: boolean;
207
207
  fromUi: "png" | "jpeg" | "pdf" | "webp" | null;
208
208
  }) => {
@@ -217,8 +217,8 @@ export declare const CliInternals: {
217
217
  };
218
218
  getVideoImageFormat: ({ codec, uiImageFormat, }: {
219
219
  codec: import("@remotion/renderer").CodecOrUndefined;
220
- uiImageFormat: "none" | "png" | "jpeg" | null;
221
- }) => "none" | "png" | "jpeg";
220
+ uiImageFormat: "png" | "jpeg" | "none" | null;
221
+ }) => "png" | "jpeg" | "none";
222
222
  printCompositions: (compositions: import("remotion").VideoConfig[]) => void;
223
223
  getFinalOutputCodec: ({ cliFlag, configFile, downloadName, outName, uiCodec, compositionCodec, }: {
224
224
  cliFlag: import("@remotion/renderer").CodecOrUndefined;
@@ -11,5 +11,5 @@ type Range = {
11
11
  type Ranges = Range[] & {
12
12
  type?: string;
13
13
  };
14
- export declare function parseRange(size: number, str: string | string[]): -1 | -2 | Ranges;
14
+ export declare function parseRange(size: number, str: string | string[]): -1 | Ranges | -2;
15
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.54",
3
+ "version": "4.0.56",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -35,11 +35,11 @@
35
35
  "prompts": "2.4.1",
36
36
  "semver": "7.5.3",
37
37
  "source-map": "0.6.1",
38
- "@remotion/bundler": "4.0.54",
39
- "@remotion/media-utils": "4.0.54",
40
- "remotion": "4.0.54",
41
- "@remotion/renderer": "4.0.54",
42
- "@remotion/player": "4.0.54"
38
+ "@remotion/bundler": "4.0.56",
39
+ "@remotion/media-utils": "4.0.56",
40
+ "@remotion/player": "4.0.56",
41
+ "@remotion/renderer": "4.0.56",
42
+ "remotion": "4.0.56"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",
@@ -65,8 +65,8 @@
65
65
  "react-dom": "^18.0.0",
66
66
  "vitest": "0.31.1",
67
67
  "zod": "^3.22.3",
68
- "@remotion/zod-types": "4.0.54",
69
- "@remotion/tailwind": "4.0.54"
68
+ "@remotion/zod-types": "4.0.56",
69
+ "@remotion/tailwind": "4.0.56"
70
70
  },
71
71
  "keywords": [
72
72
  "remotion",