@remotion/renderer 4.0.534 → 4.0.536

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 (236) hide show
  1. package/dist/browser/BrowserPage.js +9 -4
  2. package/dist/client.d.ts +303 -7
  3. package/dist/combine-chunks.d.ts +2 -1
  4. package/dist/combine-chunks.js +81 -52
  5. package/dist/combine-video-streams.js +3 -0
  6. package/dist/compositor/get-executable-path.js +30 -15
  7. package/dist/ensure-browser.d.ts +3 -0
  8. package/dist/esm/client.mjs +727 -541
  9. package/dist/esm/index.mjs +409 -359
  10. package/dist/esm/pure.mjs +3 -1
  11. package/dist/get-video-threads-flag.js +5 -1
  12. package/dist/index.d.ts +47 -1
  13. package/dist/mime-db.js +5 -0
  14. package/dist/mux-video-and-audio.js +3 -0
  15. package/dist/options/allow-html-in-canvas.d.ts +1 -0
  16. package/dist/options/allow-html-in-canvas.js +1 -0
  17. package/dist/options/api-key.d.ts +1 -0
  18. package/dist/options/api-key.js +1 -0
  19. package/dist/options/ask-ai.d.ts +1 -0
  20. package/dist/options/ask-ai.js +1 -0
  21. package/dist/options/audio-bitrate.d.ts +1 -0
  22. package/dist/options/audio-bitrate.js +1 -0
  23. package/dist/options/audio-codec.d.ts +1 -0
  24. package/dist/options/audio-codec.js +1 -0
  25. package/dist/options/beep-on-finish.d.ts +1 -0
  26. package/dist/options/beep-on-finish.js +1 -0
  27. package/dist/options/benchmark-concurrencies.d.ts +1 -0
  28. package/dist/options/benchmark-concurrencies.js +1 -0
  29. package/dist/options/binaries-directory.d.ts +1 -0
  30. package/dist/options/binaries-directory.js +1 -0
  31. package/dist/options/browser-executable.d.ts +1 -0
  32. package/dist/options/browser-executable.js +1 -0
  33. package/dist/options/browser.d.ts +1 -0
  34. package/dist/options/browser.js +1 -0
  35. package/dist/options/bundle-cache.d.ts +1 -0
  36. package/dist/options/bundle-cache.js +1 -0
  37. package/dist/options/canvas-tabs.d.ts +1 -0
  38. package/dist/options/canvas-tabs.js +1 -0
  39. package/dist/options/chrome-mode.d.ts +1 -0
  40. package/dist/options/chrome-mode.js +1 -0
  41. package/dist/options/color-space.d.ts +1 -0
  42. package/dist/options/color-space.js +1 -0
  43. package/dist/options/concurrency.d.ts +1 -0
  44. package/dist/options/concurrency.js +1 -0
  45. package/dist/options/config.d.ts +1 -0
  46. package/dist/options/config.js +1 -0
  47. package/dist/options/crf.d.ts +1 -0
  48. package/dist/options/crf.js +1 -0
  49. package/dist/options/cross-site-isolation.d.ts +1 -0
  50. package/dist/options/cross-site-isolation.js +1 -0
  51. package/dist/options/dark-mode.d.ts +1 -0
  52. package/dist/options/dark-mode.js +1 -0
  53. package/dist/options/default-coding-agent.d.ts +1 -0
  54. package/dist/options/default-coding-agent.js +1 -0
  55. package/dist/options/default-editor.d.ts +1 -0
  56. package/dist/options/default-editor.js +1 -0
  57. package/dist/options/default-premount-in-seconds.d.ts +19 -0
  58. package/dist/options/default-premount-in-seconds.js +36 -0
  59. package/dist/options/delete-after.d.ts +1 -0
  60. package/dist/options/delete-after.js +1 -0
  61. package/dist/options/disable-git-source.d.ts +1 -0
  62. package/dist/options/disable-git-source.js +1 -0
  63. package/dist/options/disable-shared-memory-capture.d.ts +1 -0
  64. package/dist/options/disable-shared-memory-capture.js +1 -0
  65. package/dist/options/disable-web-security.d.ts +1 -0
  66. package/dist/options/disable-web-security.js +1 -0
  67. package/dist/options/disallow-parallel-encoding.d.ts +1 -0
  68. package/dist/options/disallow-parallel-encoding.js +1 -0
  69. package/dist/options/enable-cancellation.d.ts +1 -0
  70. package/dist/options/enable-cancellation.js +1 -0
  71. package/dist/options/enable-lambda-insights.d.ts +1 -0
  72. package/dist/options/enable-lambda-insights.js +1 -0
  73. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
  74. package/dist/options/enable-multiprocess-on-linux.js +1 -0
  75. package/dist/options/encoding-buffer-size.d.ts +1 -0
  76. package/dist/options/encoding-buffer-size.js +1 -0
  77. package/dist/options/encoding-max-rate.d.ts +1 -0
  78. package/dist/options/encoding-max-rate.js +1 -0
  79. package/dist/options/enforce-audio.d.ts +1 -0
  80. package/dist/options/enforce-audio.js +1 -0
  81. package/dist/options/env-file.d.ts +1 -0
  82. package/dist/options/env-file.js +1 -0
  83. package/dist/options/every-nth-frame.d.ts +1 -0
  84. package/dist/options/every-nth-frame.js +1 -0
  85. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
  86. package/dist/options/experimental-keep-audio-context-alive.js +1 -0
  87. package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
  88. package/dist/options/experimental-sequence-activity-limit.js +40 -0
  89. package/dist/options/experimental-sequence-activity.d.ts +19 -0
  90. package/dist/options/experimental-sequence-activity.js +38 -0
  91. package/dist/options/experimental-tracks.d.ts +1 -0
  92. package/dist/options/experimental-tracks.js +1 -0
  93. package/dist/options/folder-expiry.d.ts +1 -0
  94. package/dist/options/folder-expiry.js +1 -0
  95. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
  96. package/dist/options/for-seamless-aac-concatenation.js +1 -0
  97. package/dist/options/force-new-studio.d.ts +1 -0
  98. package/dist/options/force-new-studio.js +1 -0
  99. package/dist/options/frames.d.ts +1 -0
  100. package/dist/options/frames.js +1 -0
  101. package/dist/options/gl.d.ts +1 -0
  102. package/dist/options/gl.js +1 -0
  103. package/dist/options/gop-size.d.ts +1 -0
  104. package/dist/options/gop-size.js +1 -0
  105. package/dist/options/hardware-acceleration.d.ts +1 -0
  106. package/dist/options/hardware-acceleration.js +1 -0
  107. package/dist/options/headless.d.ts +1 -0
  108. package/dist/options/headless.js +1 -0
  109. package/dist/options/ignore-certificate-errors.d.ts +1 -0
  110. package/dist/options/ignore-certificate-errors.js +1 -0
  111. package/dist/options/image-sequence-pattern.d.ts +1 -0
  112. package/dist/options/image-sequence-pattern.js +1 -0
  113. package/dist/options/image-sequence.d.ts +1 -0
  114. package/dist/options/image-sequence.js +1 -0
  115. package/dist/options/index.d.ts +163 -7
  116. package/dist/options/index.js +8 -2
  117. package/dist/options/interactivity.d.ts +1 -0
  118. package/dist/options/interactivity.js +1 -0
  119. package/dist/options/ipv4.d.ts +1 -0
  120. package/dist/options/ipv4.js +1 -0
  121. package/dist/options/is-production.d.ts +1 -0
  122. package/dist/options/is-production.js +1 -0
  123. package/dist/options/jpeg-quality.d.ts +1 -0
  124. package/dist/options/jpeg-quality.js +1 -0
  125. package/dist/options/keyboard-shortcuts.d.ts +1 -0
  126. package/dist/options/keyboard-shortcuts.js +1 -0
  127. package/dist/options/latency-hint.d.ts +1 -0
  128. package/dist/options/latency-hint.js +1 -0
  129. package/dist/options/license-key.d.ts +1 -0
  130. package/dist/options/license-key.js +1 -0
  131. package/dist/options/log-level.d.ts +1 -0
  132. package/dist/options/log-level.js +1 -0
  133. package/dist/options/metadata.d.ts +1 -0
  134. package/dist/options/metadata.js +1 -0
  135. package/dist/options/mute.d.ts +1 -0
  136. package/dist/options/mute.js +1 -0
  137. package/dist/options/no-open.d.ts +1 -0
  138. package/dist/options/no-open.js +1 -0
  139. package/dist/options/number-of-gif-loops.d.ts +1 -0
  140. package/dist/options/number-of-gif-loops.js +1 -0
  141. package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
  142. package/dist/options/number-of-shared-audio-tags.js +1 -0
  143. package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
  144. package/dist/options/offthreadvideo-cache-size.js +1 -0
  145. package/dist/options/offthreadvideo-threads.d.ts +1 -0
  146. package/dist/options/offthreadvideo-threads.js +1 -0
  147. package/dist/options/on-browser-download.d.ts +1 -0
  148. package/dist/options/on-browser-download.js +1 -0
  149. package/dist/options/option.d.ts +1 -0
  150. package/dist/options/options-map.d.ts +140 -0
  151. package/dist/options/out-dir.d.ts +1 -0
  152. package/dist/options/out-dir.js +1 -0
  153. package/dist/options/override-duration.d.ts +1 -0
  154. package/dist/options/override-duration.js +1 -0
  155. package/dist/options/override-fps.d.ts +1 -0
  156. package/dist/options/override-fps.js +1 -0
  157. package/dist/options/override-height.d.ts +1 -0
  158. package/dist/options/override-height.js +1 -0
  159. package/dist/options/override-width.d.ts +1 -0
  160. package/dist/options/override-width.js +1 -0
  161. package/dist/options/overwrite.d.ts +1 -0
  162. package/dist/options/overwrite.js +1 -0
  163. package/dist/options/package-manager.d.ts +1 -0
  164. package/dist/options/package-manager.js +1 -0
  165. package/dist/options/pixel-format.d.ts +1 -0
  166. package/dist/options/pixel-format.js +1 -0
  167. package/dist/options/port.d.ts +1 -0
  168. package/dist/options/port.js +1 -0
  169. package/dist/options/prefer-lossless.d.ts +1 -0
  170. package/dist/options/prefer-lossless.js +1 -0
  171. package/dist/options/preview-sample-rate.d.ts +1 -0
  172. package/dist/options/preview-sample-rate.js +1 -0
  173. package/dist/options/props.d.ts +1 -0
  174. package/dist/options/props.js +1 -0
  175. package/dist/options/prores-profile.d.ts +1 -0
  176. package/dist/options/prores-profile.js +1 -0
  177. package/dist/options/public-dir.d.ts +1 -0
  178. package/dist/options/public-dir.js +1 -0
  179. package/dist/options/public-license-key.d.ts +1 -0
  180. package/dist/options/public-license-key.js +1 -0
  181. package/dist/options/public-path.d.ts +1 -0
  182. package/dist/options/public-path.js +1 -0
  183. package/dist/options/repro.d.ts +1 -0
  184. package/dist/options/repro.js +1 -0
  185. package/dist/options/rspack.d.ts +1 -0
  186. package/dist/options/rspack.js +1 -0
  187. package/dist/options/runs.d.ts +1 -0
  188. package/dist/options/runs.js +1 -0
  189. package/dist/options/sample-rate.d.ts +1 -0
  190. package/dist/options/sample-rate.js +1 -0
  191. package/dist/options/scale.d.ts +1 -0
  192. package/dist/options/scale.js +1 -0
  193. package/dist/options/separate-audio.d.ts +1 -0
  194. package/dist/options/separate-audio.js +2 -1
  195. package/dist/options/sequence-activity-limit.d.ts +19 -0
  196. package/dist/options/sequence-activity-limit.js +44 -0
  197. package/dist/options/show-layer-frame-numbers.d.ts +19 -0
  198. package/dist/options/show-layer-frame-numbers.js +34 -0
  199. package/dist/options/{experimental-client-side-rendering.d.ts → show-premounting.d.ts} +6 -3
  200. package/dist/options/show-premounting.js +33 -0
  201. package/dist/options/skip-skills.d.ts +1 -0
  202. package/dist/options/skip-skills.js +1 -0
  203. package/dist/options/still-frame.d.ts +1 -0
  204. package/dist/options/still-frame.js +1 -0
  205. package/dist/options/still-image-format.d.ts +1 -0
  206. package/dist/options/still-image-format.js +1 -0
  207. package/dist/options/throw-if-site-exists.d.ts +1 -0
  208. package/dist/options/throw-if-site-exists.js +1 -0
  209. package/dist/options/timeout.d.ts +1 -0
  210. package/dist/options/timeout.js +1 -0
  211. package/dist/options/user-agent.d.ts +1 -0
  212. package/dist/options/user-agent.js +1 -0
  213. package/dist/options/version-flag.d.ts +1 -0
  214. package/dist/options/version-flag.js +1 -0
  215. package/dist/options/video-bitrate.d.ts +1 -0
  216. package/dist/options/video-bitrate.js +1 -0
  217. package/dist/options/video-cache-size.d.ts +1 -0
  218. package/dist/options/video-cache-size.js +1 -0
  219. package/dist/options/video-codec.d.ts +1 -0
  220. package/dist/options/video-codec.js +1 -0
  221. package/dist/options/video-image-format.d.ts +1 -0
  222. package/dist/options/video-image-format.js +1 -0
  223. package/dist/options/webhook-custom-data.d.ts +1 -0
  224. package/dist/options/webhook-custom-data.js +1 -0
  225. package/dist/options/webpack-poll.d.ts +1 -0
  226. package/dist/options/webpack-poll.js +1 -0
  227. package/dist/options/x264-preset.d.ts +1 -0
  228. package/dist/options/x264-preset.js +1 -0
  229. package/dist/prespawn-ffmpeg.js +10 -5
  230. package/dist/stringify-ffmpeg-filter.js +8 -4
  231. package/package.json +16 -14
  232. package/dist/options/experimental-client-side-rendering.js +0 -30
  233. package/dist/prestitcher-memory-usage.d.ts +0 -13
  234. package/dist/prestitcher-memory-usage.js +0 -33
  235. package/dist/render-partitions.d.ts +0 -7
  236. package/dist/render-partitions.js +0 -50
