@remotion/renderer 4.0.146 → 4.0.148

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/client.d.ts CHANGED
@@ -16,6 +16,7 @@ export declare const BrowserSafeApis: {
16
16
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
17
17
  DEFAULT_TIMEOUT: number;
18
18
  DEFAULT_JPEG_QUALITY: number;
19
+ DEFAULT_COLOR_SPACE: "default";
19
20
  supportedAudioCodecs: {
20
21
  readonly h264: readonly ["aac", "pcm-16", "mp3"];
21
22
  readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
@@ -404,14 +405,14 @@ export declare const BrowserSafeApis: {
404
405
  description: () => import("react/jsx-runtime").JSX.Element;
405
406
  docLink: string;
406
407
  ssrName: string;
407
- type: "default" | "bt709" | "bt2020-ncl";
408
+ type: "default" | "bt709" | "bt2020-ncl" | null;
408
409
  getValue: ({ commandLine }: {
409
410
  commandLine: Record<string, unknown>;
410
411
  }) => {
411
412
  source: string;
412
413
  value: "default" | "bt709" | "bt2020-ncl";
413
414
  };
414
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
415
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
415
416
  };
416
417
  deleteAfterOption: {
417
418
  name: string;
@@ -602,17 +603,17 @@ export declare const BrowserSafeApis: {
602
603
  description: () => import("react/jsx-runtime").JSX.Element;
603
604
  ssrName: "x264Preset";
604
605
  docLink: string;
605
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
606
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
606
607
  getValue: ({ commandLine }: {
607
608
  commandLine: Record<string, unknown>;
608
609
  }) => {
609
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
610
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
610
611
  source: string;
611
612
  } | {
612
613
  value: null;
613
614
  source: string;
614
615
  };
615
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
616
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
616
617
  };
617
618
  logLevelOption: {
618
619
  cliFlag: "log";
@@ -862,17 +863,17 @@ export declare const BrowserSafeApis: {
862
863
  description: () => import("react/jsx-runtime").JSX.Element;
863
864
  ssrName: "x264Preset";
864
865
  docLink: string;
865
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
866
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
866
867
  getValue: ({ commandLine }: {
867
868
  commandLine: Record<string, unknown>;
868
869
  }) => {
869
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
870
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
870
871
  source: string;
871
872
  } | {
872
873
  value: null;
873
874
  source: string;
874
875
  };
875
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
876
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
876
877
  };
877
878
  readonly audioBitrate: {
878
879
  name: string;
@@ -898,14 +899,14 @@ export declare const BrowserSafeApis: {
898
899
  description: () => import("react/jsx-runtime").JSX.Element;
899
900
  docLink: string;
900
901
  ssrName: string;
901
- type: "default" | "bt709" | "bt2020-ncl";
902
+ type: "default" | "bt709" | "bt2020-ncl" | null;
902
903
  getValue: ({ commandLine }: {
903
904
  commandLine: Record<string, unknown>;
904
905
  }) => {
905
906
  source: string;
906
907
  value: "default" | "bt709" | "bt2020-ncl";
907
908
  };
908
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
909
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
909
910
  };
910
911
  readonly codec: {
911
912
  name: string;
@@ -1584,17 +1585,17 @@ export declare const BrowserSafeApis: {
1584
1585
  description: () => import("react/jsx-runtime").JSX.Element;
1585
1586
  ssrName: "x264Preset";
1586
1587
  docLink: string;
1587
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
1588
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
1588
1589
  getValue: ({ commandLine }: {
1589
1590
  commandLine: Record<string, unknown>;
1590
1591
  }) => {
1591
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
1592
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
1592
1593
  source: string;
1593
1594
  } | {
1594
1595
  value: null;
1595
1596
  source: string;
1596
1597
  };
1597
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1598
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1598
1599
  };
1599
1600
  readonly encodingMaxRate: {
1600
1601
  name: string;
@@ -1638,14 +1639,14 @@ export declare const BrowserSafeApis: {
1638
1639
  description: () => import("react/jsx-runtime").JSX.Element;
1639
1640
  docLink: string;
1640
1641
  ssrName: string;
1641
- type: "default" | "bt709" | "bt2020-ncl";
1642
+ type: "default" | "bt709" | "bt2020-ncl" | null;
1642
1643
  getValue: ({ commandLine }: {
1643
1644
  commandLine: Record<string, unknown>;
1644
1645
  }) => {
1645
1646
  source: string;
1646
1647
  value: "default" | "bt709" | "bt2020-ncl";
1647
1648
  };
1648
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
1649
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
1649
1650
  };
1650
1651
  readonly muted: {
1651
1652
  name: string;
@@ -1902,14 +1903,14 @@ export declare const BrowserSafeApis: {
1902
1903
  description: () => import("react/jsx-runtime").JSX.Element;
1903
1904
  docLink: string;
1904
1905
  ssrName: string;
1905
- type: "default" | "bt709" | "bt2020-ncl";
1906
+ type: "default" | "bt709" | "bt2020-ncl" | null;
1906
1907
  getValue: ({ commandLine }: {
1907
1908
  commandLine: Record<string, unknown>;
1908
1909
  }) => {
1909
1910
  source: string;
1910
1911
  value: "default" | "bt709" | "bt2020-ncl";
1911
1912
  };
1912
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
1913
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
1913
1914
  };
1914
1915
  readonly audioBitrate: {
1915
1916
  name: string;
@@ -1950,17 +1951,17 @@ export declare const BrowserSafeApis: {
1950
1951
  description: () => import("react/jsx-runtime").JSX.Element;
1951
1952
  ssrName: "x264Preset";
1952
1953
  docLink: string;
1953
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
1954
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
1954
1955
  getValue: ({ commandLine }: {
1955
1956
  commandLine: Record<string, unknown>;
1956
1957
  }) => {
1957
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
1958
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
1958
1959
  source: string;
1959
1960
  } | {
1960
1961
  value: null;
1961
1962
  source: string;
1962
1963
  };
1963
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1964
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1964
1965
  };
1965
1966
  readonly encodingMaxRate: {
1966
1967
  name: string;
package/dist/client.js CHANGED
@@ -37,6 +37,7 @@ exports.BrowserSafeApis = {
37
37
  DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
38
38
  DEFAULT_TIMEOUT: TimeoutSettings_1.DEFAULT_TIMEOUT,
39
39
  DEFAULT_JPEG_QUALITY: jpeg_quality_1.DEFAULT_JPEG_QUALITY,
40
+ DEFAULT_COLOR_SPACE: color_space_1.DEFAULT_COLOR_SPACE,
40
41
  supportedAudioCodecs: audio_codec_1.supportedAudioCodecs,
41
42
  defaultFileExtensionMap: file_extensions_1.defaultFileExtensionMap,
42
43
  defaultAudioCodecs: audio_codec_1.defaultAudioCodecs,
@@ -4,7 +4,8 @@ exports.makeFileExecutableIfItIsNot = void 0;
4
4
  /* eslint-disable no-bitwise */
5
5
  const node_fs_1 = require("node:fs");
6
6
  const hasPermissions = (p) => {
7
- if (process.platform !== 'linux') {
7
+ // We observe that with Bun, the problem also happens in macOS
8
+ if (process.platform !== 'linux' && process.platform !== 'darwin') {
8
9
  try {
9
10
  (0, node_fs_1.accessSync)(p, node_fs_1.constants.X_OK);
10
11
  return true;
@@ -4,6 +4,9 @@ export declare const createFfmpegComplexFilter: ({ filters, downloadMap, }: {
4
4
  filters: PreprocessedAudioTrack[];
5
5
  downloadMap: DownloadMap;
6
6
  }) => Promise<{
7
- complexFilterFlag: [string, string] | null;
7
+ complexFilterFlag: [
8
+ string,
9
+ string
10
+ ] | null;
8
11
  cleanup: () => void;
9
12
  }>;
@@ -1,5 +1,5 @@
1
1
  import type { Codec } from './codec';
2
- import type { ColorSpace } from './options/color-space';
2
+ import { type ColorSpace } from './options/color-space';
3
3
  import type { X264Preset } from './options/x264-preset';
4
4
  import type { PixelFormat } from './pixel-format';
5
5
  export declare const generateFfmpegArgs: ({ hasPreencoded, proResProfileName, pixelFormat, x264Preset, codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, colorSpace, }: {
@@ -12,5 +12,5 @@ export declare const generateFfmpegArgs: ({ hasPreencoded, proResProfileName, pi
12
12
  videoBitrate: string | null;
13
13
  encodingMaxRate: string | null;
14
14
  encodingBufferSize: string | null;
15
- colorSpace: ColorSpace;
15
+ colorSpace: ColorSpace | null;
16
16
  }) => string[][];
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateFfmpegArgs = void 0;
4
4
  const crf_1 = require("./crf");
5
5
  const get_codec_name_1 = require("./get-codec-name");
6
+ const color_space_1 = require("./options/color-space");
6
7
  const truthy_1 = require("./truthy");
7
8
  const firstEncodingStepOnly = ({ hasPreencoded, proResProfileName, pixelFormat, x264Preset, codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, }) => {
8
9
  if (hasPreencoded || codec === 'gif') {
@@ -29,7 +30,8 @@ const generateFfmpegArgs = ({ hasPreencoded, proResProfileName, pixelFormat, x26
29
30
  if (encoderName === null) {
30
31
  throw new TypeError('encoderName is null: ' + JSON.stringify(codec));
31
32
  }
32
- const colorSpaceOptions = colorSpace === 'bt709'
33
+ const resolvedColorSpace = colorSpace !== null && colorSpace !== void 0 ? colorSpace : color_space_1.DEFAULT_COLOR_SPACE;
34
+ const colorSpaceOptions = resolvedColorSpace === 'bt709'
33
35
  ? [
34
36
  ['-colorspace:v', 'bt709'],
35
37
  ['-color_primaries:v', 'bt709'],
@@ -41,7 +43,7 @@ const generateFfmpegArgs = ({ hasPreencoded, proResProfileName, pixelFormat, x26
41
43
  // "Color range" section
42
44
  ['-vf', 'zscale=matrix=709:matrixin=709:range=limited'],
43
45
  ]
44
- : colorSpace === 'bt2020-ncl'
46
+ : resolvedColorSpace === 'bt2020-ncl'
45
47
  ? [
46
48
  ['-colorspace:v', 'bt2020nc'],
47
49
  ['-color_primaries:v', 'bt2020'],
package/dist/index.d.ts CHANGED
@@ -336,7 +336,7 @@ export declare const RenderInternals: {
336
336
  makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
337
337
  defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
338
338
  getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
339
- type: "ffmpeg" | "ffprobe" | "compositor";
339
+ type: "compositor" | "ffmpeg" | "ffprobe";
340
340
  indent: boolean;
341
341
  logLevel: "verbose" | "info" | "warn" | "error";
342
342
  binariesDirectory: string | null;
@@ -783,7 +783,7 @@ export declare const RenderInternals: {
783
783
  assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
784
784
  enforceAudioTrack: boolean;
785
785
  muted: boolean;
786
- }) => "yes" | "maybe" | "no";
786
+ }) => "no" | "yes" | "maybe";
787
787
  codecSupportsMedia: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => {
788
788
  video: boolean;
789
789
  audio: boolean;
@@ -90,6 +90,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
90
90
  '--disable-sync',
91
91
  '--force-color-profile=srgb',
92
92
  '--metrics-recording-only',
93
+ '--mute-audio',
93
94
  '--no-first-run',
94
95
  '--video-threads=' + (0, get_video_threads_flag_1.getIdealVideoThreadsFlag)(logLevel),
95
96
  '--enable-automation',
@@ -1,18 +1,19 @@
1
1
  export declare const validColorSpaces: readonly ["default", "bt709", "bt2020-ncl"];
2
2
  export type ColorSpace = (typeof validColorSpaces)[number];
3
+ export declare const DEFAULT_COLOR_SPACE: "default";
3
4
  export declare const colorSpaceOption: {
4
5
  name: string;
5
6
  cliFlag: "color-space";
6
7
  description: () => import("react/jsx-runtime").JSX.Element;
7
8
  docLink: string;
8
9
  ssrName: string;
9
- type: "default" | "bt709" | "bt2020-ncl";
10
+ type: "default" | "bt709" | "bt2020-ncl" | null;
10
11
  getValue: ({ commandLine }: {
11
12
  commandLine: Record<string, unknown>;
12
13
  }) => {
13
14
  source: string;
14
15
  value: "default" | "bt709" | "bt2020-ncl";
15
16
  };
16
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
17
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
17
18
  };
18
19
  export declare const validateColorSpace: (option: unknown) => void;
@@ -1,17 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateColorSpace = exports.colorSpaceOption = exports.validColorSpaces = void 0;
3
+ exports.validateColorSpace = exports.colorSpaceOption = exports.DEFAULT_COLOR_SPACE = exports.validColorSpaces = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- exports.validColorSpaces = ['default', 'bt709', 'bt2020-ncl'];
6
- let colorSpace = 'default';
5
+ const no_react_1 = require("remotion/no-react");
6
+ const validV4ColorSpaces = ['default', 'bt709', 'bt2020-ncl'];
7
+ const validV5ColorSpaces = ['bt601', 'bt709', 'bt2020-ncl'];
8
+ exports.validColorSpaces = (no_react_1.NoReactInternals.ENABLE_V5_BREAKING_CHANGES
9
+ ? validV5ColorSpaces
10
+ : validV4ColorSpaces);
11
+ exports.DEFAULT_COLOR_SPACE = (no_react_1.NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? 'bt709' : 'default');
12
+ let colorSpace = exports.DEFAULT_COLOR_SPACE;
7
13
  const cliFlag = 'color-space';
8
14
  exports.colorSpaceOption = {
9
15
  name: 'Color space',
10
16
  cliFlag: 'color-space',
11
- description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Color space to use for the video. Acceptable values:", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "default", '"'] }), ",", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt709", '"'] }), ' ', "(since v4.0.28),", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt2020-ncl", '"'] }), ' ', "(since v4.0.88),", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt2020-cl", '"'] }), ' ', "(since v4.0.88), .", (0, jsx_runtime_1.jsx)("br", {}), "If a non-default colorspace is used, it is recommended to also use", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "png", '"'] }), ' ', "as the image format to have accurate color transformations throughout. Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."] })),
17
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Color space to use for the video. Acceptable values:", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', exports.DEFAULT_COLOR_SPACE, '"'] }), "(default since 5.0),", ' ', no_react_1.NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? ((0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt601", '"', ', '] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt709", '"'] }), ' ', "(since v4.0.28),", ' '] })), (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt2020-ncl", '"'] }), ' ', "(since v4.0.88),", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "bt2020-cl", '"'] }), ' ', "(since v4.0.88), .", (0, jsx_runtime_1.jsx)("br", {}), "For best color accuracy, it is recommended to also use", ' ', (0, jsx_runtime_1.jsxs)("code", { children: ['"', "png", '"'] }), ' ', "as the image format to have accurate color transformations throughout.", (0, jsx_runtime_1.jsx)("br", {}), "Only since v4.0.83, colorspace conversion is actually performed, previously it would only tag the metadata of the video."] })),
12
18
  docLink: 'https://www.remotion.dev/docs/renderer/render-media#colorspace',
13
19
  ssrName: 'colorSpace',
14
- type: 'default',
20
+ type: exports.DEFAULT_COLOR_SPACE,
15
21
  getValue: ({ commandLine }) => {
16
22
  if (commandLine[cliFlag] !== undefined) {
17
23
  return {
@@ -19,7 +25,7 @@ exports.colorSpaceOption = {
19
25
  value: commandLine[cliFlag],
20
26
  };
21
27
  }
22
- if (colorSpace !== 'default') {
28
+ if (colorSpace !== exports.DEFAULT_COLOR_SPACE) {
23
29
  return {
24
30
  source: 'config',
25
31
  value: colorSpace,
@@ -27,11 +33,11 @@ exports.colorSpaceOption = {
27
33
  }
28
34
  return {
29
35
  source: 'default',
30
- value: 'default',
36
+ value: exports.DEFAULT_COLOR_SPACE,
31
37
  };
32
38
  },
33
39
  setConfig: (value) => {
34
- colorSpace = value;
40
+ colorSpace = value !== null && value !== void 0 ? value : exports.DEFAULT_COLOR_SPACE;
35
41
  },
36
42
  };
37
43
  const validateColorSpace = (option) => {
@@ -184,14 +184,14 @@ export declare const allOptions: {
184
184
  description: () => import("react/jsx-runtime").JSX.Element;
185
185
  docLink: string;
186
186
  ssrName: string;
187
- type: "default" | "bt709" | "bt2020-ncl";
187
+ type: "default" | "bt709" | "bt2020-ncl" | null;
188
188
  getValue: ({ commandLine }: {
189
189
  commandLine: Record<string, unknown>;
190
190
  }) => {
191
191
  source: string;
192
192
  value: "default" | "bt709" | "bt2020-ncl";
193
193
  };
194
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
194
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
195
195
  };
196
196
  deleteAfterOption: {
197
197
  name: string;
@@ -382,17 +382,17 @@ export declare const allOptions: {
382
382
  description: () => import("react/jsx-runtime").JSX.Element;
383
383
  ssrName: "x264Preset";
384
384
  docLink: string;
385
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
385
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
386
386
  getValue: ({ commandLine }: {
387
387
  commandLine: Record<string, unknown>;
388
388
  }) => {
389
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
389
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
390
390
  source: string;
391
391
  } | {
392
392
  value: null;
393
393
  source: string;
394
394
  };
395
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
395
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
396
396
  };
397
397
  logLevelOption: {
398
398
  cliFlag: "log";
@@ -72,17 +72,17 @@ export declare const optionsMap: {
72
72
  description: () => import("react/jsx-runtime").JSX.Element;
73
73
  ssrName: "x264Preset";
74
74
  docLink: string;
75
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
75
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
76
76
  getValue: ({ commandLine }: {
77
77
  commandLine: Record<string, unknown>;
78
78
  }) => {
79
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
79
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
80
80
  source: string;
81
81
  } | {
82
82
  value: null;
83
83
  source: string;
84
84
  };
85
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
85
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
86
86
  };
87
87
  readonly audioBitrate: {
88
88
  name: string;
@@ -108,14 +108,14 @@ export declare const optionsMap: {
108
108
  description: () => import("react/jsx-runtime").JSX.Element;
109
109
  docLink: string;
110
110
  ssrName: string;
111
- type: "default" | "bt709" | "bt2020-ncl";
111
+ type: "default" | "bt709" | "bt2020-ncl" | null;
112
112
  getValue: ({ commandLine }: {
113
113
  commandLine: Record<string, unknown>;
114
114
  }) => {
115
115
  source: string;
116
116
  value: "default" | "bt709" | "bt2020-ncl";
117
117
  };
118
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
118
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
119
119
  };
120
120
  readonly codec: {
121
121
  name: string;
@@ -794,17 +794,17 @@ export declare const optionsMap: {
794
794
  description: () => import("react/jsx-runtime").JSX.Element;
795
795
  ssrName: "x264Preset";
796
796
  docLink: string;
797
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
797
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
798
798
  getValue: ({ commandLine }: {
799
799
  commandLine: Record<string, unknown>;
800
800
  }) => {
801
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
801
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
802
802
  source: string;
803
803
  } | {
804
804
  value: null;
805
805
  source: string;
806
806
  };
807
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
807
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
808
808
  };
809
809
  readonly encodingMaxRate: {
810
810
  name: string;
@@ -848,14 +848,14 @@ export declare const optionsMap: {
848
848
  description: () => import("react/jsx-runtime").JSX.Element;
849
849
  docLink: string;
850
850
  ssrName: string;
851
- type: "default" | "bt709" | "bt2020-ncl";
851
+ type: "default" | "bt709" | "bt2020-ncl" | null;
852
852
  getValue: ({ commandLine }: {
853
853
  commandLine: Record<string, unknown>;
854
854
  }) => {
855
855
  source: string;
856
856
  value: "default" | "bt709" | "bt2020-ncl";
857
857
  };
858
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
858
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
859
859
  };
860
860
  readonly muted: {
861
861
  name: string;
@@ -1112,14 +1112,14 @@ export declare const optionsMap: {
1112
1112
  description: () => import("react/jsx-runtime").JSX.Element;
1113
1113
  docLink: string;
1114
1114
  ssrName: string;
1115
- type: "default" | "bt709" | "bt2020-ncl";
1115
+ type: "default" | "bt709" | "bt2020-ncl" | null;
1116
1116
  getValue: ({ commandLine }: {
1117
1117
  commandLine: Record<string, unknown>;
1118
1118
  }) => {
1119
1119
  source: string;
1120
1120
  value: "default" | "bt709" | "bt2020-ncl";
1121
1121
  };
1122
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
1122
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl" | null) => void;
1123
1123
  };
1124
1124
  readonly audioBitrate: {
1125
1125
  name: string;
@@ -1160,17 +1160,17 @@ export declare const optionsMap: {
1160
1160
  description: () => import("react/jsx-runtime").JSX.Element;
1161
1161
  ssrName: "x264Preset";
1162
1162
  docLink: string;
1163
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
1163
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
1164
1164
  getValue: ({ commandLine }: {
1165
1165
  commandLine: Record<string, unknown>;
1166
1166
  }) => {
1167
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
1167
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
1168
1168
  source: string;
1169
1169
  } | {
1170
1170
  value: null;
1171
1171
  source: string;
1172
1172
  };
1173
- setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1173
+ setConfig: (profile: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
1174
1174
  };
1175
1175
  readonly encodingMaxRate: {
1176
1176
  name: string;
@@ -11,11 +11,11 @@ export declare const x264Option: {
11
11
  description: () => import("react/jsx-runtime").JSX.Element;
12
12
  ssrName: "x264Preset";
13
13
  docLink: string;
14
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
14
+ type: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | null;
15
15
  getValue: ({ commandLine }: {
16
16
  commandLine: Record<string, unknown>;
17
17
  }) => {
18
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
18
+ value: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
19
19
  source: string;
20
20
  } | {
21
21
  value: null;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  /// <reference types="bun-types" />
3
4
  /// <reference types="node" />
4
5
  /// <reference types="node" />
5
6
  /// <reference types="node" />
6
7
  /// <reference types="bun-types" />
7
8
  /// <reference types="bun-types" />
8
- /// <reference types="node" />
9
9
  import type { NetworkInterfaceInfo } from 'os';
10
10
  import os from 'os';
11
11
  type PortConfig = {
@@ -36,7 +36,7 @@ type PreStitcherOptions = {
36
36
  encodingMaxRate: string | null;
37
37
  encodingBufferSize: string | null;
38
38
  indent: boolean;
39
- colorSpace: ColorSpace;
39
+ colorSpace: ColorSpace | null;
40
40
  binariesDirectory: string | null;
41
41
  };
42
42
  export declare const prespawnFfmpeg: (options: PreStitcherOptions) => {
@@ -10,7 +10,7 @@ import type { FrameRange } from './frame-range';
10
10
  import type { VideoImageFormat } from './image-format';
11
11
  import type { CancelSignal } from './make-cancel-signal';
12
12
  import type { ChromiumOptions } from './open-browser';
13
- import type { ColorSpace } from './options/color-space';
13
+ import { type ColorSpace } from './options/color-space';
14
14
  import type { ToOptions } from './options/option';
15
15
  import type { optionsMap } from './options/options-map';
16
16
  import type { PixelFormat } from './pixel-format';
@@ -27,6 +27,7 @@ const jpeg_quality_1 = require("./jpeg-quality");
27
27
  const logger_1 = require("./logger");
28
28
  const make_cancel_signal_1 = require("./make-cancel-signal");
29
29
  const audio_codec_1 = require("./options/audio-codec");
30
+ const color_space_1 = require("./options/color-space");
30
31
  const x264_preset_1 = require("./options/x264-preset");
31
32
  const overwrite_1 = require("./overwrite");
32
33
  const perf_1 = require("./perf");
@@ -547,7 +548,7 @@ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps,
547
548
  data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
548
549
  }).serializedString,
549
550
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
550
- colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : 'default',
551
+ colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : color_space_1.DEFAULT_COLOR_SPACE,
551
552
  repro: repro !== null && repro !== void 0 ? repro : false,
552
553
  finishRenderProgress: () => undefined,
553
554
  binariesDirectory: binariesDirectory !== null && binariesDirectory !== void 0 ? binariesDirectory : null,
@@ -6,7 +6,7 @@ import type { FfmpegOverrideFn } from './ffmpeg-override';
6
6
  import type { LogLevel } from './log-level';
7
7
  import type { CancelSignal } from './make-cancel-signal';
8
8
  import type { AudioCodec } from './options/audio-codec';
9
- import type { ColorSpace } from './options/color-space';
9
+ import { type ColorSpace } from './options/color-space';
10
10
  import type { ToOptions } from './options/option';
11
11
  import type { optionsMap } from './options/options-map';
12
12
  import type { X264Preset } from './options/x264-preset';
@@ -40,7 +40,7 @@ type InternalStitchFramesToVideoOptions = {
40
40
  x264Preset: X264Preset | null;
41
41
  enforceAudioTrack: boolean;
42
42
  ffmpegOverride: null | FfmpegOverrideFn;
43
- colorSpace: ColorSpace;
43
+ colorSpace: ColorSpace | null;
44
44
  binariesDirectory: string | null;
45
45
  } & ToOptions<typeof optionsMap.stitchFramesToVideo>;
46
46
  export type StitchFramesToVideoOptions = {
@@ -22,6 +22,7 @@ const get_prores_profile_name_1 = require("./get-prores-profile-name");
22
22
  const logger_1 = require("./logger");
23
23
  const make_cancel_signal_1 = require("./make-cancel-signal");
24
24
  const audio_codec_1 = require("./options/audio-codec");
25
+ const color_space_1 = require("./options/color-space");
25
26
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
26
27
  const pixel_format_1 = require("./pixel-format");
27
28
  const prores_profile_1 = require("./prores-profile");
@@ -326,7 +327,7 @@ const stitchFramesToVideo = ({ assetsInfo, force, fps, height, width, audioBitra
326
327
  preEncodedFileLocation: null,
327
328
  preferLossless: false,
328
329
  x264Preset: x264Preset !== null && x264Preset !== void 0 ? x264Preset : null,
329
- colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : 'default',
330
+ colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : color_space_1.DEFAULT_COLOR_SPACE,
330
331
  binariesDirectory: binariesDirectory !== null && binariesDirectory !== void 0 ? binariesDirectory : null,
331
332
  separateAudioTo: separateAudioTo !== null && separateAudioTo !== void 0 ? separateAudioTo : null,
332
333
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.146",
3
+ "version": "4.0.148",
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.146"
21
+ "remotion": "4.0.148"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": ">=16.8.0",
@@ -31,25 +31,25 @@
31
31
  "@types/node": "18.14.6",
32
32
  "@types/progress": "2.0.5",
33
33
  "@types/bun": "1.0.12",
34
- "@types/react": "18.2.48",
35
- "@types/react-dom": "18.2.18",
34
+ "@types/react": "18.3.1",
35
+ "@types/react-dom": "18.3.0",
36
36
  "jsdom": "^24.0.0",
37
37
  "eslint": "8.56.0",
38
38
  "prettier": "3.2.5",
39
39
  "prettier-plugin-organize-imports": "3.2.4",
40
- "react": "18.2.0",
41
- "react-dom": "18.2.0",
40
+ "react": "18.3.1",
41
+ "react-dom": "18.3.1",
42
42
  "vitest": "0.31.1",
43
43
  "@types/ws": "8.5.10"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@remotion/compositor-darwin-arm64": "4.0.146",
47
- "@remotion/compositor-linux-arm64-gnu": "4.0.146",
48
- "@remotion/compositor-linux-x64-gnu": "4.0.146",
49
- "@remotion/compositor-darwin-x64": "4.0.146",
50
- "@remotion/compositor-linux-x64-musl": "4.0.146",
51
- "@remotion/compositor-win32-x64-msvc": "4.0.146",
52
- "@remotion/compositor-linux-arm64-musl": "4.0.146"
46
+ "@remotion/compositor-darwin-arm64": "4.0.148",
47
+ "@remotion/compositor-linux-arm64-musl": "4.0.148",
48
+ "@remotion/compositor-linux-x64-gnu": "4.0.148",
49
+ "@remotion/compositor-linux-x64-musl": "4.0.148",
50
+ "@remotion/compositor-win32-x64-msvc": "4.0.148",
51
+ "@remotion/compositor-darwin-x64": "4.0.148",
52
+ "@remotion/compositor-linux-arm64-gnu": "4.0.148"
53
53
  },
54
54
  "keywords": [
55
55
  "remotion",