@remotion/renderer 4.0.123 → 4.0.125

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.
Files changed (43) hide show
  1. package/dist/can-concatenate-seamlessly.d.ts +3 -0
  2. package/dist/can-concatenate-seamlessly.js +7 -0
  3. package/dist/check-apple-silicon.d.ts +3 -1
  4. package/dist/check-apple-silicon.js +32 -2
  5. package/dist/client.d.ts +73 -73
  6. package/dist/create-combined-video.d.ts +2 -3
  7. package/dist/create-combined-video.js +1 -7
  8. package/dist/create-ffmpeg-complex-filter.d.ts +4 -1
  9. package/dist/get-compositions.js +1 -0
  10. package/dist/get-extension-from-audio-codec.d.ts +2 -2
  11. package/dist/get-extension-from-codec.d.ts +2 -2
  12. package/dist/index.d.ts +50 -49
  13. package/dist/options/audio-codec.d.ts +5 -5
  14. package/dist/options/gl.d.ts +3 -3
  15. package/dist/options/index.d.ts +11 -11
  16. package/dist/options/options-map.d.ts +8 -8
  17. package/dist/options/separate-audio-to.d.ts +18 -0
  18. package/dist/options/separate-audio-to.js +31 -0
  19. package/dist/options/video-codec.d.ts +1 -1
  20. package/dist/port-config.d.ts +2 -6
  21. package/dist/port-config.js +7 -4
  22. package/dist/prepare-server.d.ts +2 -1
  23. package/dist/prepare-server.js +3 -1
  24. package/dist/pure.d.ts +3 -3
  25. package/dist/render-frames.js +1 -0
  26. package/dist/render-media.js +1 -0
  27. package/dist/render-still.js +1 -0
  28. package/dist/select-composition.js +1 -0
  29. package/dist/serve-static.d.ts +1 -0
  30. package/dist/serve-static.js +1 -1
  31. package/dist/should-seamless.d.ts +3 -0
  32. package/dist/should-seamless.js +7 -0
  33. package/dist/supported-audio-codecs.d.ts +13 -0
  34. package/dist/supported-audio-codecs.js +16 -0
  35. package/dist/take-frame-and-compose.d.ts +0 -1
  36. package/dist/validate-output-filename.d.ts +1 -1
  37. package/dist/x264-preset.d.ts +0 -15
  38. package/dist/x264-preset.js +1 -26
  39. package/package.json +9 -9
  40. package/dist/does-have-m2-bug.d.ts +0 -3
  41. package/dist/does-have-m2-bug.js +0 -12
  42. package/dist/options/prores-profile.d.ts +0 -0
  43. package/dist/options/prores-profile.js +0 -1
package/dist/pure.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export declare const NoReactAPIs: {
2
2
  wrapWithErrorHandling: <A extends unknown[], R>(fn: (...args: A) => Promise<R>) => (...args: A) => Promise<R>;
3
3
  getExtensionOfFilename: (filename: string | null) => string | null;
4
- getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
5
- validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
4
+ getFileExtensionFromCodec: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: "pcm-16" | "aac" | "mp3" | "opus" | null) => import("./file-extensions").FileExtension;
5
+ validateOutputFilename: <T_1 extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
6
6
  codec: T_1;
7
- audioCodecSetting: "mp3" | "aac" | "pcm-16" | "opus" | null;
7
+ audioCodecSetting: "pcm-16" | "aac" | "mp3" | "opus" | null;
8
8
  extension: string;
9
9
  preferLossless: boolean;
10
10
  separateAudioTo: string | null;