package/dist/esm/pure.mjs CHANGED
@@ -333,7 +333,7 @@ var DEFAULT = null;
333
333
  var cliFlag = "separate-audio-to";
334
334
  var separateAudioOption = {
335
335
  cliFlag,
336
- description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. The muted option still takes precedence. It is recommended to use an absolute path. If a relative path is passed, it is relative to the Remotion Root.`,
336
+ description: () => `If set, the audio will not be included in the main output but rendered as a separate file at the location you pass. If the render contains no audio, a silent audio file is produced even when enforceAudioTrack is false. Audio-only renders, muted renders and codecs without audio support cannot use this option. For local renders, use an absolute path; relative paths are resolved against the Remotion Root. On Lambda, pass an output name or custom destination as described in renderMediaOnLambda().`,
337
337
  docLink: "https://www.remotion.dev/docs/options/separate-audio-to",
338
338
  getValue: ({ commandLine }) => {
339
339
  if (commandLine[cliFlag]) {
@@ -348,6 +348,7 @@ var separateAudioOption = {
348
348
  };
349
349
  },
350
350
  name: "Separate audio to",
351
+ addedIn: "4.0.123",
351
352
  setConfig: () => {
352
353
  throw new Error("Not implemented");
353
354
  },
@@ -516,6 +517,7 @@ var audioCodecOption = {
516
517
  description: () => `Set the format of the audio that is embedded in the video. Not all codec and audio codec combinations are supported and certain combinations require a certain file extension and container format. See the table in the docs to see possible combinations.`,
517
518
  docLink: "https://www.remotion.dev/docs/options/audio-codec",
518
519
  name: "Audio Codec",
520
+ addedIn: "3.3.41",
519
521
  ssrName,
520
522
  type: "aac",
521
523
  id: cliFlag2
@@ -5,12 +5,16 @@ const get_cpu_count_1 = require("./get-cpu-count");
5
5
  const get_available_memory_1 = require("./memory/get-available-memory");
6
6
  const MEMORY_USAGE_PER_THREAD = 400000000; // 400MB
7
7
  const RESERVED_MEMORY = 2000000000;
8
+ // Match Chromium's normal decoder thread limit. --video-threads bypasses that
9
+ // limit, and too many frame threads can require more packets before producing
10
+ // output than Mediabunny's decoder queue permits, causing frame extraction to hang.
11
+ const MAX_VIDEO_THREADS = 16;
8
12
  const getIdealVideoThreadsFlag = (logLevel) => {
9
13
  const freeMemory = (0, get_available_memory_1.getAvailableMemory)(logLevel);
10
14
  const cpus = (0, get_cpu_count_1.getCpuCount)();
11
15
  const maxRecommendedBasedOnCpus = (cpus * 2) / 3;
12
16
  const maxRecommendedBasedOnMemory = (freeMemory - RESERVED_MEMORY) / MEMORY_USAGE_PER_THREAD;
13
- const maxRecommended = Math.min(maxRecommendedBasedOnCpus, maxRecommendedBasedOnMemory);
17
+ const maxRecommended = Math.min(maxRecommendedBasedOnCpus, maxRecommendedBasedOnMemory, MAX_VIDEO_THREADS);
14
18
  return Math.max(1, Math.round(maxRecommended));
15
19
  };
16
20
  exports.getIdealVideoThreadsFlag = getIdealVideoThreadsFlag;
package/dist/index.d.ts CHANGED
@@ -512,6 +512,7 @@ export declare const RenderInternals: {
512
512
  } & import(".").ToOptions<Omit<{
513
513
  readonly mediaCacheSizeInBytes: {
514
514
  name: string;
515
+ addedIn: string;
515
516
  cliFlag: "media-cache-size-in-bytes";
516
517
  description: () => import("react/jsx-runtime").JSX.Element;
517
518
  ssrName: "mediaCacheSizeInBytes";
@@ -531,6 +532,7 @@ export declare const RenderInternals: {
531
532
  };
532
533
  readonly offthreadVideoCacheSizeInBytes: {
533
534
  name: string;
535
+ addedIn: string;
534
536
  cliFlag: "offthreadvideo-cache-size-in-bytes";
535
537
  description: () => import("react/jsx-runtime").JSX.Element;
536
538
  ssrName: "offthreadVideoCacheSizeInBytes";
@@ -550,6 +552,7 @@ export declare const RenderInternals: {
550
552
  };
551
553
  readonly offthreadVideoThreads: {
552
554
  name: string;
555
+ addedIn: string;
553
556
  cliFlag: "offthreadvideo-video-threads";
554
557
  description: () => import("react/jsx-runtime").JSX.Element;
555
558
  ssrName: "offthreadVideoThreads";
@@ -569,6 +572,7 @@ export declare const RenderInternals: {
569
572
  };
570
573
  readonly jpegQuality: {
571
574
  name: string;
575
+ addedIn: string;
572
576
  cliFlag: "jpeg-quality";
573
577
  description: () => import("react/jsx-runtime").JSX.Element;
574
578
  ssrName: string;
@@ -586,6 +590,7 @@ export declare const RenderInternals: {
586
590
  readonly logLevel: {
587
591
  cliFlag: "log";
588
592
  name: string;
593
+ addedIn: string;
589
594
  ssrName: string;
590
595
  description: () => import("react/jsx-runtime").JSX.Element;
591
596
  docLink: string;
@@ -603,6 +608,7 @@ export declare const RenderInternals: {
603
608
  };
604
609
  readonly timeoutInMilliseconds: {
605
610
  name: string;
611
+ addedIn: string;
606
612
  cliFlag: "timeout";
607
613
  description: () => import("react/jsx-runtime").JSX.Element;
608
614
  ssrName: "timeoutInMilliseconds";
@@ -619,6 +625,7 @@ export declare const RenderInternals: {
619
625
  };
620
626
  readonly binariesDirectory: {
621
627
  name: string;
628
+ addedIn: string;
622
629
  cliFlag: "binaries-directory";
623
630
  description: () => import("react/jsx-runtime").JSX.Element;
624
631
  ssrName: "binariesDirectory";
@@ -635,6 +642,7 @@ export declare const RenderInternals: {
635
642
  };
636
643
  readonly onBrowserDownload: {
637
644
  name: string;
645
+ addedIn: string;
638
646
  cliFlag: "on-browser-download";
639
647
  description: () => import("react/jsx-runtime").JSX.Element;
640
648
  ssrName: "onBrowserDownload";
@@ -647,6 +655,7 @@ export declare const RenderInternals: {
647
655
  readonly chromeMode: {
648
656
  cliFlag: "chrome-mode";
649
657
  name: string;
658
+ addedIn: string;
650
659
  ssrName: string;
651
660
  description: () => import("react/jsx-runtime").JSX.Element;
652
661
  docLink: string;
@@ -662,6 +671,7 @@ export declare const RenderInternals: {
662
671
  };
663
672
  readonly apiKey: {
664
673
  name: string;
674
+ addedIn: string;
665
675
  cliFlag: "api-key";
666
676
  description: () => import("react/jsx-runtime").JSX.Element;
667
677
  ssrName: "apiKey";
@@ -678,6 +688,7 @@ export declare const RenderInternals: {
678
688
  };
679
689
  readonly licenseKey: {
680
690
  name: string;
691
+ addedIn: string;
681
692
  cliFlag: "license-key";
682
693
  description: () => import("react/jsx-runtime").JSX.Element;
683
694
  ssrName: "licenseKey";
@@ -707,6 +718,7 @@ export declare const RenderInternals: {
707
718
  readonly logLevel: {
708
719
  cliFlag: "log";
709
720
  name: string;
721
+ addedIn: string;
710
722
  ssrName: string;
711
723
  description: () => import("react/jsx-runtime").JSX.Element;
712
724
  docLink: string;
@@ -724,6 +736,7 @@ export declare const RenderInternals: {
724
736
  };
725
737
  readonly onBrowserDownload: {
726
738
  name: string;
739
+ addedIn: string;
727
740
  cliFlag: "on-browser-download";
728
741
  description: () => import("react/jsx-runtime").JSX.Element;
729
742
  ssrName: "onBrowserDownload";
@@ -736,6 +749,7 @@ export declare const RenderInternals: {
736
749
  readonly chromeMode: {
737
750
  cliFlag: "chrome-mode";
738
751
  name: string;
752
+ addedIn: string;
739
753
  ssrName: string;
740
754
  description: () => import("react/jsx-runtime").JSX.Element;
741
755
  docLink: string;
@@ -766,6 +780,7 @@ export declare const RenderInternals: {
766
780
  } & import(".").ToOptions<{
767
781
  readonly mediaCacheSizeInBytes: {
768
782
  name: string;
783
+ addedIn: string;
769
784
  cliFlag: "media-cache-size-in-bytes";
770
785
  description: () => import("react/jsx-runtime").JSX.Element;
771
786
  ssrName: "mediaCacheSizeInBytes";
@@ -785,6 +800,7 @@ export declare const RenderInternals: {
785
800
  };
786
801
  readonly offthreadVideoCacheSizeInBytes: {
787
802
  name: string;
803
+ addedIn: string;
788
804
  cliFlag: "offthreadvideo-cache-size-in-bytes";
789
805
  description: () => import("react/jsx-runtime").JSX.Element;
790
806
  ssrName: "offthreadVideoCacheSizeInBytes";
@@ -804,6 +820,7 @@ export declare const RenderInternals: {
804
820
  };
805
821
  readonly offthreadVideoThreads: {
806
822
  name: string;
823
+ addedIn: string;
807
824
  cliFlag: "offthreadvideo-video-threads";
808
825
  description: () => import("react/jsx-runtime").JSX.Element;
809
826
  ssrName: "offthreadVideoThreads";
@@ -824,6 +841,7 @@ export declare const RenderInternals: {
824
841
  readonly logLevel: {
825
842
  cliFlag: "log";
826
843
  name: string;
844
+ addedIn: string;
827
845
  ssrName: string;
828
846
  description: () => import("react/jsx-runtime").JSX.Element;
829
847
  docLink: string;
@@ -841,6 +859,7 @@ export declare const RenderInternals: {
841
859
  };
842
860
  readonly timeoutInMilliseconds: {
843
861
  name: string;
862
+ addedIn: string;
844
863
  cliFlag: "timeout";
845
864
  description: () => import("react/jsx-runtime").JSX.Element;
846
865
  ssrName: "timeoutInMilliseconds";
@@ -857,6 +876,7 @@ export declare const RenderInternals: {
857
876
  };
858
877
  readonly binariesDirectory: {
859
878
  name: string;
879
+ addedIn: string;
860
880
  cliFlag: "binaries-directory";
861
881
  description: () => import("react/jsx-runtime").JSX.Element;
862
882
  ssrName: "binariesDirectory";
@@ -873,6 +893,7 @@ export declare const RenderInternals: {
873
893
  };
874
894
  readonly onBrowserDownload: {
875
895
  name: string;
896
+ addedIn: string;
876
897
  cliFlag: "on-browser-download";
877
898
  description: () => import("react/jsx-runtime").JSX.Element;
878
899
  ssrName: "onBrowserDownload";
@@ -885,6 +906,7 @@ export declare const RenderInternals: {
885
906
  readonly chromeMode: {
886
907
  cliFlag: "chrome-mode";
887
908
  name: string;
909
+ addedIn: string;
888
910
  ssrName: string;
889
911
  description: () => import("react/jsx-runtime").JSX.Element;
890
912
  docLink: string;
@@ -917,6 +939,7 @@ export declare const RenderInternals: {
917
939
  } & import(".").ToOptions<{
918
940
  readonly mediaCacheSizeInBytes: {
919
941
  name: string;
942
+ addedIn: string;
920
943
  cliFlag: "media-cache-size-in-bytes";
921
944
  description: () => import("react/jsx-runtime").JSX.Element;
922
945
  ssrName: "mediaCacheSizeInBytes";
@@ -936,6 +959,7 @@ export declare const RenderInternals: {
936
959
  };
937
960
  readonly offthreadVideoCacheSizeInBytes: {
938
961
  name: string;
962
+ addedIn: string;
939
963
  cliFlag: "offthreadvideo-cache-size-in-bytes";
940
964
  description: () => import("react/jsx-runtime").JSX.Element;
941
965
  ssrName: "offthreadVideoCacheSizeInBytes";
@@ -955,6 +979,7 @@ export declare const RenderInternals: {
955
979
  };
956
980
  readonly offthreadVideoThreads: {
957
981
  name: string;
982
+ addedIn: string;
958
983
  cliFlag: "offthreadvideo-video-threads";
959
984
  description: () => import("react/jsx-runtime").JSX.Element;
960
985
  ssrName: "offthreadVideoThreads";
@@ -975,6 +1000,7 @@ export declare const RenderInternals: {
975
1000
  readonly logLevel: {
976
1001
  cliFlag: "log";
977
1002
  name: string;
1003
+ addedIn: string;
978
1004
  ssrName: string;
979
1005
  description: () => import("react/jsx-runtime").JSX.Element;
980
1006
  docLink: string;
@@ -992,6 +1018,7 @@ export declare const RenderInternals: {
992
1018
  };
993
1019
  readonly timeoutInMilliseconds: {
994
1020
  name: string;
1021
+ addedIn: string;
995
1022
  cliFlag: "timeout";
996
1023
  description: () => import("react/jsx-runtime").JSX.Element;
997
1024
  ssrName: "timeoutInMilliseconds";
@@ -1008,6 +1035,7 @@ export declare const RenderInternals: {
1008
1035
  };
1009
1036
  readonly binariesDirectory: {
1010
1037
  name: string;
1038
+ addedIn: string;
1011
1039
  cliFlag: "binaries-directory";
1012
1040
  description: () => import("react/jsx-runtime").JSX.Element;
1013
1041
  ssrName: "binariesDirectory";
@@ -1024,6 +1052,7 @@ export declare const RenderInternals: {
1024
1052
  };
1025
1053
  readonly onBrowserDownload: {
1026
1054
  name: string;
1055
+ addedIn: string;
1027
1056
  cliFlag: "on-browser-download";
1028
1057
  description: () => import("react/jsx-runtime").JSX.Element;
1029
1058
  ssrName: "onBrowserDownload";
@@ -1036,6 +1065,7 @@ export declare const RenderInternals: {
1036
1065
  readonly chromeMode: {
1037
1066
  cliFlag: "chrome-mode";
1038
1067
  name: string;
1068
+ addedIn: string;
1039
1069
  ssrName: string;
1040
1070
  description: () => import("react/jsx-runtime").JSX.Element;
1041
1071
  docLink: string;
@@ -1087,6 +1117,7 @@ export declare const RenderInternals: {
1087
1117
  } & import(".").ToOptions<{
1088
1118
  readonly mediaCacheSizeInBytes: {
1089
1119
  name: string;
1120
+ addedIn: string;
1090
1121
  cliFlag: "media-cache-size-in-bytes";
1091
1122
  description: () => import("react/jsx-runtime").JSX.Element;
1092
1123
  ssrName: "mediaCacheSizeInBytes";
@@ -1106,6 +1137,7 @@ export declare const RenderInternals: {
1106
1137
  };
1107
1138
  readonly forSeamlessAacConcatenation: {
1108
1139
  name: string;
1140
+ addedIn: string;
1109
1141
  cliFlag: "for-seamless-aac-concatenation";
1110
1142
  description: () => import("react/jsx-runtime").JSX.Element;
1111
1143
  docLink: string;
@@ -1125,6 +1157,7 @@ export declare const RenderInternals: {
1125
1157
  };
1126
1158
  readonly offthreadVideoCacheSizeInBytes: {
1127
1159
  name: string;
1160
+ addedIn: string;
1128
1161
  cliFlag: "offthreadvideo-cache-size-in-bytes";
1129
1162
  description: () => import("react/jsx-runtime").JSX.Element;
1130
1163
  ssrName: "offthreadVideoCacheSizeInBytes";
@@ -1144,6 +1177,7 @@ export declare const RenderInternals: {
1144
1177
  };
1145
1178
  readonly offthreadVideoThreads: {
1146
1179
  name: string;
1180
+ addedIn: string;
1147
1181
  cliFlag: "offthreadvideo-video-threads";
1148
1182
  description: () => import("react/jsx-runtime").JSX.Element;
1149
1183
  ssrName: "offthreadVideoThreads";
@@ -1163,6 +1197,7 @@ export declare const RenderInternals: {
1163
1197
  };
1164
1198
  readonly jpegQuality: {
1165
1199
  name: string;
1200
+ addedIn: string;
1166
1201
  cliFlag: "jpeg-quality";
1167
1202
  description: () => import("react/jsx-runtime").JSX.Element;
1168
1203
  ssrName: string;
@@ -1180,6 +1215,7 @@ export declare const RenderInternals: {
1180
1215
  readonly logLevel: {
1181
1216
  cliFlag: "log";
1182
1217
  name: string;
1218
+ addedIn: string;
1183
1219
  ssrName: string;
1184
1220
  description: () => import("react/jsx-runtime").JSX.Element;
1185
1221
  docLink: string;
@@ -1197,6 +1233,7 @@ export declare const RenderInternals: {
1197
1233
  };
1198
1234
  readonly timeoutInMilliseconds: {
1199
1235
  name: string;
1236
+ addedIn: string;
1200
1237
  cliFlag: "timeout";
1201
1238
  description: () => import("react/jsx-runtime").JSX.Element;
1202
1239
  ssrName: "timeoutInMilliseconds";
@@ -1213,6 +1250,7 @@ export declare const RenderInternals: {
1213
1250
  };
1214
1251
  readonly binariesDirectory: {
1215
1252
  name: string;
1253
+ addedIn: string;
1216
1254
  cliFlag: "binaries-directory";
1217
1255
  description: () => import("react/jsx-runtime").JSX.Element;
1218
1256
  ssrName: "binariesDirectory";
@@ -1229,6 +1267,7 @@ export declare const RenderInternals: {
1229
1267
  };
1230
1268
  readonly onBrowserDownload: {
1231
1269
  name: string;
1270
+ addedIn: string;
1232
1271
  cliFlag: "on-browser-download";
1233
1272
  description: () => import("react/jsx-runtime").JSX.Element;
1234
1273
  ssrName: "onBrowserDownload";
@@ -1241,6 +1280,7 @@ export declare const RenderInternals: {
1241
1280
  readonly chromeMode: {
1242
1281
  cliFlag: "chrome-mode";
1243
1282
  name: string;
1283
+ addedIn: string;
1244
1284
  ssrName: string;
1245
1285
  description: () => import("react/jsx-runtime").JSX.Element;
1246
1286
  docLink: string;
@@ -1256,6 +1296,7 @@ export declare const RenderInternals: {
1256
1296
  };
1257
1297
  readonly imageSequencePattern: {
1258
1298
  name: string;
1299
+ addedIn: string;
1259
1300
  cliFlag: "image-sequence-pattern";
1260
1301
  ssrName: string;
1261
1302
  description: () => import("react/jsx-runtime").JSX.Element;
@@ -1276,6 +1317,7 @@ export declare const RenderInternals: {
1276
1317
  };
1277
1318
  readonly sampleRate: {
1278
1319
  name: string;
1320
+ addedIn: string;
1279
1321
  cliFlag: "sample-rate";
1280
1322
  description: () => import("react/jsx-runtime").JSX.Element;
1281
1323
  ssrName: "sampleRate";
@@ -1343,6 +1385,7 @@ export declare const RenderInternals: {
1343
1385
  readonly logLevel: {
1344
1386
  cliFlag: "log";
1345
1387
  name: string;
1388
+ addedIn: string;
1346
1389
  ssrName: string;
1347
1390
  description: () => import("react/jsx-runtime").JSX.Element;
1348
1391
  docLink: string;
@@ -1360,6 +1403,7 @@ export declare const RenderInternals: {
1360
1403
  };
1361
1404
  readonly onBrowserDownload: {
1362
1405
  name: string;
1406
+ addedIn: string;
1363
1407
  cliFlag: "on-browser-download";
1364
1408
  description: () => import("react/jsx-runtime").JSX.Element;
1365
1409
  ssrName: "onBrowserDownload";
@@ -1372,6 +1416,7 @@ export declare const RenderInternals: {
1372
1416
  readonly chromeMode: {
1373
1417
  cliFlag: "chrome-mode";
1374
1418
  name: string;
1419
+ addedIn: string;
1375
1420
  ssrName: string;
1376
1421
  description: () => import("react/jsx-runtime").JSX.Element;
1377
1422
  docLink: string;
@@ -1390,7 +1435,7 @@ export declare const RenderInternals: {
1390
1435
  DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS: number;
1391
1436
  canConcatVideoSeamlessly: (codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav") => codec is "h264";
1392
1437
  canConcatAudioSeamlessly: (audioCodec: "aac" | "mp3" | "opus" | "pcm-16" | null, chunkDurationInFrames: number) => boolean;
1393
- internalCombineChunks: ({ outputLocation: output, onProgress, codec, fps, numberOfGifLoops, audioBitrate, indent, logLevel, binariesDirectory, cancelSignal, metadata, audioFiles, videoFiles, framesPerChunk, audioCodec, preferLossless, everyNthFrame, frameRange, compositionDurationInFrames, sampleRate, }: {
1438
+ internalCombineChunks: ({ outputLocation: output, onProgress, codec, fps, numberOfGifLoops, audioBitrate, indent, logLevel, binariesDirectory, cancelSignal, metadata, audioFiles, videoFiles, framesPerChunk, audioCodec, preferLossless, everyNthFrame, frameRange, compositionDurationInFrames, sampleRate, separateAudioTo, }: {
1394
1439
  outputLocation: string;
1395
1440
  audioFiles: string[];
1396
1441
  codec: "aac" | "av1" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
@@ -1413,6 +1458,7 @@ export declare const RenderInternals: {
1413
1458
  sampleRate: number;
1414
1459
  } & {
1415
1460
  indent: boolean;
1461
+ separateAudioTo: string | null;
1416
1462
  }) => Promise<void>;
1417
1463
  defaultOnLog: import(".").OnLog;
1418
1464
  };
package/dist/mime-db.js CHANGED
@@ -7222,6 +7222,11 @@ exports.mimeDb = {
7222
7222
  compressible: false,
7223
7223
  extensions: ['jpx', 'jpf'],
7224
7224
  },
7225
+ 'image/jxl': {
7226
+ source: 'iana',
7227
+ compressible: false,
7228
+ extensions: ['jxl'],
7229
+ },
7225
7230
  'image/jxr': {
7226
7231
  source: 'iana',
7227
7232
  extensions: ['jxr'],
@@ -42,6 +42,9 @@ const muxVideoAndAudio = async ({ videoOutput, audioOutput, output, indent, logL
42
42
  // result in slightly imprecise values like 95940000/3197999 instead of 30/1.
43
43
  videoOutput ? '-r' : null,
44
44
  videoOutput ? String(fps) : null,
45
+ // Keep the MP4/MOV video time base consistent with the initial encoding.
46
+ videoOutput ? '-video_track_timescale' : null,
47
+ videoOutput ? '90000' : null,
45
48
  numberOfGifLoops === null ? null : '-loop',
46
49
  numberOfGifLoops === null
47
50
  ? null
@@ -1,5 +1,6 @@
1
1
  export declare const allowHtmlInCanvasOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "allow-html-in-canvas";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -6,6 +6,7 @@ let allowHtmlInCanvasEnabled = false;
6
6
  const cliFlag = 'allow-html-in-canvas';
7
7
  exports.allowHtmlInCanvasOption = {
8
8
  name: 'Allow HTML-in-canvas for client-side rendering',
9
+ addedIn: '4.0.447',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["When client-side rendering is enabled in the Studio, allow the experimental Chromium HTML-in-canvas API to be used for capturing frames. See", ' ', jsx_runtime_1.jsx("a", { href: "/docs/client-side-rendering/html-in-canvas", children: "HTML-in-canvas docs" }),
11
12
  "."] })),
@@ -1,5 +1,6 @@
1
1
  export declare const apiKeyOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "api-key";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "apiKey";
@@ -6,6 +6,7 @@ let currentApiKey = null;
6
6
  const cliFlag = 'api-key';
7
7
  exports.apiKeyOption = {
8
8
  name: 'API key',
9
+ addedIn: '4.0.253',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["API key for sending a usage event using ",
11
12
  jsx_runtime_1.jsx("code", { children: "@remotion/licensing" }),
@@ -1,5 +1,6 @@
1
1
  export declare const askAIOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "disable-ask-ai";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -7,6 +7,7 @@ let configuredAskAIEnabled = null;
7
7
  const cliFlag = 'disable-ask-ai';
8
8
  exports.askAIOption = {
9
9
  name: 'Disable or Enable the Ask AI option',
10
+ addedIn: '4.0.407',
10
11
  cliFlag,
11
12
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this." })),
12
13
  ssrName: null,
@@ -1,5 +1,6 @@
1
1
  export declare const audioBitrateOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "audio-bitrate";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: string;
@@ -6,6 +6,7 @@ const cliFlag = 'audio-bitrate';
6
6
  let audioBitrate = null;
7
7
  exports.audioBitrateOption = {
8
8
  name: 'Audio Bitrate',
9
+ addedIn: '3.2.32',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s ",
11
12
  jsx_runtime_1.jsx("code", { children: "-b:a" }),
@@ -48,6 +48,7 @@ export declare const audioCodecOption: {
48
48
  description: () => string;
49
49
  docLink: string;
50
50
  name: string;
51
+ addedIn: string;
51
52
  ssrName: "audioCodec";
52
53
  type: "aac" | "mp3" | "opus" | "pcm-16";
53
54
  id: "audio-codec";
@@ -194,6 +194,7 @@ exports.audioCodecOption = {
194
194
  description: () => `Set the format of the audio that is embedded in the video. Not all codec and audio codec combinations are supported and certain combinations require a certain file extension and container format. See the table in the docs to see possible combinations.`,
195
195
  docLink: 'https://www.remotion.dev/docs/options/audio-codec',
196
196
  name: 'Audio Codec',
197
+ addedIn: '3.3.41',
197
198
  ssrName,
198
199
  type: 'aac',
199
200
  id: cliFlag,
@@ -1,5 +1,6 @@
1
1
  export declare const beepOnFinishOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "beep-on-finish";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -7,6 +7,7 @@ let configuredBeepOnFinish = null;
7
7
  const cliFlag = 'beep-on-finish';
8
8
  exports.beepOnFinishOption = {
9
9
  name: 'Beep on finish',
10
+ addedIn: '4.0.84',
10
11
  cliFlag,
11
12
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Whether the Remotion Studio tab should beep when the render is finished." })),
12
13
  ssrName: null,
@@ -1,5 +1,6 @@
1
1
  export declare const benchmarkConcurrenciesOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "concurrencies";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -6,6 +6,7 @@ let currentConcurrencies = null;
6
6
  const cliFlag = 'concurrencies';
7
7
  exports.benchmarkConcurrenciesOption = {
8
8
  name: 'Benchmark concurrencies',
9
+ addedIn: '3.2.28',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify which concurrency values should be used while benchmarking. Multiple values can be passed separated by comma. Learn more about", ' ', jsx_runtime_1.jsx("a", { href: "https://remotion.dev/docs/terminology/concurrency", children: "concurrency" }),
11
12
  "."] })),
@@ -1,5 +1,6 @@
1
1
  export declare const binariesDirectoryOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "binaries-directory";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "binariesDirectory";
@@ -6,6 +6,7 @@ const cliFlag = 'binaries-directory';
6
6
  let currentDirectory = null;
7
7
  exports.binariesDirectoryOption = {
8
8
  name: 'Binaries Directory',
9
+ addedIn: '4.0.120',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["The directory where the platform-specific binaries and libraries that Remotion needs are located. Those include an ",
11
12
  jsx_runtime_1.jsx("code", { children: "ffmpeg" }),
@@ -1,6 +1,7 @@
1
1
  import type { BrowserExecutable } from '../browser-executable';
2
2
  export declare const browserExecutableOption: {
3
3
  name: string;
4
+ addedIn: string;
4
5
  cliFlag: "browser-executable";
5
6
  description: () => import("react/jsx-runtime").JSX.Element;
6
7
  ssrName: "browserExecutable";
@@ -6,6 +6,7 @@ let currentBrowserExecutablePath = null;
6
6
  const cliFlag = 'browser-executable';
7
7
  exports.browserExecutableOption = {
8
8
  name: 'Browser executable',
9
+ addedIn: '1.5.0',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Set a custom Chrome or Chromium executable path. By default Remotion will try to find an existing version of Chrome on your system and if not found, it will download one. This flag is useful if you don't have Chrome installed in a standard location and you want to prevent downloading an additional browser or need support for the H264 codec." })),
11
12
  ssrName: 'browserExecutable',
@@ -1,5 +1,6 @@
1
1
  export declare const browserOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "browser";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const cliFlag = 'browser';
6
6
  exports.browserOption = {
7
7
  name: 'Browser',
8
+ addedIn: '3.3.79',
8
9
  cliFlag,
9
10
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the browser which should be used for opening a tab. The default browser will be used by default. Pass an absolute path or", ' ', jsx_runtime_1.jsx("code", { children: "\"chrome\"" }),
10
11
  " to use Chrome. If Chrome is selected as the browser and you are on macOS, Remotion will try to reuse an existing tab."] })),
@@ -1,5 +1,6 @@
1
1
  export declare const bundleCacheOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "bundle-cache";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -6,6 +6,7 @@ const cliFlag = 'bundle-cache';
6
6
  let cachingEnabled = true;
7
7
  exports.bundleCacheOption = {
8
8
  name: 'Webpack Bundle Caching',
9
+ addedIn: '2.0.0',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Enable or disable Webpack caching. This flag is enabled by default, use", ' ', jsx_runtime_1.jsx("code", { children: "--bundle-cache=false" }),
11
12
  " to disable caching."] })),
@@ -1,5 +1,6 @@
1
1
  export declare const canvasTabsOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "disable-canvas-tabs";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -7,6 +7,7 @@ let configuredCanvasTabsEnabled = null;
7
7
  const cliFlag = 'disable-canvas-tabs';
8
8
  exports.canvasTabsOption = {
9
9
  name: 'Disable or enable Studio canvas tabs',
10
+ addedIn: '4.0.530',
10
11
  cliFlag,
11
12
  description: () => jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Enable or disable the tabs above the Studio canvas." }),
12
13
  ssrName: null,
@@ -3,6 +3,7 @@ export type ChromeMode = (typeof validChromeModeOptions)[number];
3
3
  export declare const chromeModeOption: {
4
4
  cliFlag: "chrome-mode";
5
5
  name: string;
6
+ addedIn: string;
6
7
  ssrName: string;
7
8
  description: () => import("react/jsx-runtime").JSX.Element;
8
9
  docLink: string;