@remotion/renderer 4.0.533 → 4.0.535

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 (285) hide show
  1. package/dist/aac-priming.js +6 -2
  2. package/dist/browser/BrowserFetcher.d.ts +7 -1
  3. package/dist/browser/BrowserFetcher.js +33 -13
  4. package/dist/browser/BrowserPage.js +4 -0
  5. package/dist/browser/Connection.js +5 -17
  6. package/dist/browser/DOMWorld.js +19 -13
  7. package/dist/browser/devtools-commands.d.ts +13 -1
  8. package/dist/browser/devtools-types.d.ts +62 -0
  9. package/dist/browser/get-chrome-download-url.d.ts +1 -1
  10. package/dist/browser/get-chrome-download-url.js +19 -33
  11. package/dist/can-use-parallel-encoding.d.ts +0 -1
  12. package/dist/can-use-parallel-encoding.js +10 -10
  13. package/dist/client.d.ts +402 -4
  14. package/dist/client.js +2 -0
  15. package/dist/combine-chunks.d.ts +2 -1
  16. package/dist/combine-chunks.js +81 -52
  17. package/dist/combine-video-streams.js +3 -0
  18. package/dist/compositor/get-executable-path.js +30 -15
  19. package/dist/cycle-browser-tabs.js +9 -1
  20. package/dist/ensure-browser.d.ts +3 -0
  21. package/dist/ensure-browser.js +30 -6
  22. package/dist/esm/client.mjs +1325 -954
  23. package/dist/esm/index.mjs +4465 -3324
  24. package/dist/esm/pure.mjs +36 -10
  25. package/dist/file-extensions.js +4 -1
  26. package/dist/get-mp4-brand.d.ts +1 -0
  27. package/dist/get-mp4-brand.js +21 -0
  28. package/dist/get-video-threads-flag.js +5 -1
  29. package/dist/image-format.d.ts +1 -0
  30. package/dist/image-format.js +8 -4
  31. package/dist/index.d.ts +58 -2
  32. package/dist/index.js +4 -0
  33. package/dist/memory/from-macos-sysctl.d.ts +1 -0
  34. package/dist/memory/from-macos-sysctl.js +50 -0
  35. package/dist/memory/from-proc-meminfo.d.ts +1 -1
  36. package/dist/memory/from-proc-meminfo.js +7 -4
  37. package/dist/memory/get-available-memory.js +29 -21
  38. package/dist/mux-video-and-audio.js +11 -2
  39. package/dist/next-frame-to-render.d.ts +3 -7
  40. package/dist/next-frame-to-render.js +3 -22
  41. package/dist/open-browser.js +1 -0
  42. package/dist/options/allow-html-in-canvas.d.ts +1 -0
  43. package/dist/options/allow-html-in-canvas.js +2 -1
  44. package/dist/options/api-key.d.ts +1 -0
  45. package/dist/options/api-key.js +2 -1
  46. package/dist/options/ask-ai.d.ts +1 -0
  47. package/dist/options/ask-ai.js +2 -1
  48. package/dist/options/audio-bitrate.d.ts +1 -0
  49. package/dist/options/audio-bitrate.js +2 -1
  50. package/dist/options/audio-codec.d.ts +1 -0
  51. package/dist/options/audio-codec.js +13 -6
  52. package/dist/options/beep-on-finish.d.ts +1 -0
  53. package/dist/options/beep-on-finish.js +2 -1
  54. package/dist/options/benchmark-concurrencies.d.ts +1 -0
  55. package/dist/options/benchmark-concurrencies.js +2 -1
  56. package/dist/options/binaries-directory.d.ts +1 -0
  57. package/dist/options/binaries-directory.js +2 -1
  58. package/dist/options/browser-executable.d.ts +1 -0
  59. package/dist/options/browser-executable.js +2 -1
  60. package/dist/options/browser.d.ts +1 -0
  61. package/dist/options/browser.js +2 -1
  62. package/dist/options/bundle-cache.d.ts +1 -0
  63. package/dist/options/bundle-cache.js +2 -1
  64. package/dist/options/canvas-tabs.d.ts +1 -0
  65. package/dist/options/canvas-tabs.js +2 -1
  66. package/dist/options/chrome-mode.d.ts +1 -0
  67. package/dist/options/chrome-mode.js +2 -1
  68. package/dist/options/color-space.d.ts +1 -0
  69. package/dist/options/color-space.js +2 -1
  70. package/dist/options/concurrency.d.ts +1 -0
  71. package/dist/options/concurrency.js +2 -1
  72. package/dist/options/config.d.ts +1 -0
  73. package/dist/options/config.js +2 -1
  74. package/dist/options/crf.d.ts +1 -0
  75. package/dist/options/crf.js +2 -1
  76. package/dist/options/cross-site-isolation.d.ts +1 -0
  77. package/dist/options/cross-site-isolation.js +2 -1
  78. package/dist/options/dark-mode.d.ts +1 -0
  79. package/dist/options/dark-mode.js +2 -1
  80. package/dist/options/default-coding-agent.d.ts +1 -0
  81. package/dist/options/default-coding-agent.js +2 -1
  82. package/dist/options/default-editor.d.ts +1 -0
  83. package/dist/options/default-editor.js +2 -1
  84. package/dist/options/default-premount-in-seconds.d.ts +19 -0
  85. package/dist/options/default-premount-in-seconds.js +36 -0
  86. package/dist/options/delete-after.d.ts +1 -0
  87. package/dist/options/delete-after.js +2 -1
  88. package/dist/options/disable-git-source.d.ts +1 -0
  89. package/dist/options/disable-git-source.js +2 -1
  90. package/dist/options/disable-shared-memory-capture.d.ts +17 -0
  91. package/dist/options/disable-shared-memory-capture.js +30 -0
  92. package/dist/options/disable-web-security.d.ts +1 -0
  93. package/dist/options/disable-web-security.js +2 -1
  94. package/dist/options/disallow-parallel-encoding.d.ts +1 -0
  95. package/dist/options/disallow-parallel-encoding.js +2 -1
  96. package/dist/options/enable-cancellation.d.ts +1 -0
  97. package/dist/options/enable-cancellation.js +2 -1
  98. package/dist/options/enable-lambda-insights.d.ts +1 -0
  99. package/dist/options/enable-lambda-insights.js +2 -1
  100. package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
  101. package/dist/options/enable-multiprocess-on-linux.js +2 -1
  102. package/dist/options/encoding-buffer-size.d.ts +1 -0
  103. package/dist/options/encoding-buffer-size.js +2 -1
  104. package/dist/options/encoding-max-rate.d.ts +1 -0
  105. package/dist/options/encoding-max-rate.js +2 -1
  106. package/dist/options/enforce-audio.d.ts +1 -0
  107. package/dist/options/enforce-audio.js +2 -1
  108. package/dist/options/env-file.d.ts +1 -0
  109. package/dist/options/env-file.js +2 -1
  110. package/dist/options/every-nth-frame.d.ts +1 -0
  111. package/dist/options/every-nth-frame.js +2 -1
  112. package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
  113. package/dist/options/experimental-keep-audio-context-alive.js +2 -1
  114. package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
  115. package/dist/options/experimental-sequence-activity-limit.js +40 -0
  116. package/dist/options/experimental-sequence-activity.d.ts +19 -0
  117. package/dist/options/experimental-sequence-activity.js +38 -0
  118. package/dist/options/experimental-tracks.d.ts +19 -0
  119. package/dist/options/experimental-tracks.js +43 -0
  120. package/dist/options/folder-expiry.d.ts +1 -0
  121. package/dist/options/folder-expiry.js +2 -1
  122. package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
  123. package/dist/options/for-seamless-aac-concatenation.js +2 -1
  124. package/dist/options/force-new-studio.d.ts +1 -0
  125. package/dist/options/force-new-studio.js +2 -1
  126. package/dist/options/frames.d.ts +1 -0
  127. package/dist/options/frames.js +2 -1
  128. package/dist/options/gl.d.ts +1 -0
  129. package/dist/options/gl.js +2 -1
  130. package/dist/options/gop-size.d.ts +1 -0
  131. package/dist/options/gop-size.js +2 -1
  132. package/dist/options/hardware-acceleration.d.ts +1 -0
  133. package/dist/options/hardware-acceleration.js +2 -1
  134. package/dist/options/headless.d.ts +1 -0
  135. package/dist/options/headless.js +2 -1
  136. package/dist/options/ignore-certificate-errors.d.ts +1 -0
  137. package/dist/options/ignore-certificate-errors.js +2 -1
  138. package/dist/options/image-sequence-pattern.d.ts +2 -1
  139. package/dist/options/image-sequence-pattern.js +2 -1
  140. package/dist/options/image-sequence.d.ts +1 -0
  141. package/dist/options/image-sequence.js +2 -1
  142. package/dist/options/index.d.ts +211 -2
  143. package/dist/options/index.js +12 -0
  144. package/dist/options/interactivity.d.ts +1 -0
  145. package/dist/options/interactivity.js +2 -1
  146. package/dist/options/ipv4.d.ts +1 -0
  147. package/dist/options/ipv4.js +2 -1
  148. package/dist/options/is-production.d.ts +1 -0
  149. package/dist/options/is-production.js +2 -1
  150. package/dist/options/jpeg-quality.d.ts +1 -0
  151. package/dist/options/jpeg-quality.js +6 -2
  152. package/dist/options/keyboard-shortcuts.d.ts +1 -0
  153. package/dist/options/keyboard-shortcuts.js +2 -1
  154. package/dist/options/latency-hint.d.ts +1 -0
  155. package/dist/options/latency-hint.js +2 -1
  156. package/dist/options/license-key.d.ts +1 -0
  157. package/dist/options/license-key.js +2 -1
  158. package/dist/options/log-level.d.ts +1 -0
  159. package/dist/options/log-level.js +2 -1
  160. package/dist/options/metadata.d.ts +1 -0
  161. package/dist/options/metadata.js +2 -1
  162. package/dist/options/mute.d.ts +1 -0
  163. package/dist/options/mute.js +2 -1
  164. package/dist/options/no-open.d.ts +1 -0
  165. package/dist/options/no-open.js +2 -1
  166. package/dist/options/number-of-gif-loops.d.ts +1 -0
  167. package/dist/options/number-of-gif-loops.js +2 -1
  168. package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
  169. package/dist/options/number-of-shared-audio-tags.js +2 -1
  170. package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
  171. package/dist/options/offthreadvideo-cache-size.js +2 -1
  172. package/dist/options/offthreadvideo-threads.d.ts +1 -0
  173. package/dist/options/offthreadvideo-threads.js +2 -1
  174. package/dist/options/on-browser-download.d.ts +1 -0
  175. package/dist/options/on-browser-download.js +2 -1
  176. package/dist/options/option.d.ts +1 -0
  177. package/dist/options/options-map.d.ts +189 -1
  178. package/dist/options/options-map.js +4 -0
  179. package/dist/options/out-dir.d.ts +1 -0
  180. package/dist/options/out-dir.js +2 -1
  181. package/dist/options/override-duration.d.ts +1 -0
  182. package/dist/options/override-duration.js +2 -1
  183. package/dist/options/override-fps.d.ts +1 -0
  184. package/dist/options/override-fps.js +2 -1
  185. package/dist/options/override-height.d.ts +1 -0
  186. package/dist/options/override-height.js +2 -1
  187. package/dist/options/override-width.d.ts +1 -0
  188. package/dist/options/override-width.js +2 -1
  189. package/dist/options/overwrite.d.ts +1 -0
  190. package/dist/options/overwrite.js +2 -1
  191. package/dist/options/package-manager.d.ts +1 -0
  192. package/dist/options/package-manager.js +2 -1
  193. package/dist/options/pixel-format.d.ts +1 -0
  194. package/dist/options/pixel-format.js +2 -1
  195. package/dist/options/port.d.ts +1 -0
  196. package/dist/options/port.js +2 -1
  197. package/dist/options/prefer-lossless.d.ts +1 -0
  198. package/dist/options/prefer-lossless.js +2 -1
  199. package/dist/options/preview-sample-rate.d.ts +1 -0
  200. package/dist/options/preview-sample-rate.js +2 -1
  201. package/dist/options/props.d.ts +1 -0
  202. package/dist/options/props.js +2 -1
  203. package/dist/options/prores-profile.d.ts +1 -0
  204. package/dist/options/prores-profile.js +2 -1
  205. package/dist/options/public-dir.d.ts +1 -0
  206. package/dist/options/public-dir.js +2 -1
  207. package/dist/options/public-license-key.d.ts +1 -0
  208. package/dist/options/public-license-key.js +2 -1
  209. package/dist/options/public-path.d.ts +1 -0
  210. package/dist/options/public-path.js +2 -1
  211. package/dist/options/repro.d.ts +1 -0
  212. package/dist/options/repro.js +2 -1
  213. package/dist/options/rspack.d.ts +2 -1
  214. package/dist/options/rspack.js +2 -1
  215. package/dist/options/runs.d.ts +1 -0
  216. package/dist/options/runs.js +2 -1
  217. package/dist/options/sample-rate.d.ts +1 -0
  218. package/dist/options/sample-rate.js +2 -1
  219. package/dist/options/scale.d.ts +1 -0
  220. package/dist/options/scale.js +2 -1
  221. package/dist/options/separate-audio.d.ts +1 -0
  222. package/dist/options/separate-audio.js +3 -2
  223. package/dist/options/show-premounting.d.ts +19 -0
  224. package/dist/options/show-premounting.js +33 -0
  225. package/dist/options/skip-skills.d.ts +1 -0
  226. package/dist/options/skip-skills.js +2 -1
  227. package/dist/options/still-frame.d.ts +1 -0
  228. package/dist/options/still-frame.js +2 -1
  229. package/dist/options/still-image-format.d.ts +1 -0
  230. package/dist/options/still-image-format.js +2 -1
  231. package/dist/options/throw-if-site-exists.d.ts +1 -0
  232. package/dist/options/throw-if-site-exists.js +2 -1
  233. package/dist/options/timeout.d.ts +1 -0
  234. package/dist/options/timeout.js +2 -1
  235. package/dist/options/user-agent.d.ts +1 -0
  236. package/dist/options/user-agent.js +2 -1
  237. package/dist/options/version-flag.d.ts +1 -0
  238. package/dist/options/version-flag.js +2 -1
  239. package/dist/options/video-bitrate.d.ts +1 -0
  240. package/dist/options/video-bitrate.js +2 -1
  241. package/dist/options/video-cache-size.d.ts +1 -0
  242. package/dist/options/video-cache-size.js +2 -1
  243. package/dist/options/video-codec.d.ts +1 -0
  244. package/dist/options/video-codec.js +5 -3
  245. package/dist/options/video-image-format.d.ts +1 -0
  246. package/dist/options/video-image-format.js +7 -2
  247. package/dist/options/webhook-custom-data.d.ts +1 -0
  248. package/dist/options/webhook-custom-data.js +2 -1
  249. package/dist/options/webpack-poll.d.ts +1 -0
  250. package/dist/options/webpack-poll.js +2 -1
  251. package/dist/options/x264-preset.d.ts +1 -0
  252. package/dist/options/x264-preset.js +2 -1
  253. package/dist/prespawn-ffmpeg.d.ts +20 -0
  254. package/dist/prespawn-ffmpeg.js +157 -29
  255. package/dist/probe-shared-memory-capture.d.ts +8 -0
  256. package/dist/probe-shared-memory-capture.js +111 -0
  257. package/dist/puppeteer-screenshot.d.ts +3 -1
  258. package/dist/puppeteer-screenshot.js +1 -0
  259. package/dist/pure.d.ts +1 -1
  260. package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
  261. package/dist/remotion-shared-memory-ffmpeg.js +312 -0
  262. package/dist/remotion-shared-memory.d.ts +49 -0
  263. package/dist/remotion-shared-memory.js +359 -0
  264. package/dist/render-frame-and-retry-target-close.d.ts +5 -2
  265. package/dist/render-frame-and-retry-target-close.js +20 -4
  266. package/dist/render-frame-with-option-to-reject.d.ts +4 -1
  267. package/dist/render-frame-with-option-to-reject.js +206 -115
  268. package/dist/render-frame.d.ts +4 -5
  269. package/dist/render-frame.js +3 -1
  270. package/dist/render-frames.d.ts +3 -0
  271. package/dist/render-frames.js +15 -18
  272. package/dist/render-media.d.ts +1 -1
  273. package/dist/render-media.js +131 -46
  274. package/dist/render-still.js +1 -0
  275. package/dist/screenshot-background.d.ts +2 -0
  276. package/dist/screenshot-background.js +20 -0
  277. package/dist/screenshot-task.d.ts +4 -2
  278. package/dist/screenshot-task.js +40 -21
  279. package/dist/seek-to-frame.js +1 -1
  280. package/dist/stitch-frames-to-video.js +71 -10
  281. package/dist/take-frame.d.ts +11 -3
  282. package/dist/take-frame.js +10 -8
  283. package/dist/validate-output-filename.d.ts +1 -1
  284. package/dist/validate-output-filename.js +10 -2
  285. package/package.json +13 -13
