@remotion/renderer 4.0.97 → 4.0.98

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.
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.callFf = exports.dynamicLibraryPathOptions = void 0;
7
7
  const execa_1 = __importDefault(require("execa"));
8
8
  const node_fs_1 = require("node:fs");
9
- const node_path_1 = __importDefault(require("node:path"));
10
9
  const get_executable_path_1 = require("./compositor/get-executable-path");
11
10
  const truthy_1 = require("./truthy");
12
11
  const dynamicLibraryPathOptions = (indent, logLevel) => {
13
- const lib = node_path_1.default.join((0, get_executable_path_1.getExecutablePath)('ffmpeg-cwd', indent, logLevel), 'remotion', 'lib');
12
+ const lib = (0, get_executable_path_1.getExecutablePath)('lib', indent, logLevel);
14
13
  return {
15
14
  env: {
16
15
  RUST_BACKTRACE: 'full',
package/dist/client.d.ts CHANGED
@@ -316,7 +316,7 @@ export declare const BrowserSafeApis: {
316
316
  cliFlag: "gl";
317
317
  docLink: string;
318
318
  name: string;
319
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
319
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
320
320
  ssrName: string;
321
321
  description: () => import("react/jsx-runtime").JSX.Element;
322
322
  };
@@ -3,4 +3,5 @@ export declare function isMusl({ indent, logLevel, }: {
3
3
  indent: boolean;
4
4
  logLevel: LogLevel;
5
5
  }): boolean;
6
- export declare const getExecutablePath: (type: 'compositor' | 'ffmpeg' | 'ffprobe' | 'ffmpeg-cwd', indent: boolean, logLevel: LogLevel) => string;
6
+ export declare const getExecutablePath: (type: 'compositor' | 'ffmpeg' | 'ffprobe' | 'lib', indent: boolean, logLevel: LogLevel) => string;
7
+ export declare const getExecutableDir: (indent: boolean, logLevel: LogLevel) => string;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  // Adapted from @swc/core package
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getExecutablePath = exports.isMusl = void 0;
7
+ exports.getExecutableDir = exports.getExecutablePath = exports.isMusl = void 0;
8
+ const path_1 = __importDefault(require("path"));
5
9
  const logger_1 = require("../logger");
6
10
  let warned = false;
7
11
  function isMusl({ indent, logLevel, }) {
@@ -19,30 +23,48 @@ function isMusl({ indent, logLevel, }) {
19
23
  }
20
24
  exports.isMusl = isMusl;
21
25
  const getExecutablePath = (type, indent, logLevel) => {
22
- if (type === 'compositor' && process.env.COMPOSITOR_PATH) {
23
- return process.env.COMPOSITOR_PATH;
26
+ const base = (0, exports.getExecutableDir)(indent, logLevel);
27
+ switch (type) {
28
+ case 'compositor':
29
+ if (process.platform === 'win32') {
30
+ return path_1.default.join(base, 'compositor.exe');
31
+ }
32
+ return path_1.default.join(base, 'compositor');
33
+ case 'ffmpeg':
34
+ if (process.platform === 'win32') {
35
+ return path_1.default.join(base, 'ffmpeg', 'remotion', 'bin', 'ffmpeg.exe');
36
+ }
37
+ return path_1.default.join(base, 'ffmpeg', 'remotion', 'bin', 'ffmpeg');
38
+ case 'ffprobe':
39
+ if (process.platform === 'win32') {
40
+ return path_1.default.join(base, 'ffmpeg', 'remotion', 'bin', 'ffprobe.exe');
41
+ }
42
+ return path_1.default.join(base, 'ffmpeg', 'remotion', 'bin', 'ffprobe');
43
+ case 'lib':
44
+ return path_1.default.join(base, 'ffmpeg', 'remotion', 'lib');
45
+ default:
46
+ throw new Error(`Unknown executable type: ${type}`);
47
+ }
48
+ };
49
+ exports.getExecutablePath = getExecutablePath;
50
+ const getExecutableDir = (indent, logLevel) => {
51
+ if (process.env.COMPOSITOR_DIR) {
52
+ return process.env.COMPOSITOR_DIR;
24
53
  }
25
- const key = type === 'compositor'
26
- ? 'binaryPath'
27
- : type === 'ffmpeg'
28
- ? 'ffmpegPath'
29
- : type === 'ffprobe'
30
- ? 'ffprobePath'
31
- : 'ffmpegCwd';
32
54
  switch (process.platform) {
33
55
  case 'win32':
34
56
  switch (process.arch) {
35
57
  case 'x64':
36
- return require('@remotion/compositor-win32-x64-msvc')[key];
58
+ return require('@remotion/compositor-win32-x64-msvc').dir;
37
59
  default:
38
60
  throw new Error(`Unsupported architecture on Windows: ${process.arch}`);
39
61
  }
40
62
  case 'darwin':
41
63
  switch (process.arch) {
42
64
  case 'x64':
43
- return require('@remotion/compositor-darwin-x64')[key];
65
+ return require('@remotion/compositor-darwin-x64').dir;
44
66
  case 'arm64':
45
- return require('@remotion/compositor-darwin-arm64')[key];
67
+ return require('@remotion/compositor-darwin-arm64').dir;
46
68
  default:
47
69
  throw new Error(`Unsupported architecture on macOS: ${process.arch}`);
48
70
  }
@@ -51,14 +73,14 @@ const getExecutablePath = (type, indent, logLevel) => {
51
73
  switch (process.arch) {
52
74
  case 'x64':
53
75
  if (musl) {
54
- return require('@remotion/compositor-linux-x64-musl')[key];
76
+ return require('@remotion/compositor-linux-x64-musl').dir;
55
77
  }
56
- return require('@remotion/compositor-linux-x64-gnu')[key];
78
+ return require('@remotion/compositor-linux-x64-gnu').dir;
57
79
  case 'arm64':
58
80
  if (musl) {
59
- return require('@remotion/compositor-linux-arm64-musl')[key];
81
+ return require('@remotion/compositor-linux-arm64-musl').dir;
60
82
  }
61
- return require('@remotion/compositor-linux-arm64-gnu')[key];
83
+ return require('@remotion/compositor-linux-arm64-gnu').dir;
62
84
  default:
63
85
  throw new Error(`Unsupported architecture on Linux: ${process.arch}`);
64
86
  }
@@ -67,4 +89,4 @@ const getExecutablePath = (type, indent, logLevel) => {
67
89
  throw new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`);
68
90
  }
69
91
  };
70
- exports.getExecutablePath = getExecutablePath;
92
+ exports.getExecutableDir = getExecutableDir;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
1
3
  import execa from 'execa';
2
4
  import { HeadlessBrowser } from './browser/Browser';
3
5
  import { SymbolicateableError } from './error-handling/symbolicateable-error';
@@ -135,8 +137,8 @@ export declare const RenderInternals: {
135
137
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
136
138
  DEFAULT_BROWSER: "chrome";
137
139
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
138
- DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
139
- validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
140
+ DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
141
+ validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
140
142
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
141
143
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
142
144
  validateJpegQuality: (q: number | undefined) => void;
@@ -311,7 +313,7 @@ export declare const RenderInternals: {
311
313
  };
312
314
  makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
313
315
  defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
314
- getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
316
+ getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "lib", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
315
317
  callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], indent: boolean, logLevel: "verbose" | "info" | "warn" | "error", options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
316
318
  dynamicLibraryPathOptions: (indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => {
317
319
  env: {
@@ -327,8 +329,8 @@ export declare const RenderInternals: {
327
329
  };
328
330
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
329
331
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
330
- DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
331
- DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
332
+ DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
333
+ DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
332
334
  DEFAULT_JPEG_QUALITY: number;
333
335
  chalk: {
334
336
  enabled: () => boolean;
@@ -427,7 +429,7 @@ export declare const RenderInternals: {
427
429
  frame: number;
428
430
  serializedInputPropsWithCustomSchema: string;
429
431
  serializedResolvedPropsWithCustomSchema: string;
430
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
432
+ imageFormat: "jpeg" | "png" | "webp" | "pdf";
431
433
  jpegQuality: number;
432
434
  puppeteerInstance: HeadlessBrowser | null;
433
435
  envVariables: Record<string, string>;
@@ -3,7 +3,7 @@ export declare const glOption: {
3
3
  cliFlag: "gl";
4
4
  docLink: string;
5
5
  name: string;
6
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
6
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
7
7
  ssrName: string;
8
8
  description: () => import("react/jsx-runtime").JSX.Element;
9
9
  };
@@ -115,7 +115,7 @@ export declare const allOptions: {
115
115
  cliFlag: "gl";
116
116
  docLink: string;
117
117
  name: string;
118
- type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
118
+ type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
119
119
  ssrName: string;
120
120
  description: () => import("react/jsx-runtime").JSX.Element;
121
121
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.97",
3
+ "version": "4.0.98",
4
4
  "description": "Renderer for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "extract-zip": "2.0.1",
19
19
  "source-map": "^0.8.0-beta.0",
20
20
  "ws": "8.7.0",
21
- "remotion": "4.0.97"
21
+ "remotion": "4.0.98"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": ">=16.8.0",
@@ -40,13 +40,13 @@
40
40
  "vitest": "0.31.1"
41
41
  },
42
42
  "optionalDependencies": {
43
- "@remotion/compositor-darwin-arm64": "4.0.97",
44
- "@remotion/compositor-darwin-x64": "4.0.97",
45
- "@remotion/compositor-linux-arm64-gnu": "4.0.97",
46
- "@remotion/compositor-linux-x64-gnu": "4.0.97",
47
- "@remotion/compositor-linux-x64-musl": "4.0.97",
48
- "@remotion/compositor-linux-arm64-musl": "4.0.97",
49
- "@remotion/compositor-win32-x64-msvc": "4.0.97"
43
+ "@remotion/compositor-darwin-arm64": "4.0.98",
44
+ "@remotion/compositor-darwin-x64": "4.0.98",
45
+ "@remotion/compositor-linux-x64-gnu": "4.0.98",
46
+ "@remotion/compositor-linux-arm64-musl": "4.0.98",
47
+ "@remotion/compositor-linux-x64-musl": "4.0.98",
48
+ "@remotion/compositor-win32-x64-msvc": "4.0.98",
49
+ "@remotion/compositor-linux-arm64-gnu": "4.0.98"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",
@@ -1,3 +0,0 @@
1
- import type { LogLevel } from './log-level';
2
- export declare const gLibCErrorMessage: (libCString: string) => string | null;
3
- export declare const checkNodeVersionAndWarnAboutRosetta: (logLevel: LogLevel, indent: boolean) => void;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkNodeVersionAndWarnAboutRosetta = exports.gLibCErrorMessage = void 0;
4
- const logger_1 = require("./logger");
5
- const gLibCErrorMessage = (libCString) => {
6
- const split = libCString.split('.');
7
- if (split.length !== 2) {
8
- return null;
9
- }
10
- if (split[0] === '2' && Number(split[1]) >= 35) {
11
- return null;
12
- }
13
- if (Number(split[0]) > 2) {
14
- return null;
15
- }
16
- return `Rendering videos requires glibc 2.35 or higher. Your system has glibc ${libCString}.`;
17
- };
18
- exports.gLibCErrorMessage = gLibCErrorMessage;
19
- const checkLibCRequirement = (logLevel, indent) => {
20
- const { report } = process;
21
- if (report) {
22
- // @ts-expect-error no types
23
- const { glibcVersionRuntime } = report.getReport().header;
24
- if (!glibcVersionRuntime) {
25
- return;
26
- }
27
- const error = (0, exports.gLibCErrorMessage)(glibcVersionRuntime);
28
- if (error) {
29
- logger_1.Log.warn({ logLevel, indent }, error);
30
- }
31
- }
32
- };
33
- const checkNodeVersionAndWarnAboutRosetta = (logLevel, indent) => {
34
- const version = process.version.replace('v', '').split('.');
35
- const majorVersion = Number(version[0]);
36
- const requiredNodeVersion = 16;
37
- if (majorVersion < 16) {
38
- throw new Error(`Remotion requires at least Node ${requiredNodeVersion}. You currently have ${process.version}. Update your node version to ${requiredNodeVersion} to use Remotion.`);
39
- }
40
- checkLibCRequirement(logLevel, indent);
41
- };
42
- exports.checkNodeVersionAndWarnAboutRosetta = checkNodeVersionAndWarnAboutRosetta;