@@ -353,6 +353,7 @@ const internalRenderFramesRaw = ({ browserExecutable, cancelSignal, chromiumOpti
353
353
  indent,
354
354
  offthreadVideoCacheSizeInBytes,
355
355
  binariesDirectory,
356
+ forceIPv4: false,
356
357
  }, {
357
358
  onDownload,
358
359
  onError,
@@ -273,6 +273,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
273
273
  webpackConfigOrServeUrl: serveUrl,
274
274
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
275
275
  binariesDirectory,
276
+ forceIPv4: false,
276
277
  }, {
277
278
  onDownload,
278
279
  onError: (err) => reject(err),
@@ -213,6 +213,7 @@ const internalRenderStillRaw = (options) => {
213
213
  indent: options.indent,
214
214
  offthreadVideoCacheSizeInBytes: options.offthreadVideoCacheSizeInBytes,
215
215
  binariesDirectory: options.binariesDirectory,
216
+ forceIPv4: false,
216
217
  }, {
217
218
  onDownload: options.onDownload,
218
219
  onError,
@@ -120,6 +120,7 @@ const internalSelectCompositionRaw = async (options) => {
120
120
  indent,
121
121
  offthreadVideoCacheSizeInBytes,
122
122
  binariesDirectory,
123
+ forceIPv4: false,
123
124
  }, {
124
125
  onDownload: () => undefined,
125
126
  onError,
@@ -10,6 +10,7 @@ export declare const serveStatic: (path: string | null, options: {
10
10
  indent: boolean;
11
11
  offthreadVideoCacheSizeInBytes: number | null;
12
12
  binariesDirectory: string | null;
13
+ forceIPv4: boolean;
13
14
  }) => Promise<{
14
15
  port: number;
15
16
  close: () => Promise<void>;
@@ -47,7 +47,7 @@ const serveStatic = async (path, options) => {
47
47
  });
48
48
  let selectedPort = null;
49
49
  const maxTries = 5;
50
- const portConfig = (0, port_config_1.getPortConfig)();
50
+ const portConfig = (0, port_config_1.getPortConfig)(options.forceIPv4);
51
51
  for (let i = 0; i < maxTries; i++) {
52
52
  let unlock = () => { };
53
53
  try {
@@ -0,0 +1,3 @@
1
+ import type { AudioCodec } from './audio-codec';
2
+ import type { Codec } from './codec';
3
+ export declare const canConcatSeamlessly: (audioCodec: AudioCodec | null, codec: Codec) => boolean;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canConcatSeamlessly = void 0;
4
+ const canConcatSeamlessly = (audioCodec, codec) => {
5
+ return audioCodec === 'aac' && codec === 'h264';
6
+ };
7
+ exports.canConcatSeamlessly = canConcatSeamlessly;
@@ -0,0 +1,13 @@
1
+ export declare const supportedAudioCodecs: {
2
+ readonly h264: readonly ["aac", "pcm-16", "mp3"];
3
+ readonly 'h264-mkv': readonly ["pcm-16", "mp3"];
4
+ readonly 'h264-ts': readonly ["pcm-16", "aac"];
5
+ readonly aac: readonly ["aac", "pcm-16"];
6
+ readonly gif: readonly [];
7
+ readonly h265: readonly ["aac", "pcm-16"];
8
+ readonly mp3: readonly ["mp3", "pcm-16"];
9
+ readonly prores: readonly ["aac", "pcm-16"];
10
+ readonly vp8: readonly ["opus", "pcm-16"];
11
+ readonly vp9: readonly ["opus", "pcm-16"];
12
+ readonly wav: readonly ["pcm-16"];
13
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.supportedAudioCodecs = void 0;
4
+ exports.supportedAudioCodecs = {
5
+ h264: ['aac', 'pcm-16', 'mp3'],
6
+ 'h264-mkv': ['pcm-16', 'mp3'],
7
+ 'h264-ts': ['pcm-16', 'aac'],
8
+ aac: ['aac', 'pcm-16'],
9
+ gif: [],
10
+ h265: ['aac', 'pcm-16'],
11
+ mp3: ['mp3', 'pcm-16'],
12
+ prores: ['aac', 'pcm-16'],
13
+ vp8: ['opus', 'pcm-16'],
14
+ vp9: ['opus', 'pcm-16'],
15
+ wav: ['pcm-16'],
16
+ };
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import type { TRenderAsset } from 'remotion/no-react';
3
2
  import type { DownloadMap } from './assets/download-map';
4
3
  import type { Page } from './browser/BrowserPage';
@@ -1,5 +1,5 @@
1
1
  import type { AudioCodec } from './options/audio-codec';
2
- export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
2
+ export declare const validateOutputFilename: <T extends "aac" | "mp3" | "h264" | "h265" | "vp8" | "vp9" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
3
3
  codec: T;
4
4
  audioCodecSetting: AudioCodec | null;
5
5
  extension: string;
@@ -5,18 +5,3 @@ export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Pr
5
5
  codec: Codec;
6
6
  x264Preset: X264Preset | undefined;
7
7
  }) => void;
8
- export declare const x264Option: {
9
- name: string;
10
- cliFlag: "x264-preset";
11
- description: () => import("react/jsx-runtime").JSX.Element;
12
- ssrName: "x264Preset";
13
- docLink: string;
14
- type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
15
- getValue: ({ commandLine }: {
16
- commandLine: Record<string, unknown>;
17
- }) => {
18
- value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
19
- source: string;
20
- };
21
- setConfig: (profile: X264Preset | undefined) => void;
22
- };
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.x264Option = exports.validateSelectedCodecAndPresetCombination = exports.x264PresetOptions = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
3
+ exports.validateSelectedCodecAndPresetCombination = exports.x264PresetOptions = void 0;
5
4
  exports.x264PresetOptions = [
6
5
  'ultrafast',
7
6
  'superfast',
@@ -14,7 +13,6 @@ exports.x264PresetOptions = [
14
13
  'veryslow',
15
14
  'placebo',
16
15
  ];
17
- let preset;
18
16
  const validateSelectedCodecAndPresetCombination = ({ codec, x264Preset, }) => {
19
17
  if (typeof x264Preset !== 'undefined' &&
20
18
  codec !== 'h264' &&
@@ -29,26 +27,3 @@ const validateSelectedCodecAndPresetCombination = ({ codec, x264Preset, }) => {
29
27
  }
30
28
  };
31
29
  exports.validateSelectedCodecAndPresetCombination = validateSelectedCodecAndPresetCombination;
32
- const cliFlag = 'x264-preset';
33
- const DEFAULT_PRESET = 'medium';
34
- exports.x264Option = {
35
- name: 'x264 Preset',
36
- cliFlag,
37
- description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Sets a x264 preset profile. Only applies to videos rendered with", ' ', (0, jsx_runtime_1.jsx)("code", { children: "h264" }), " codec.", (0, jsx_runtime_1.jsx)("br", {}), "Possible values: ", (0, jsx_runtime_1.jsx)("code", { children: "superfast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryfast" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "faster" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "fast" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "medium" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "slow" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "slower" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "veryslow" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "placebo" }), ".", (0, jsx_runtime_1.jsx)("br", {}), "Default: ", (0, jsx_runtime_1.jsx)("code", { children: DEFAULT_PRESET })] })),
38
- ssrName: 'x264Preset',
39
- docLink: 'https://www.remotion.dev/docs/renderer/render-media',
40
- type: 'fast',
41
- getValue: ({ commandLine }) => {
42
- const value = commandLine[cliFlag];
43
- if (typeof value !== 'undefined') {
44
- return { value: value, source: 'cli' };
45
- }
46
- if (typeof preset !== 'undefined') {
47
- return { value: preset, source: 'config' };
48
- }
49
- return { value: DEFAULT_PRESET, source: 'default' };
50
- },
51
- setConfig: (profile) => {
52
- preset = profile;
53
- },
54
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/renderer",
3
- "version": "4.0.123",
3
+ "version": "4.0.125",
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.123"
21
+ "remotion": "4.0.125"
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.123",
44
- "@remotion/compositor-darwin-x64": "4.0.123",
45
- "@remotion/compositor-linux-arm64-musl": "4.0.123",
46
- "@remotion/compositor-linux-arm64-gnu": "4.0.123",
47
- "@remotion/compositor-linux-x64-gnu": "4.0.123",
48
- "@remotion/compositor-win32-x64-msvc": "4.0.123",
49
- "@remotion/compositor-linux-x64-musl": "4.0.123"
43
+ "@remotion/compositor-darwin-arm64": "4.0.125",
44
+ "@remotion/compositor-darwin-x64": "4.0.125",
45
+ "@remotion/compositor-linux-arm64-musl": "4.0.125",
46
+ "@remotion/compositor-linux-arm64-gnu": "4.0.125",
47
+ "@remotion/compositor-win32-x64-msvc": "4.0.125",
48
+ "@remotion/compositor-linux-x64-musl": "4.0.125",
49
+ "@remotion/compositor-linux-x64-gnu": "4.0.125"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",
@@ -1,3 +0,0 @@
1
- import type { Codec } from './codec';
2
- import type { PixelFormat } from './pixel-format';
3
- export declare const warnAboutM2Bug: (codec: Codec | null, pixelFormat: PixelFormat | null) => void;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.warnAboutM2Bug = void 0;
4
- const node_os_1 = require("node:os");
5
- const warnAboutM2Bug = (codec, pixelFormat) => {
6
- const isM2 = (0, node_os_1.cpus)().find((c) => c.model.includes('Apple M2'));
7
- if (codec === 'prores' && pixelFormat === 'yuv422p10le' && isM2) {
8
- console.warn();
9
- console.warn('⚠️ Known issue: Apple M2 CPUs currently suffer from a bug where transparent ProRes videos have flickering. https://github.com/remotion-dev/remotion/issues/1929');
10
- }
11
- };
12
- exports.warnAboutM2Bug = warnAboutM2Bug;
File without changes
@@ -1 +0,0 @@
1
- "use strict";