@@ -1,5 +1,6 @@
1
1
  export declare const skipSkillsOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "skip-skills";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -5,10 +5,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const cliFlag = 'skip-skills';
6
6
  exports.skipSkillsOption = {
7
7
  name: 'Skip Skills',
8
+ addedIn: '4.0.503',
8
9
  cliFlag,
9
10
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Do not update installed Remotion Agent Skills while upgrading Remotion." })),
10
11
  ssrName: null,
11
- docLink: 'https://www.remotion.dev/docs/cli/upgrade#--skip-skills',
12
+ docLink: 'https://www.remotion.dev/docs/options/skip-skills',
12
13
  getValue: ({ commandLine }) => {
13
14
  if (commandLine[cliFlag]) {
14
15
  return {
@@ -1,5 +1,6 @@
1
1
  export declare const stillFrameOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "frame";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "frame";
@@ -14,12 +14,13 @@ const validate = (frame) => {
14
14
  };
15
15
  exports.stillFrameOption = {
16
16
  name: 'Frame',
17
+ addedIn: '2.3.0',
17
18
  cliFlag,
18
19
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Which frame should be rendered when rendering a still. Default", ' ', jsx_runtime_1.jsx("code", { children: "0" }),
19
20
  ". From v3.2.27, negative values are allowed, with", ' ', jsx_runtime_1.jsx("code", { children: "-1" }),
20
21
  " being the last frame."] })),
21
22
  ssrName: 'frame',
22
- docLink: 'https://www.remotion.dev/docs/cli/still#--frame',
23
+ docLink: 'https://www.remotion.dev/docs/options/frame',
23
24
  getValue: ({ commandLine }) => {
24
25
  if (commandLine[cliFlag] !== undefined) {
25
26
  const frame = Number(commandLine[cliFlag]);
@@ -1,5 +1,6 @@
1
1
  export declare const stillImageFormatOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "image-format";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "imageFormat";
@@ -7,11 +7,12 @@ let currentStillImageFormat = null;
7
7
  const cliFlag = 'image-format';
8
8
  exports.stillImageFormatOption = {
9
9
  name: 'Still Image Format',
10
+ addedIn: '2.3.0',
10
11
  cliFlag,
11
12
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["The image format to use when rendering a still. Must be one of", ' ', image_format_1.validStillImageFormats.map((f) => `"${f}"`).join(', '), ". Default:", ' ', jsx_runtime_1.jsx("code", { children: "\"png\"" }),
12
13
  "."] })),
13
14
  ssrName: 'imageFormat',
14
- docLink: 'https://www.remotion.dev/docs/renderer/render-still#imageformat',
15
+ docLink: 'https://www.remotion.dev/docs/options/still-image-format',
15
16
  type: null,
16
17
  getValue: ({ commandLine }) => {
17
18
  if (commandLine[cliFlag] !== undefined) {
@@ -9,6 +9,7 @@ export declare const throwIfSiteExistsOption: {
9
9
  value: boolean;
10
10
  };
11
11
  name: string;
12
+ addedIn: string;
12
13
  setConfig: () => never;
13
14
  ssrName: string;
14
15
  type: boolean;
@@ -6,7 +6,7 @@ const cliFlag = 'throw-if-site-exists';
6
6
  exports.throwIfSiteExistsOption = {
7
7
  cliFlag,
8
8
  description: () => `Prevents accidential update of an existing site. If there are any files in the subfolder where the site should be placed, the function will throw.`,
9
- docLink: 'https://remotion.dev/docs/lambda/deploy-site',
9
+ docLink: 'https://www.remotion.dev/docs/options/throw-if-site-exists',
10
10
  getValue: ({ commandLine }) => {
11
11
  if (commandLine[cliFlag]) {
12
12
  return {
@@ -20,6 +20,7 @@ exports.throwIfSiteExistsOption = {
20
20
  };
21
21
  },
22
22
  name: 'Throw if site exists',
23
+ addedIn: '4.0.141',
23
24
  setConfig: () => {
24
25
  throw new Error('Not implemented');
25
26
  },
@@ -1,5 +1,6 @@
1
1
  export declare const delayRenderTimeoutInMillisecondsOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "timeout";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "timeoutInMilliseconds";
@@ -13,13 +13,14 @@ const validate = (value) => {
13
13
  const cliFlag = 'timeout';
14
14
  exports.delayRenderTimeoutInMillisecondsOption = {
15
15
  name: 'delayRender() timeout',
16
+ addedIn: '2.6.3',
16
17
  cliFlag,
17
18
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["A number describing how long the render may take to resolve all", ' ', jsx_runtime_1.jsx("a", { href: "https://remotion.dev/docs/delay-render", children: jsx_runtime_1.jsx("code", { children: "delayRender()" }) }), ' ', "calls", ' ', jsx_runtime_1.jsx("a", { style: { fontSize: 'inherit' }, href: "https://remotion.dev/docs/timeout", children: "before it times out" }),
18
19
  ". Default: ",
19
20
  jsx_runtime_1.jsx("code", { children: "30000" })
20
21
  ] })),
21
22
  ssrName: 'timeoutInMilliseconds',
22
- docLink: 'https://www.remotion.dev/docs/timeout',
23
+ docLink: 'https://www.remotion.dev/docs/options/timeout',
23
24
  type: 0,
24
25
  getValue: ({ commandLine }) => {
25
26
  if (commandLine[cliFlag] !== undefined) {
@@ -1,5 +1,6 @@
1
1
  export declare const userAgentOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "user-agent";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "userAgent";
@@ -6,10 +6,11 @@ let userAgent = null;
6
6
  const cliFlag = 'user-agent';
7
7
  exports.userAgentOption = {
8
8
  name: 'User agent',
9
+ addedIn: '3.3.83',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Lets you set a custom user agent that the headless Chrome browser assumes." })),
11
12
  ssrName: 'userAgent',
12
- docLink: 'https://www.remotion.dev/docs/chromium-flags#--user-agent',
13
+ docLink: 'https://www.remotion.dev/docs/options/user-agent',
13
14
  type: null,
14
15
  getValue: ({ commandLine }) => {
15
16
  if (commandLine[cliFlag] !== undefined) {
@@ -1,5 +1,6 @@
1
1
  export declare const versionFlagOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "version";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -5,10 +5,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const cliFlag = 'version';
6
6
  exports.versionFlagOption = {
7
7
  name: 'Version',
8
+ addedIn: '4.0.15',
8
9
  cliFlag,
9
10
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Install a specific version. Also enables downgrading to an older version." })),
10
11
  ssrName: null,
11
- docLink: 'https://www.remotion.dev/docs/cli/upgrade#--version',
12
+ docLink: 'https://www.remotion.dev/docs/options/version',
12
13
  getValue: ({ commandLine }) => {
13
14
  if (commandLine[cliFlag] !== undefined) {
14
15
  return {
@@ -1,5 +1,6 @@
1
1
  export declare const videoBitrateOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "video-bitrate";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: string;
@@ -6,6 +6,7 @@ let videoBitrate = null;
6
6
  const cliFlag = 'video-bitrate';
7
7
  exports.videoBitrateOption = {
8
8
  name: 'Video 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:v" }),
@@ -15,7 +16,7 @@ exports.videoBitrateOption = {
15
16
  jsx_runtime_1.jsx("code", { children: "1M" }),
16
17
  " for 1 Mbps."] })),
17
18
  ssrName: 'videoBitrate',
18
- docLink: 'https://www.remotion.dev/docs/renderer/render-media#videobitrate',
19
+ docLink: 'https://www.remotion.dev/docs/options/video-bitrate',
19
20
  type: '',
20
21
  getValue: ({ commandLine }) => {
21
22
  if (commandLine[cliFlag] !== undefined) {
@@ -1,6 +1,7 @@
1
1
  export declare const getMediaCacheSizeInBytes: () => number | null;
2
2
  export declare const mediaCacheSizeInBytesOption: {
3
3
  name: string;
4
+ addedIn: string;
4
5
  cliFlag: "media-cache-size-in-bytes";
5
6
  description: () => import("react/jsx-runtime").JSX.Element;
6
7
  ssrName: "mediaCacheSizeInBytes";
@@ -10,6 +10,7 @@ exports.getMediaCacheSizeInBytes = getMediaCacheSizeInBytes;
10
10
  const cliFlag = 'media-cache-size-in-bytes';
11
11
  exports.mediaCacheSizeInBytesOption = {
12
12
  name: '@remotion/media cache size',
13
+ addedIn: '4.0.352',
13
14
  cliFlag,
14
15
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the memory budget for decoded media cached by", ' ', jsx_runtime_1.jsx("code", { children: "<Video>" }),
15
16
  " and ",
@@ -19,7 +20,7 @@ exports.mediaCacheSizeInBytesOption = {
19
20
  jsx_runtime_1.jsx("br", {}),
20
21
  "The default is half of the available system memory when the render starts."] })),
21
22
  ssrName: 'mediaCacheSizeInBytes',
22
- docLink: 'https://www.remotion.dev/docs/media/cache',
23
+ docLink: 'https://www.remotion.dev/docs/options/media-cache-size-in-bytes',
23
24
  type: 0,
24
25
  getValue: ({ commandLine }) => {
25
26
  if (commandLine[cliFlag] !== undefined) {
@@ -2,6 +2,7 @@ import type { CodecOrUndefined } from '../codec';
2
2
  export declare const getOutputCodecOrUndefined: () => CodecOrUndefined;
3
3
  export declare const videoCodecOption: {
4
4
  name: string;
5
+ addedIn: string;
5
6
  cliFlag: "codec";
6
7
  description: () => import("react/jsx-runtime").JSX.Element;
7
8
  ssrName: string;
@@ -25,18 +25,20 @@ const deriveCodecsFromFilename = (extension) => {
25
25
  if (extension === null) {
26
26
  return { possible: [], default: null };
27
27
  }
28
+ const normalizedExtension = extension.toLowerCase();
28
29
  return {
29
- default: (_a = get_extension_from_codec_1.defaultCodecsForFileExtension[extension]) !== null && _a !== void 0 ? _a : null,
30
- possible: (_b = (0, get_extension_from_codec_1.makeFileExtensionMap)()[extension]) !== null && _b !== void 0 ? _b : [],
30
+ default: (_a = get_extension_from_codec_1.defaultCodecsForFileExtension[normalizedExtension]) !== null && _a !== void 0 ? _a : null,
31
+ possible: (_b = (0, get_extension_from_codec_1.makeFileExtensionMap)()[normalizedExtension]) !== null && _b !== void 0 ? _b : [],
31
32
  };
32
33
  };
33
34
  const cliFlag = 'codec';
34
35
  exports.videoCodecOption = {
35
36
  name: 'Codec',
37
+ addedIn: '1.4.0',
36
38
  cliFlag,
37
39
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency." })),
38
40
  ssrName: 'codec',
39
- docLink: 'https://www.remotion.dev/docs/encoding/#choosing-a-codec',
41
+ docLink: 'https://www.remotion.dev/docs/options/codec',
40
42
  type: '',
41
43
  getValue: ({ commandLine }, { compositionCodec, configFile, downloadName, outName, uiCodec, }) => {
42
44
  if (uiCodec) {
@@ -1,6 +1,7 @@
1
1
  import type { CodecOrUndefined } from '../codec';
2
2
  export declare const videoImageFormatOption: {
3
3
  name: string;
4
+ addedIn: string;
4
5
  cliFlag: "image-format";
5
6
  description: () => import("react/jsx-runtime").JSX.Element;
6
7
  ssrName: "imageFormat";
@@ -8,11 +8,16 @@ let currentVideoImageFormat = null;
8
8
  const cliFlag = 'image-format';
9
9
  exports.videoImageFormatOption = {
10
10
  name: 'Video Image Format',
11
+ addedIn: '1.4.0',
11
12
  cliFlag,
12
13
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["The image format to use when rendering frames for a video. Must be one of", ' ', image_format_1.validVideoImageFormats.map((f) => `"${f}"`).join(', '), ". Default:", ' ', jsx_runtime_1.jsx("code", { children: "\"jpeg\"" }),
13
- ". JPEG is faster, but does not support transparency."] })),
14
+ ". JPEG is faster, but does not support transparency.",
15
+ jsx_runtime_1.jsx("br", {}),
16
+ "When ",
17
+ jsx_runtime_1.jsx("a", { href: "/docs/shared-memory-capture", children: "shared-memory capture" }),
18
+ " is active, this option has no effect. The output pixel format determines transparency."] })),
14
19
  ssrName: 'imageFormat',
15
- docLink: 'https://www.remotion.dev/docs/renderer/render-media#imageformat',
20
+ docLink: 'https://www.remotion.dev/docs/options/video-image-format',
16
21
  type: null,
17
22
  getValue: ({ commandLine }, options) => {
18
23
  if (options === null || options === void 0 ? void 0 : options.uiVideoImageFormat) {
@@ -1,5 +1,6 @@
1
1
  export declare const webhookCustomDataOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "webhook-custom-data";
4
5
  description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: "customData";
@@ -5,12 +5,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const cliFlag = 'webhook-custom-data';
6
6
  exports.webhookCustomDataOption = {
7
7
  name: 'Webhook custom data',
8
+ addedIn: '4.0.25',
8
9
  cliFlag,
9
10
  description: (type) => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.", ' ', type === 'cli'
10
11
  ? 'Alternatively, pass a file path pointing to a JSON file'
11
12
  : null] })),
12
13
  ssrName: 'customData',
13
- docLink: 'https://www.remotion.dev/docs/lambda/webhooks',
14
+ docLink: 'https://www.remotion.dev/docs/options/webhook-custom-data',
14
15
  type: {},
15
16
  getValue: () => {
16
17
  throw new Error('Option resolution not implemented');
@@ -1,5 +1,6 @@
1
1
  export declare const webpackPollOption: {
2
2
  name: string;
3
+ addedIn: string;
3
4
  cliFlag: "webpack-poll";
4
5
  description: () => import("react/jsx-runtime").JSX.Element;
5
6
  ssrName: null;
@@ -6,10 +6,11 @@ const cliFlag = 'webpack-poll';
6
6
  let webpackPolling = null;
7
7
  exports.webpackPollOption = {
8
8
  name: 'Webpack Polling',
9
+ addedIn: '3.3.11',
9
10
  cliFlag,
10
11
  description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Enables Webpack polling instead of the file system event listeners for hot reloading. This is useful if you are inside a virtual machine or have a remote file system. Pass a value in milliseconds." })),
11
12
  ssrName: null,
12
- docLink: 'https://www.remotion.dev/docs/config#setwebpackpollinginmilliseconds',
13
+ docLink: 'https://www.remotion.dev/docs/options/webpack-poll',
13
14
  getValue: ({ commandLine }) => {
14
15
  if (commandLine[cliFlag] !== undefined) {
15
16
  const val = commandLine[cliFlag];
@@ -6,6 +6,7 @@ export declare const validateSelectedCodecAndPresetCombination: ({ codec, x264Pr
6
6
  }) => void;
7
7
  export declare const x264Option: {
8
8
  name: string;
9
+ addedIn: string;
9
10
  cliFlag: "x264-preset";
10
11
  description: () => import("react/jsx-runtime").JSX.Element;
11
12
  ssrName: "x264Preset";
@@ -34,6 +34,7 @@ const cliFlag = 'x264-preset';
34
34
  const DEFAULT_PRESET = 'medium';
35
35
  exports.x264Option = {
36
36
  name: 'x264 Preset',
37
+ addedIn: '4.0.22',
37
38
  cliFlag,
38
39
  description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Sets a x264 preset profile. Only applies to videos rendered with", ' ', jsx_runtime_1.jsx("code", { children: "h264" }),
39
40
  " codec.",
@@ -59,7 +60,7 @@ exports.x264Option = {
59
60
  jsx_runtime_1.jsx("code", { children: DEFAULT_PRESET })
60
61
  ] })),
61
62
  ssrName: 'x264Preset',
62
- docLink: 'https://www.remotion.dev/docs/renderer/render-media',
63
+ docLink: 'https://www.remotion.dev/docs/options/x264-preset',
63
64
  type: 'fast',
64
65
  getValue: ({ commandLine }) => {
65
66
  const value = commandLine[cliFlag];
@@ -9,6 +9,7 @@ import type { CancelSignal } from './make-cancel-signal';
9
9
  import type { ColorSpace } from './options/color-space';
10
10
  import type { X264Preset } from './options/x264-preset';
11
11
  import type { PixelFormat } from './pixel-format';
12
+ import type { RemotionRawFrame } from './remotion-shared-memory';
12
13
  type RunningStatus = {
13
14
  type: 'running';
14
15
  } | {
@@ -44,10 +45,29 @@ type PreStitcherOptions = {
44
45
  binariesDirectory: string | null;
45
46
  hardwareAcceleration: HardwareAccelerationOption;
46
47
  onLog: OnLog;
48
+ inputMode: 'encoded-image' | 'remotion-shared-memory';
49
+ remotionSharedMemoryPoolDirectory: string | null;
47
50
  };
51
+ export type RemotionSharedMemoryFfmpegSupport = {
52
+ sharedMemory: boolean;
53
+ filePools: boolean;
54
+ };
55
+ export declare const probeRemotionSharedMemoryFfmpegSupport: ({ binariesDirectory, indent, logLevel, }: {
56
+ binariesDirectory: string | null;
57
+ indent: boolean;
58
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
59
+ }) => Promise<RemotionSharedMemoryFfmpegSupport>;
48
60
  export declare const prespawnFfmpeg: (options: PreStitcherOptions) => {
49
61
  task: import("execa").ExecaChildProcess<string>;
50
62
  getLogs: () => string;
51
63
  getExitStatus: () => RunningStatus;
64
+ writeFrame: ({ frame, pts, }: {
65
+ frame: Buffer | RemotionRawFrame;
66
+ pts: number;
67
+ }) => Promise<{
68
+ waitForAck: Promise<void>;
69
+ }>;
70
+ finishInput: () => Promise<void>;
71
+ abortInput: (error: Error) => void;
52
72
  };
53
73
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prespawnFfmpeg = void 0;
3
+ exports.prespawnFfmpeg = exports.probeRemotionSharedMemoryFfmpegSupport = void 0;
4
4
  const call_ffmpeg_1 = require("./call-ffmpeg");
5
5
  const codec_1 = require("./codec");
6
6
  const ffmpeg_args_1 = require("./ffmpeg-args");
@@ -11,8 +11,66 @@ const from_lambda_env_1 = require("./memory/from-lambda-env");
11
11
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
12
12
  const pixel_format_1 = require("./pixel-format");
13
13
  const probe_encoder_1 = require("./probe-encoder");
14
+ const remotion_shared_memory_ffmpeg_1 = require("./remotion-shared-memory-ffmpeg");
14
15
  const validate_1 = require("./validate");
15
16
  const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
17
+ const write_with_backpressure_1 = require("./write-with-backpressure");
18
+ const remotionSharedMemorySupport = new Map();
19
+ const probeRemotionSharedMemoryFfmpegSupport = ({ binariesDirectory, indent, logLevel, }) => {
20
+ const key = binariesDirectory !== null && binariesDirectory !== void 0 ? binariesDirectory : '<bundled>';
21
+ const cached = remotionSharedMemorySupport.get(key);
22
+ if (cached) {
23
+ return cached;
24
+ }
25
+ const result = (async () => {
26
+ try {
27
+ const devices = await (0, call_ffmpeg_1.callFf)({
28
+ bin: 'ffmpeg',
29
+ args: ['-hide_banner', '-devices'],
30
+ indent,
31
+ logLevel,
32
+ binariesDirectory,
33
+ cancelSignal: undefined,
34
+ });
35
+ if (!/(?:^|\n)\s*D\s{2}remotionshm(?:\s|$)/.test(`${devices.stdout}\n${devices.stderr}`)) {
36
+ return { sharedMemory: false, filePools: false };
37
+ }
38
+ const help = await (0, call_ffmpeg_1.callFf)({
39
+ bin: 'ffmpeg',
40
+ args: ['-hide_banner', '-h', 'demuxer=remotionshm'],
41
+ indent,
42
+ logLevel,
43
+ binariesDirectory,
44
+ cancelSignal: undefined,
45
+ });
46
+ return {
47
+ sharedMemory: true,
48
+ filePools: /(?:^|\n)\s*-pool_dir\s/.test(`${help.stdout}\n${help.stderr}`),
49
+ };
50
+ }
51
+ catch (_a) {
52
+ return { sharedMemory: false, filePools: false };
53
+ }
54
+ })();
55
+ remotionSharedMemorySupport.set(key, result);
56
+ return result;
57
+ };
58
+ exports.probeRemotionSharedMemoryFfmpegSupport = probeRemotionSharedMemoryFfmpegSupport;
59
+ const fpsAsFraction = (fps) => {
60
+ const denominator = 1000000;
61
+ let numerator = Math.round(fps * denominator);
62
+ let divisor = denominator;
63
+ let left = numerator;
64
+ let right = divisor;
65
+ while (right !== 0) {
66
+ const remainder = left % right;
67
+ left = right;
68
+ right = remainder;
69
+ }
70
+ numerator /= left;
71
+ divisor /= left;
72
+ return `${numerator}/${divisor}`;
73
+ };
16
74
  const prespawnFfmpeg = (options) => {
17
75
  var _a;
18
76
  var _b, _c;
@@ -43,34 +101,59 @@ const prespawnFfmpeg = (options) => {
43
101
  encodingBufferSize: options.encodingBufferSize,
44
102
  onLog: options.onLog,
45
103
  });
104
+ const encodingArgs = (0, ffmpeg_args_1.generateFfmpegArgs)({
105
+ hasPreencoded: false,
106
+ proResProfileName,
107
+ pixelFormat,
108
+ x264Preset: options.x264Preset,
109
+ gopSize: options.gopSize,
110
+ codec,
111
+ crf: options.crf,
112
+ videoBitrate: options.videoBitrate,
113
+ encodingMaxRate: options.encodingMaxRate,
114
+ encodingBufferSize: options.encodingBufferSize,
115
+ colorSpace: options.colorSpace,
116
+ hardwareAcceleration: resolvedHardwareAcceleration,
117
+ indent: options.indent,
118
+ logLevel: options.logLevel,
119
+ cpuCount: (0, get_cpu_count_1.getCpuCount)(),
120
+ lambdaMemoryInBytes: (0, from_lambda_env_1.getMaxLambdaMemory)(),
121
+ });
122
+ const encodingArgsWithOwnedPixels = options.inputMode === 'remotion-shared-memory'
123
+ ? encodingArgs.some(([flag]) => flag === '-vf')
124
+ ? encodingArgs.map((args) => args[0] === '-vf' ? ['-vf', `copy,${args[1]}`] : args)
125
+ : [...encodingArgs, ['-vf', 'copy']]
126
+ : encodingArgs;
46
127
  const ffmpegArgs = [
47
- ['-r', options.fps],
48
- ...[
49
- ['-f', 'image2pipe'],
50
- ['-s', `${options.width}x${options.height}`],
51
- // If scale is very small (like 0.1), FFMPEG cannot figure out the image
52
- // format on it's own and we need to hint the format
53
- ['-vcodec', options.imageFormat === 'jpeg' ? 'mjpeg' : 'png'],
54
- ['-i', '-'],
55
- ],
56
- ...(0, ffmpeg_args_1.generateFfmpegArgs)({
57
- hasPreencoded: false,
58
- proResProfileName,
59
- pixelFormat,
60
- x264Preset: options.x264Preset,
61
- gopSize: options.gopSize,
62
- codec,
63
- crf: options.crf,
64
- videoBitrate: options.videoBitrate,
65
- encodingMaxRate: options.encodingMaxRate,
66
- encodingBufferSize: options.encodingBufferSize,
67
- colorSpace: options.colorSpace,
68
- hardwareAcceleration: resolvedHardwareAcceleration,
69
- indent: options.indent,
70
- logLevel: options.logLevel,
71
- cpuCount: (0, get_cpu_count_1.getCpuCount)(),
72
- lambdaMemoryInBytes: (0, from_lambda_env_1.getMaxLambdaMemory)(),
73
- }),
128
+ ...(options.inputMode === 'remotion-shared-memory'
129
+ ? [
130
+ ['-nostdin'],
131
+ ['-xerror'],
132
+ ['-nofind_stream_info'],
133
+ ['-threads:v', '1'],
134
+ ['-f', 'remotionshm'],
135
+ ['-video_size', `${options.width}x${options.height}`],
136
+ ['-framerate', fpsAsFraction(options.fps)],
137
+ ['-control_fd', '0'],
138
+ ['-ack_fd', '1'],
139
+ options.remotionSharedMemoryPoolDirectory === null
140
+ ? null
141
+ : ['-pool_dir', options.remotionSharedMemoryPoolDirectory],
142
+ ['-i', 'remotion'],
143
+ ]
144
+ : [
145
+ ['-r', options.fps],
146
+ ['-f', 'image2pipe'],
147
+ ['-s', `${options.width}x${options.height}`],
148
+ // If scale is very small (like 0.1), FFMPEG cannot figure out the image
149
+ // format on its own and we need to hint the format.
150
+ ['-vcodec', options.imageFormat === 'jpeg' ? 'mjpeg' : 'png'],
151
+ ['-i', '-'],
152
+ ]),
153
+ ...encodingArgsWithOwnedPixels,
154
+ options.inputMode === 'remotion-shared-memory'
155
+ ? ['-fps_mode', 'passthrough']
156
+ : null,
74
157
  '-y',
75
158
  options.outputLocation,
76
159
  ];
@@ -95,7 +178,21 @@ const prespawnFfmpeg = (options) => {
95
178
  logLevel: options.logLevel,
96
179
  binariesDirectory: options.binariesDirectory,
97
180
  cancelSignal: options.signal,
181
+ options: options.inputMode === 'remotion-shared-memory'
182
+ ? {
183
+ // Older Bun versions can double-close extra stdio FDs. Use
184
+ // stdin/stdout for the protocol and consume ACKs without buffering.
185
+ stdio: 'pipe',
186
+ buffer: false,
187
+ }
188
+ : undefined,
98
189
  });
190
+ const remotionSharedMemory = options.inputMode === 'remotion-shared-memory'
191
+ ? (0, remotion_shared_memory_ffmpeg_1.createRemotionSharedMemoryFfmpegBridge)({
192
+ control: task.stdin,
193
+ acknowledgements: task.stdout,
194
+ })
195
+ : null;
99
196
  let ffmpegOutput = '';
100
197
  (_a = task.stderr) === null || _a === void 0 ? void 0 : _a.on('data', (data) => {
101
198
  const str = data.toString();
@@ -126,6 +223,37 @@ const prespawnFfmpeg = (options) => {
126
223
  };
127
224
  }
128
225
  });
129
- return { task, getLogs: () => ffmpegOutput, getExitStatus: () => exitCode };
226
+ return {
227
+ task,
228
+ getLogs: () => ffmpegOutput,
229
+ getExitStatus: () => exitCode,
230
+ writeFrame: async ({ frame, pts, }) => {
231
+ if (remotionSharedMemory) {
232
+ if (Buffer.isBuffer(frame)) {
233
+ throw new Error('Expected a Remotion shared-memory frame.');
234
+ }
235
+ return remotionSharedMemory.writeFrame({ frame, pts });
236
+ }
237
+ if (!Buffer.isBuffer(frame)) {
238
+ throw new Error('Expected an encoded image frame.');
239
+ }
240
+ if (!task.stdin) {
241
+ throw new Error('FFmpeg stdin is not available.');
242
+ }
243
+ await (0, write_with_backpressure_1.writeWithBackpressure)({ data: frame, writable: task.stdin });
244
+ return { waitForAck: Promise.resolve() };
245
+ },
246
+ finishInput: async () => {
247
+ var _a;
248
+ if (remotionSharedMemory) {
249
+ await remotionSharedMemory.finish();
250
+ return;
251
+ }
252
+ (_a = task.stdin) === null || _a === void 0 ? void 0 : _a.end();
253
+ },
254
+ abortInput: (error) => {
255
+ remotionSharedMemory === null || remotionSharedMemory === void 0 ? void 0 : remotionSharedMemory.fail(error);
256
+ },
257
+ };
130
258
  };
131
259
  exports.prespawnFfmpeg = prespawnFfmpeg;
@@ -0,0 +1,8 @@
1
+ import type { ChromiumOptions } from './open-browser';
2
+ export declare const probeSharedMemoryCapture: ({ browserExecutable, chromeMode, chromiumOptions, binariesDirectory, logLevel, }: {
3
+ browserExecutable: string | null;
4
+ chromeMode: "chrome-for-testing" | "headless-shell";
5
+ chromiumOptions: ChromiumOptions;
6
+ binariesDirectory: string | null;
7
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
8
+ }) => Promise<boolean>;