@remotion/renderer 4.0.357 → 4.0.360

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 (654) hide show
  1. package/dist/render-frames.js +1 -1
  2. package/dist/test/actual-concurrency.test.d.ts +1 -0
  3. package/dist/test/artifacts.test.d.ts +1 -0
  4. package/dist/test/asset-calculation.test.d.ts +1 -0
  5. package/dist/test/asset-compression.test.d.ts +1 -0
  6. package/dist/test/avoid-ffmpeg-stackoverflow.test.d.ts +1 -0
  7. package/dist/test/browser-log-message.test.d.ts +1 -0
  8. package/dist/test/calculate-atempo.test.d.ts +1 -0
  9. package/dist/test/compositor-rust.test.d.ts +1 -0
  10. package/dist/test/crf.test.d.ts +1 -0
  11. package/dist/test/derive-codec-from-file-extension.test.d.ts +1 -0
  12. package/dist/test/dont-skip-assets.test.d.ts +1 -0
  13. package/dist/test/download-file.test.d.ts +1 -0
  14. package/dist/test/even-dimensions.test.d.ts +1 -0
  15. package/dist/test/extra-frames-to-capture.test.d.ts +1 -0
  16. package/dist/test/extract-audio.test.d.ts +1 -0
  17. package/dist/test/extract-frame-rust.test.d.ts +1 -0
  18. package/dist/test/ffmpeg-filters.test.d.ts +1 -0
  19. package/dist/test/ffmpeg-merge-filter.test.d.ts +1 -0
  20. package/dist/test/ffmpeg-volume-expression.test.d.ts +1 -0
  21. package/dist/test/file-extension.test.d.ts +1 -0
  22. package/dist/test/find-closest-package-json.test.d.ts +1 -0
  23. package/dist/test/flatten-volume-array.test.d.ts +1 -0
  24. package/dist/test/format-logs.test.d.ts +1 -0
  25. package/dist/test/frame-padded-index.test.d.ts +1 -0
  26. package/dist/test/frame.test.d.ts +1 -0
  27. package/dist/test/get-assets-for-markup.d.ts +8 -0
  28. package/dist/test/get-audio-channels.test.d.ts +1 -0
  29. package/dist/test/get-bundle-url-from-serve-url.test.d.ts +1 -0
  30. package/dist/test/get-silent-parts.test.d.ts +1 -0
  31. package/dist/test/guess-extension-for-media.test.d.ts +1 -0
  32. package/dist/test/handle-weird-file-names.test.d.ts +1 -0
  33. package/dist/test/log-level.test.d.ts +1 -0
  34. package/dist/test/mime-types.test.d.ts +1 -0
  35. package/dist/test/offthread-extract-url.test.d.ts +1 -0
  36. package/dist/test/parse-ffmpeg-progress.test.d.ts +1 -0
  37. package/dist/test/partitions.test.d.ts +1 -0
  38. package/dist/test/pixel-format.test.d.ts +1 -0
  39. package/dist/test/port-config.test.d.ts +1 -0
  40. package/dist/test/port-selection.test.d.ts +1 -0
  41. package/dist/test/prores-profile.test.d.ts +1 -0
  42. package/dist/test/render-still.test.d.ts +1 -0
  43. package/dist/test/rust-errors.test.d.ts +1 -0
  44. package/dist/test/rust-get-video-metadata.test.d.ts +1 -0
  45. package/dist/test/rust-memory-usage.test.d.ts +1 -0
  46. package/dist/test/sanitize-file-path.test.d.ts +1 -0
  47. package/dist/test/serve-url.test.d.ts +1 -0
  48. package/dist/test/symbolicate-remote-stack.test.d.ts +1 -0
  49. package/dist/test/validate-concurrency.test.d.ts +1 -0
  50. package/dist/test/validate-config-stitcher.test.d.ts +1 -0
  51. package/dist/test/validate-config.test.d.ts +1 -0
  52. package/dist/test/validate-even-dimensions-with-codec.test.d.ts +1 -0
  53. package/dist/test/validate-image-format.test.d.ts +1 -0
  54. package/dist/test/webpack-to-serve-url.test.d.ts +1 -0
  55. package/ensure-browser.mjs +18 -18
  56. package/package/dist/assets/apply-tone-frequency.d.ts +11 -0
  57. package/package/dist/assets/apply-tone-frequency.js +34 -0
  58. package/package/dist/assets/calculate-asset-positions.d.ts +3 -0
  59. package/package/dist/assets/calculate-asset-positions.js +72 -0
  60. package/package/dist/assets/calculate-atempo.d.ts +1 -0
  61. package/package/dist/assets/calculate-atempo.js +16 -0
  62. package/package/dist/assets/convert-assets-to-file-urls.d.ts +13 -0
  63. package/package/dist/assets/convert-assets-to-file-urls.js +36 -0
  64. package/package/dist/assets/download-and-map-assets-to-file.d.ts +37 -0
  65. package/package/dist/assets/download-and-map-assets-to-file.js +312 -0
  66. package/package/dist/assets/download-file.d.ts +18 -0
  67. package/package/dist/assets/download-file.js +135 -0
  68. package/package/dist/assets/download-map.d.ts +55 -0
  69. package/package/dist/assets/download-map.js +63 -0
  70. package/package/dist/assets/ffmpeg-volume-expression.d.ts +12 -0
  71. package/package/dist/assets/ffmpeg-volume-expression.js +96 -0
  72. package/package/dist/assets/flatten-volume-array.d.ts +3 -0
  73. package/package/dist/assets/flatten-volume-array.js +26 -0
  74. package/package/dist/assets/get-audio-channels.d.ts +20 -0
  75. package/package/dist/assets/get-audio-channels.js +78 -0
  76. package/package/dist/assets/inline-audio-mixing.d.ts +22 -0
  77. package/package/dist/assets/inline-audio-mixing.js +189 -0
  78. package/package/dist/assets/read-file.d.ts +7 -0
  79. package/package/dist/assets/read-file.js +97 -0
  80. package/package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +1 -0
  81. package/package/dist/assets/round-volume-to-avoid-stack-overflow.js +17 -0
  82. package/package/dist/assets/sanitize-filename.d.ts +1 -0
  83. package/package/dist/assets/sanitize-filename.js +58 -0
  84. package/package/dist/assets/sanitize-filepath.d.ts +1 -0
  85. package/package/dist/assets/sanitize-filepath.js +16 -0
  86. package/package/dist/assets/truncate-utf8-bytes.d.ts +1 -0
  87. package/package/dist/assets/truncate-utf8-bytes.js +36 -0
  88. package/package/dist/assets/types.d.ts +18 -0
  89. package/package/dist/assets/types.js +21 -0
  90. package/package/dist/browser/Browser.d.ts +97 -0
  91. package/package/dist/browser/Browser.js +246 -0
  92. package/package/dist/browser/BrowserFetcher.d.ts +33 -0
  93. package/package/dist/browser/BrowserFetcher.js +215 -0
  94. package/package/dist/browser/BrowserPage.d.ts +104 -0
  95. package/package/dist/browser/BrowserPage.js +436 -0
  96. package/package/dist/browser/BrowserRunner.d.ts +33 -0
  97. package/package/dist/browser/BrowserRunner.js +303 -0
  98. package/package/dist/browser/Connection.d.ts +49 -0
  99. package/package/dist/browser/Connection.js +258 -0
  100. package/package/dist/browser/ConsoleMessage.d.ts +42 -0
  101. package/package/dist/browser/ConsoleMessage.js +47 -0
  102. package/package/dist/browser/DOMWorld.d.ts +56 -0
  103. package/package/dist/browser/DOMWorld.js +272 -0
  104. package/package/dist/browser/Errors.d.ts +25 -0
  105. package/package/dist/browser/Errors.js +35 -0
  106. package/package/dist/browser/EvalTypes.d.ts +27 -0
  107. package/package/dist/browser/EvalTypes.js +17 -0
  108. package/package/dist/browser/EventEmitter.d.ts +23 -0
  109. package/package/dist/browser/EventEmitter.js +53 -0
  110. package/package/dist/browser/ExecutionContext.d.ts +34 -0
  111. package/package/dist/browser/ExecutionContext.js +174 -0
  112. package/package/dist/browser/FrameManager.d.ts +89 -0
  113. package/package/dist/browser/FrameManager.js +487 -0
  114. package/package/dist/browser/HTTPRequest.d.ts +29 -0
  115. package/package/dist/browser/HTTPRequest.js +39 -0
  116. package/package/dist/browser/HTTPResponse.d.ts +21 -0
  117. package/package/dist/browser/HTTPResponse.js +41 -0
  118. package/package/dist/browser/JSHandle.d.ts +35 -0
  119. package/package/dist/browser/JSHandle.js +90 -0
  120. package/package/dist/browser/LaunchOptions.d.ts +26 -0
  121. package/package/dist/browser/LaunchOptions.js +17 -0
  122. package/package/dist/browser/Launcher.d.ts +18 -0
  123. package/package/dist/browser/Launcher.js +41 -0
  124. package/package/dist/browser/LifecycleWatcher.d.ts +29 -0
  125. package/package/dist/browser/LifecycleWatcher.js +180 -0
  126. package/package/dist/browser/NetworkEventManager.d.ts +34 -0
  127. package/package/dist/browser/NetworkEventManager.js +85 -0
  128. package/package/dist/browser/NetworkManager.d.ts +37 -0
  129. package/package/dist/browser/NetworkManager.js +246 -0
  130. package/package/dist/browser/NodeWebSocketTransport.d.ts +19 -0
  131. package/package/dist/browser/NodeWebSocketTransport.js +81 -0
  132. package/package/dist/browser/PuppeteerViewport.d.ts +5 -0
  133. package/package/dist/browser/PuppeteerViewport.js +2 -0
  134. package/package/dist/browser/ScreenshotOptions.d.ts +0 -0
  135. package/package/dist/browser/ScreenshotOptions.js +1 -0
  136. package/package/dist/browser/Target.d.ts +72 -0
  137. package/package/dist/browser/Target.js +161 -0
  138. package/package/dist/browser/TaskQueue.d.ts +20 -0
  139. package/package/dist/browser/TaskQueue.js +47 -0
  140. package/package/dist/browser/TimeoutSettings.d.ts +24 -0
  141. package/package/dist/browser/TimeoutSettings.js +62 -0
  142. package/package/dist/browser/assert.d.ts +1 -0
  143. package/package/dist/browser/assert.js +9 -0
  144. package/package/dist/browser/browser-download-progress-bar.d.ts +7 -0
  145. package/package/dist/browser/browser-download-progress-bar.js +31 -0
  146. package/package/dist/browser/devtools-commands.d.ts +274 -0
  147. package/package/dist/browser/devtools-commands.js +2 -0
  148. package/package/dist/browser/devtools-types.d.ts +1263 -0
  149. package/package/dist/browser/devtools-types.js +2 -0
  150. package/package/dist/browser/flaky-errors.d.ts +2 -0
  151. package/package/dist/browser/flaky-errors.js +20 -0
  152. package/package/dist/browser/get-download-destination.d.ts +1 -0
  153. package/package/dist/browser/get-download-destination.js +38 -0
  154. package/package/dist/browser/handle-failed-resource.d.ts +10 -0
  155. package/package/dist/browser/handle-failed-resource.js +21 -0
  156. package/package/dist/browser/mitt/index.d.ts +22 -0
  157. package/package/dist/browser/mitt/index.js +49 -0
  158. package/package/dist/browser/should-log-message.d.ts +24 -0
  159. package/package/dist/browser/should-log-message.js +104 -0
  160. package/package/dist/browser/source-map-getter.d.ts +2 -0
  161. package/package/dist/browser/source-map-getter.js +2 -0
  162. package/package/dist/browser/util.d.ts +37 -0
  163. package/package/dist/browser/util.js +169 -0
  164. package/package/dist/browser-executable.d.ts +1 -0
  165. package/package/dist/browser-executable.js +2 -0
  166. package/package/dist/browser-log.d.ts +6 -0
  167. package/package/dist/browser-log.js +2 -0
  168. package/package/dist/browser.d.ts +2 -0
  169. package/package/dist/browser.js +4 -0
  170. package/package/dist/call-ffmpeg.d.ts +22 -0
  171. package/package/dist/call-ffmpeg.js +53 -0
  172. package/package/dist/can-concat-seamlessly.d.ts +4 -0
  173. package/package/dist/can-concat-seamlessly.js +17 -0
  174. package/package/dist/can-use-parallel-encoding.d.ts +3 -0
  175. package/package/dist/can-use-parallel-encoding.js +19 -0
  176. package/package/dist/chalk/index.d.ts +55 -0
  177. package/package/dist/chalk/index.js +130 -0
  178. package/package/dist/chalk/is-color-supported.d.ts +1 -0
  179. package/package/dist/chalk/is-color-supported.js +55 -0
  180. package/package/dist/check-version-requirements.d.ts +3 -0
  181. package/package/dist/check-version-requirements.js +82 -0
  182. package/package/dist/chunk.d.ts +1 -0
  183. package/package/dist/chunk.js +11 -0
  184. package/package/dist/client.d.ts +3016 -0
  185. package/package/dist/client.js +57 -0
  186. package/package/dist/codec-supports-media.d.ts +9 -0
  187. package/package/dist/codec-supports-media.js +76 -0
  188. package/package/dist/codec.d.ts +4 -0
  189. package/package/dist/codec.js +17 -0
  190. package/package/dist/collect-assets.d.ts +7 -0
  191. package/package/dist/collect-assets.js +38 -0
  192. package/package/dist/combine-audio.d.ts +21 -0
  193. package/package/dist/combine-audio.js +183 -0
  194. package/package/dist/combine-chunks.d.ts +39 -0
  195. package/package/dist/combine-chunks.js +171 -0
  196. package/package/dist/combine-video-streams-seamlessly.d.ts +3 -0
  197. package/package/dist/combine-video-streams-seamlessly.js +8 -0
  198. package/package/dist/combine-video-streams.d.ts +17 -0
  199. package/package/dist/combine-video-streams.js +75 -0
  200. package/package/dist/compositor/compositor.d.ts +22 -0
  201. package/package/dist/compositor/compositor.js +182 -0
  202. package/package/dist/compositor/get-executable-path.d.ts +12 -0
  203. package/package/dist/compositor/get-executable-path.js +95 -0
  204. package/package/dist/compositor/get-explicit-env.d.ts +3 -0
  205. package/package/dist/compositor/get-explicit-env.js +13 -0
  206. package/package/dist/compositor/make-file-executable.d.ts +1 -0
  207. package/package/dist/compositor/make-file-executable.js +44 -0
  208. package/package/dist/compositor/make-nonce.d.ts +1 -0
  209. package/package/dist/compositor/make-nonce.js +8 -0
  210. package/package/dist/compositor/payloads.d.ts +73 -0
  211. package/package/dist/compositor/payloads.js +2 -0
  212. package/package/dist/compositor/serialize-command.d.ts +2 -0
  213. package/package/dist/compositor/serialize-command.js +14 -0
  214. package/package/dist/compress-assets.d.ts +7 -0
  215. package/package/dist/compress-assets.js +25 -0
  216. package/package/dist/compress-audio.d.ts +16 -0
  217. package/package/dist/compress-audio.js +44 -0
  218. package/package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  219. package/package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  220. package/package/dist/convert-to-positive-frame-index.d.ts +4 -0
  221. package/package/dist/convert-to-positive-frame-index.js +8 -0
  222. package/package/dist/create-audio.d.ts +29 -0
  223. package/package/dist/create-audio.js +127 -0
  224. package/package/dist/create-ffmpeg-complex-filter.d.ts +10 -0
  225. package/package/dist/create-ffmpeg-complex-filter.js +24 -0
  226. package/package/dist/create-ffmpeg-merge-filter.d.ts +5 -0
  227. package/package/dist/create-ffmpeg-merge-filter.js +25 -0
  228. package/package/dist/create-silent-audio.d.ts +10 -0
  229. package/package/dist/create-silent-audio.js +28 -0
  230. package/package/dist/crf.d.ts +13 -0
  231. package/package/dist/crf.js +103 -0
  232. package/package/dist/cycle-browser-tabs.d.ts +10 -0
  233. package/package/dist/cycle-browser-tabs.js +50 -0
  234. package/package/dist/default-on-log.d.ts +2 -0
  235. package/package/dist/default-on-log.js +8 -0
  236. package/package/dist/delay-render-embedded-stack.d.ts +2 -0
  237. package/package/dist/delay-render-embedded-stack.js +17 -0
  238. package/package/dist/delete-directory.d.ts +1 -0
  239. package/package/dist/delete-directory.js +68 -0
  240. package/package/dist/ensure-browser.d.ts +24 -0
  241. package/package/dist/ensure-browser.js +58 -0
  242. package/package/dist/ensure-frames-in-order.d.ts +5 -0
  243. package/package/dist/ensure-frames-in-order.js +39 -0
  244. package/package/dist/ensure-output-directory.d.ts +1 -0
  245. package/package/dist/ensure-output-directory.js +17 -0
  246. package/package/dist/error-handling/handle-javascript-exception.d.ts +23 -0
  247. package/package/dist/error-handling/handle-javascript-exception.js +86 -0
  248. package/package/dist/error-handling/symbolicate-error.d.ts +3 -0
  249. package/package/dist/error-handling/symbolicate-error.js +26 -0
  250. package/package/dist/error-handling/symbolicateable-error.d.ts +18 -0
  251. package/package/dist/error-handling/symbolicateable-error.js +19 -0
  252. package/package/dist/error-handling.d.ts +1 -0
  253. package/package/dist/error-handling.js +5 -0
  254. package/package/dist/esm/client.mjs +3270 -0
  255. package/package/dist/esm/error-handling.mjs +363 -0
  256. package/package/dist/esm/index.mjs +23201 -0
  257. package/package/dist/esm/pure.mjs +526 -0
  258. package/package/dist/extract-audio.d.ts +7 -0
  259. package/package/dist/extract-audio.js +25 -0
  260. package/package/dist/ffmpeg-args.d.ts +21 -0
  261. package/package/dist/ffmpeg-args.js +96 -0
  262. package/package/dist/ffmpeg-filter-file.d.ts +13 -0
  263. package/package/dist/ffmpeg-filter-file.js +70 -0
  264. package/package/dist/ffmpeg-override.d.ts +4 -0
  265. package/package/dist/ffmpeg-override.js +2 -0
  266. package/package/dist/file-extensions.d.ts +14 -0
  267. package/package/dist/file-extensions.js +85 -0
  268. package/package/dist/filter-asset-types.d.ts +8 -0
  269. package/package/dist/filter-asset-types.js +44 -0
  270. package/package/dist/find-closest-package-json.d.ts +2 -0
  271. package/package/dist/find-closest-package-json.js +31 -0
  272. package/package/dist/format-logs.d.ts +3 -0
  273. package/package/dist/format-logs.js +214 -0
  274. package/package/dist/frame-range.d.ts +2 -0
  275. package/package/dist/frame-range.js +49 -0
  276. package/package/dist/get-browser-instance.d.ts +24 -0
  277. package/package/dist/get-browser-instance.js +63 -0
  278. package/package/dist/get-bundle-url-from-serve-url.d.ts +2 -0
  279. package/package/dist/get-bundle-url-from-serve-url.js +30 -0
  280. package/package/dist/get-codec-name.d.ts +21 -0
  281. package/package/dist/get-codec-name.js +87 -0
  282. package/package/dist/get-compositions.d.ts +34 -0
  283. package/package/dist/get-compositions.js +196 -0
  284. package/package/dist/get-concurrency.d.ts +1 -0
  285. package/package/dist/get-concurrency.js +27 -0
  286. package/package/dist/get-cpu-count.d.ts +2 -0
  287. package/package/dist/get-cpu-count.js +33 -0
  288. package/package/dist/get-duration-from-frame-range.d.ts +1 -0
  289. package/package/dist/get-duration-from-frame-range.js +17 -0
  290. package/package/dist/get-extension-from-codec.d.ts +6 -0
  291. package/package/dist/get-extension-from-codec.js +61 -0
  292. package/package/dist/get-extension-of-filename.d.ts +1 -0
  293. package/package/dist/get-extension-of-filename.js +15 -0
  294. package/package/dist/get-extra-frames-to-capture.d.ts +14 -0
  295. package/package/dist/get-extra-frames-to-capture.js +62 -0
  296. package/package/dist/get-frame-padded-index.d.ts +21 -0
  297. package/package/dist/get-frame-padded-index.js +43 -0
  298. package/package/dist/get-frame-to-render.d.ts +2 -0
  299. package/package/dist/get-frame-to-render.js +19 -0
  300. package/package/dist/get-local-browser-executable.d.ts +9 -0
  301. package/package/dist/get-local-browser-executable.js +36 -0
  302. package/package/dist/get-port.d.ts +15 -0
  303. package/package/dist/get-port.js +86 -0
  304. package/package/dist/get-prores-profile-name.d.ts +3 -0
  305. package/package/dist/get-prores-profile-name.js +25 -0
  306. package/package/dist/get-silent-parts.d.ts +10 -0
  307. package/package/dist/get-silent-parts.js +66 -0
  308. package/package/dist/get-video-metadata.d.ts +10 -0
  309. package/package/dist/get-video-metadata.js +25 -0
  310. package/package/dist/get-video-threads-flag.d.ts +2 -0
  311. package/package/dist/get-video-threads-flag.js +16 -0
  312. package/package/dist/goto-page-or-throw.d.ts +3 -0
  313. package/package/dist/goto-page-or-throw.js +16 -0
  314. package/package/dist/guess-extension-for-media.d.ts +9 -0
  315. package/package/dist/guess-extension-for-media.js +31 -0
  316. package/package/dist/image-format.d.ts +13 -0
  317. package/package/dist/image-format.js +37 -0
  318. package/package/dist/index.d.ts +1256 -0
  319. package/package/dist/index.js +227 -0
  320. package/package/dist/is-audio-codec.d.ts +2 -0
  321. package/package/dist/is-audio-codec.js +7 -0
  322. package/package/dist/is-delay-render-error-with-retry.d.ts +1 -0
  323. package/package/dist/is-delay-render-error-with-retry.js +28 -0
  324. package/package/dist/is-serve-url.d.ts +1 -0
  325. package/package/dist/is-serve-url.js +15 -0
  326. package/package/dist/jpeg-quality.d.ts +2 -0
  327. package/package/dist/jpeg-quality.js +22 -0
  328. package/package/dist/locks.d.ts +7 -0
  329. package/package/dist/locks.js +47 -0
  330. package/package/dist/log-level.d.ts +4 -0
  331. package/package/dist/log-level.js +15 -0
  332. package/package/dist/logger.d.ts +20 -0
  333. package/package/dist/logger.js +89 -0
  334. package/package/dist/make-cancel-signal.d.ts +14 -0
  335. package/package/dist/make-cancel-signal.js +48 -0
  336. package/package/dist/make-metadata-args.d.ts +2 -0
  337. package/package/dist/make-metadata-args.js +22 -0
  338. package/package/dist/make-page.d.ts +30 -0
  339. package/package/dist/make-page.js +70 -0
  340. package/package/dist/memory/from-docker-cgroup.d.ts +1 -0
  341. package/package/dist/memory/from-docker-cgroup.js +66 -0
  342. package/package/dist/memory/from-lambda-env.d.ts +1 -0
  343. package/package/dist/memory/from-lambda-env.js +10 -0
  344. package/package/dist/memory/from-proc-meminfo.d.ts +2 -0
  345. package/package/dist/memory/from-proc-meminfo.js +44 -0
  346. package/package/dist/memory/get-available-memory.d.ts +2 -0
  347. package/package/dist/memory/get-available-memory.js +44 -0
  348. package/package/dist/merge-audio-track.d.ts +19 -0
  349. package/package/dist/merge-audio-track.js +133 -0
  350. package/package/dist/mime-db.d.ts +6 -0
  351. package/package/dist/mime-db.js +8636 -0
  352. package/package/dist/mime-types.d.ts +3 -0
  353. package/package/dist/mime-types.js +94 -0
  354. package/package/dist/mux-video-and-audio.d.ts +15 -0
  355. package/package/dist/mux-video-and-audio.js +54 -0
  356. package/package/dist/next-frame-to-render.d.ts +11 -0
  357. package/package/dist/next-frame-to-render.js +41 -0
  358. package/package/dist/normalize-serve-url.d.ts +1 -0
  359. package/package/dist/normalize-serve-url.js +19 -0
  360. package/package/dist/offthread-video-server.d.ts +51 -0
  361. package/package/dist/offthread-video-server.js +217 -0
  362. package/package/dist/open-browser.d.ts +47 -0
  363. package/package/dist/open-browser.js +200 -0
  364. package/package/dist/options/api-key.d.ts +15 -0
  365. package/package/dist/options/api-key.js +29 -0
  366. package/package/dist/options/audio-bitrate.d.ts +18 -0
  367. package/package/dist/options/audio-bitrate.js +35 -0
  368. package/package/dist/options/audio-codec.d.ts +55 -0
  369. package/package/dist/options/audio-codec.js +188 -0
  370. package/package/dist/options/beep-on-finish.d.ts +15 -0
  371. package/package/dist/options/beep-on-finish.js +35 -0
  372. package/package/dist/options/binaries-directory.d.ts +15 -0
  373. package/package/dist/options/binaries-directory.js +35 -0
  374. package/package/dist/options/chrome-mode.d.ts +17 -0
  375. package/package/dist/options/chrome-mode.js +46 -0
  376. package/package/dist/options/color-space.d.ts +23 -0
  377. package/package/dist/options/color-space.js +49 -0
  378. package/package/dist/options/crf.d.ts +17 -0
  379. package/package/dist/options/crf.js +43 -0
  380. package/package/dist/options/cross-site-isolation.d.ts +15 -0
  381. package/package/dist/options/cross-site-isolation.js +29 -0
  382. package/package/dist/options/delete-after.d.ts +19 -0
  383. package/package/dist/options/delete-after.js +37 -0
  384. package/package/dist/options/disable-git-source.d.ts +15 -0
  385. package/package/dist/options/disable-git-source.js +28 -0
  386. package/package/dist/options/disallow-parallel-encoding.d.ts +15 -0
  387. package/package/dist/options/disallow-parallel-encoding.js +35 -0
  388. package/package/dist/options/enable-lambda-insights.d.ts +15 -0
  389. package/package/dist/options/enable-lambda-insights.js +35 -0
  390. package/package/dist/options/enable-multiprocess-on-linux.d.ts +15 -0
  391. package/package/dist/options/enable-multiprocess-on-linux.js +36 -0
  392. package/package/dist/options/encoding-buffer-size.d.ts +18 -0
  393. package/package/dist/options/encoding-buffer-size.js +39 -0
  394. package/package/dist/options/encoding-max-rate.d.ts +18 -0
  395. package/package/dist/options/encoding-max-rate.js +35 -0
  396. package/package/dist/options/enforce-audio.d.ts +18 -0
  397. package/package/dist/options/enforce-audio.js +36 -0
  398. package/package/dist/options/folder-expiry.d.ts +15 -0
  399. package/package/dist/options/folder-expiry.js +37 -0
  400. package/package/dist/options/for-seamless-aac-concatenation.d.ts +19 -0
  401. package/package/dist/options/for-seamless-aac-concatenation.js +40 -0
  402. package/package/dist/options/gl.d.ts +24 -0
  403. package/package/dist/options/gl.js +68 -0
  404. package/package/dist/options/hardware-acceleration.d.ts +18 -0
  405. package/package/dist/options/hardware-acceleration.js +56 -0
  406. package/package/dist/options/headless.d.ts +15 -0
  407. package/package/dist/options/headless.js +36 -0
  408. package/package/dist/options/image-sequence-pattern.d.ts +15 -0
  409. package/package/dist/options/image-sequence-pattern.js +30 -0
  410. package/package/dist/options/index.d.ts +747 -0
  411. package/package/dist/options/index.js +97 -0
  412. package/package/dist/options/jpeg-quality.d.ts +17 -0
  413. package/package/dist/options/jpeg-quality.js +47 -0
  414. package/package/dist/options/latency-hint.d.ts +18 -0
  415. package/package/dist/options/latency-hint.js +27 -0
  416. package/package/dist/options/log-level.d.ts +16 -0
  417. package/package/dist/options/log-level.js +32 -0
  418. package/package/dist/options/metadata.d.ts +18 -0
  419. package/package/dist/options/metadata.js +47 -0
  420. package/package/dist/options/mute.d.ts +15 -0
  421. package/package/dist/options/mute.js +37 -0
  422. package/package/dist/options/number-of-gif-loops.d.ts +19 -0
  423. package/package/dist/options/number-of-gif-loops.js +44 -0
  424. package/package/dist/options/offthreadvideo-cache-size.d.ts +20 -0
  425. package/package/dist/options/offthreadvideo-cache-size.js +60 -0
  426. package/package/dist/options/offthreadvideo-threads.d.ts +20 -0
  427. package/package/dist/options/offthreadvideo-threads.js +40 -0
  428. package/package/dist/options/on-browser-download.d.ts +22 -0
  429. package/package/dist/options/on-browser-download.js +19 -0
  430. package/package/dist/options/option.d.ts +20 -0
  431. package/package/dist/options/option.js +2 -0
  432. package/package/dist/options/options-map.d.ts +2040 -0
  433. package/package/dist/options/options-map.js +192 -0
  434. package/package/dist/options/overwrite.d.ts +15 -0
  435. package/package/dist/options/overwrite.js +42 -0
  436. package/package/dist/options/prefer-lossless.d.ts +18 -0
  437. package/package/dist/options/prefer-lossless.js +26 -0
  438. package/package/dist/options/public-dir.d.ts +18 -0
  439. package/package/dist/options/public-dir.js +37 -0
  440. package/package/dist/options/public-path.d.ts +18 -0
  441. package/package/dist/options/public-path.js +37 -0
  442. package/package/dist/options/repro.d.ts +15 -0
  443. package/package/dist/options/repro.js +36 -0
  444. package/package/dist/options/scale.d.ts +15 -0
  445. package/package/dist/options/scale.js +41 -0
  446. package/package/dist/options/separate-audio.d.ts +18 -0
  447. package/package/dist/options/separate-audio.js +28 -0
  448. package/package/dist/options/throw-if-site-exists.d.ts +15 -0
  449. package/package/dist/options/throw-if-site-exists.js +28 -0
  450. package/package/dist/options/timeout.d.ts +15 -0
  451. package/package/dist/options/timeout.js +44 -0
  452. package/package/dist/options/video-bitrate.d.ts +15 -0
  453. package/package/dist/options/video-bitrate.js +35 -0
  454. package/package/dist/options/video-cache-size.d.ts +19 -0
  455. package/package/dist/options/video-cache-size.js +39 -0
  456. package/package/dist/options/video-codec.d.ts +23 -0
  457. package/package/dist/options/video-codec.js +104 -0
  458. package/package/dist/options/webhook-custom-data.d.ts +10 -0
  459. package/package/dist/options/webhook-custom-data.js +21 -0
  460. package/package/dist/options/x264-preset.d.ts +25 -0
  461. package/package/dist/options/x264-preset.js +55 -0
  462. package/package/dist/overwrite.d.ts +1 -0
  463. package/package/dist/overwrite.js +4 -0
  464. package/package/dist/p-limit.d.ts +1 -0
  465. package/package/dist/p-limit.js +57 -0
  466. package/package/dist/parse-browser-error-stack.d.ts +7 -0
  467. package/package/dist/parse-browser-error-stack.js +87 -0
  468. package/package/dist/parse-ffmpeg-progress.d.ts +1 -0
  469. package/package/dist/parse-ffmpeg-progress.js +18 -0
  470. package/package/dist/path-normalize.d.ts +1 -0
  471. package/package/dist/path-normalize.js +132 -0
  472. package/package/dist/perf.d.ts +5 -0
  473. package/package/dist/perf.js +37 -0
  474. package/package/dist/pixel-format.d.ts +6 -0
  475. package/package/dist/pixel-format.js +37 -0
  476. package/package/dist/pool.d.ts +8 -0
  477. package/package/dist/pool.js +30 -0
  478. package/package/dist/port-config.d.ts +14 -0
  479. package/package/dist/port-config.js +79 -0
  480. package/package/dist/prepare-server.d.ts +32 -0
  481. package/package/dist/prepare-server.js +123 -0
  482. package/package/dist/preprocess-audio-track.d.ts +27 -0
  483. package/package/dist/preprocess-audio-track.js +82 -0
  484. package/package/dist/prespawn-ffmpeg.d.ts +49 -0
  485. package/package/dist/prespawn-ffmpeg.js +112 -0
  486. package/package/dist/prestitcher-memory-usage.d.ts +10 -0
  487. package/package/dist/prestitcher-memory-usage.js +26 -0
  488. package/package/dist/print-useful-error-message.d.ts +2 -0
  489. package/package/dist/print-useful-error-message.js +110 -0
  490. package/package/dist/prores-profile.d.ts +7 -0
  491. package/package/dist/prores-profile.js +23 -0
  492. package/package/dist/puppeteer-evaluate.d.ts +17 -0
  493. package/package/dist/puppeteer-evaluate.js +162 -0
  494. package/package/dist/puppeteer-screenshot.d.ts +12 -0
  495. package/package/dist/puppeteer-screenshot.js +58 -0
  496. package/package/dist/pure.d.ts +17 -0
  497. package/package/dist/pure.js +17 -0
  498. package/package/dist/redirect-status-codes.d.ts +1 -0
  499. package/package/dist/redirect-status-codes.js +6 -0
  500. package/package/dist/render-frame-and-retry-target-close.d.ts +54 -0
  501. package/package/dist/render-frame-and-retry-target-close.js +179 -0
  502. package/package/dist/render-frame-with-option-to-reject.d.ts +48 -0
  503. package/package/dist/render-frame-with-option-to-reject.js +156 -0
  504. package/package/dist/render-frame.d.ts +47 -0
  505. package/package/dist/render-frame.js +51 -0
  506. package/package/dist/render-frames.d.ts +97 -0
  507. package/package/dist/render-frames.js +413 -0
  508. package/package/dist/render-has-audio.d.ts +8 -0
  509. package/package/dist/render-has-audio.js +20 -0
  510. package/package/dist/render-media.d.ts +135 -0
  511. package/package/dist/render-media.js +621 -0
  512. package/package/dist/render-partitions.d.ts +7 -0
  513. package/package/dist/render-partitions.js +50 -0
  514. package/package/dist/render-still.d.ts +74 -0
  515. package/package/dist/render-still.js +356 -0
  516. package/package/dist/replace-browser.d.ts +7 -0
  517. package/package/dist/replace-browser.js +48 -0
  518. package/package/dist/repro.d.ts +25 -0
  519. package/package/dist/repro.js +184 -0
  520. package/package/dist/resolve-asset-src.d.ts +1 -0
  521. package/package/dist/resolve-asset-src.js +17 -0
  522. package/package/dist/sample-rate.d.ts +1 -0
  523. package/package/dist/sample-rate.js +4 -0
  524. package/package/dist/screenshot-task.d.ts +12 -0
  525. package/package/dist/screenshot-task.js +86 -0
  526. package/package/dist/seamless-aac-trim.d.ts +12 -0
  527. package/package/dist/seamless-aac-trim.js +24 -0
  528. package/package/dist/seek-to-frame.d.ts +18 -0
  529. package/package/dist/seek-to-frame.js +148 -0
  530. package/package/dist/select-composition.d.ts +45 -0
  531. package/package/dist/select-composition.js +219 -0
  532. package/package/dist/serialize-artifact.d.ts +7 -0
  533. package/package/dist/serialize-artifact.js +2 -0
  534. package/package/dist/serve-handler/index.d.ts +4 -0
  535. package/package/dist/serve-handler/index.js +208 -0
  536. package/package/dist/serve-handler/is-path-inside.d.ts +1 -0
  537. package/package/dist/serve-handler/is-path-inside.js +27 -0
  538. package/package/dist/serve-handler/range-parser.d.ts +13 -0
  539. package/package/dist/serve-handler/range-parser.js +57 -0
  540. package/package/dist/serve-static.d.ts +18 -0
  541. package/package/dist/serve-static.js +141 -0
  542. package/package/dist/set-props-and-env.d.ts +22 -0
  543. package/package/dist/set-props-and-env.js +219 -0
  544. package/package/dist/stitch-frames-to-video.d.ts +77 -0
  545. package/package/dist/stitch-frames-to-video.js +350 -0
  546. package/package/dist/stringify-ffmpeg-filter.d.ts +24 -0
  547. package/package/dist/stringify-ffmpeg-filter.js +140 -0
  548. package/package/dist/succeed-or-cancel.d.ts +6 -0
  549. package/package/dist/succeed-or-cancel.js +23 -0
  550. package/package/dist/symbolicate-stacktrace.d.ts +29 -0
  551. package/package/dist/symbolicate-stacktrace.js +155 -0
  552. package/package/dist/take-frame.d.ts +13 -0
  553. package/package/dist/take-frame.js +47 -0
  554. package/package/dist/test/actual-concurrency.test.d.ts +1 -0
  555. package/package/dist/test/artifacts.test.d.ts +1 -0
  556. package/package/dist/test/asset-calculation.test.d.ts +1 -0
  557. package/package/dist/test/asset-compression.test.d.ts +1 -0
  558. package/package/dist/test/avoid-ffmpeg-stackoverflow.test.d.ts +1 -0
  559. package/package/dist/test/browser-log-message.test.d.ts +1 -0
  560. package/package/dist/test/calculate-atempo.test.d.ts +1 -0
  561. package/package/dist/test/compositor-rust.test.d.ts +1 -0
  562. package/package/dist/test/crf.test.d.ts +1 -0
  563. package/package/dist/test/derive-codec-from-file-extension.test.d.ts +1 -0
  564. package/package/dist/test/dont-skip-assets.test.d.ts +1 -0
  565. package/package/dist/test/download-file.test.d.ts +1 -0
  566. package/package/dist/test/even-dimensions.test.d.ts +1 -0
  567. package/package/dist/test/extra-frames-to-capture.test.d.ts +1 -0
  568. package/package/dist/test/extract-audio.test.d.ts +1 -0
  569. package/package/dist/test/extract-frame-rust.test.d.ts +1 -0
  570. package/package/dist/test/ffmpeg-filters.test.d.ts +1 -0
  571. package/package/dist/test/ffmpeg-merge-filter.test.d.ts +1 -0
  572. package/package/dist/test/ffmpeg-volume-expression.test.d.ts +1 -0
  573. package/package/dist/test/file-extension.test.d.ts +1 -0
  574. package/package/dist/test/find-closest-package-json.test.d.ts +1 -0
  575. package/package/dist/test/flatten-volume-array.test.d.ts +1 -0
  576. package/package/dist/test/format-logs.test.d.ts +1 -0
  577. package/package/dist/test/frame-padded-index.test.d.ts +1 -0
  578. package/package/dist/test/frame.test.d.ts +1 -0
  579. package/package/dist/test/get-assets-for-markup.d.ts +8 -0
  580. package/package/dist/test/get-audio-channels.test.d.ts +1 -0
  581. package/package/dist/test/get-bundle-url-from-serve-url.test.d.ts +1 -0
  582. package/package/dist/test/get-silent-parts.test.d.ts +1 -0
  583. package/package/dist/test/guess-extension-for-media.test.d.ts +1 -0
  584. package/package/dist/test/handle-weird-file-names.test.d.ts +1 -0
  585. package/package/dist/test/log-level.test.d.ts +1 -0
  586. package/package/dist/test/mime-types.test.d.ts +1 -0
  587. package/package/dist/test/offthread-extract-url.test.d.ts +1 -0
  588. package/package/dist/test/parse-ffmpeg-progress.test.d.ts +1 -0
  589. package/package/dist/test/partitions.test.d.ts +1 -0
  590. package/package/dist/test/pixel-format.test.d.ts +1 -0
  591. package/package/dist/test/port-config.test.d.ts +1 -0
  592. package/package/dist/test/port-selection.test.d.ts +1 -0
  593. package/package/dist/test/prores-profile.test.d.ts +1 -0
  594. package/package/dist/test/render-still.test.d.ts +1 -0
  595. package/package/dist/test/rust-errors.test.d.ts +1 -0
  596. package/package/dist/test/rust-get-video-metadata.test.d.ts +1 -0
  597. package/package/dist/test/rust-memory-usage.test.d.ts +1 -0
  598. package/package/dist/test/sanitize-file-path.test.d.ts +1 -0
  599. package/package/dist/test/serve-url.test.d.ts +1 -0
  600. package/package/dist/test/symbolicate-remote-stack.test.d.ts +1 -0
  601. package/package/dist/test/validate-concurrency.test.d.ts +1 -0
  602. package/package/dist/test/validate-config-stitcher.test.d.ts +1 -0
  603. package/package/dist/test/validate-config.test.d.ts +1 -0
  604. package/package/dist/test/validate-even-dimensions-with-codec.test.d.ts +1 -0
  605. package/package/dist/test/validate-image-format.test.d.ts +1 -0
  606. package/package/dist/test/webpack-to-serve-url.test.d.ts +1 -0
  607. package/package/dist/test-gpu.d.ts +21 -0
  608. package/package/dist/test-gpu.js +45 -0
  609. package/package/dist/tmp-dir.d.ts +1 -0
  610. package/package/dist/tmp-dir.js +63 -0
  611. package/package/dist/to-megabytes.d.ts +1 -0
  612. package/package/dist/to-megabytes.js +7 -0
  613. package/package/dist/truthy.d.ts +3 -0
  614. package/package/dist/truthy.js +6 -0
  615. package/package/dist/types.d.ts +10 -0
  616. package/package/dist/types.js +2 -0
  617. package/package/dist/v5-required-input-props.d.ts +6 -0
  618. package/package/dist/v5-required-input-props.js +2 -0
  619. package/package/dist/validate-concurrency.d.ts +7 -0
  620. package/package/dist/validate-concurrency.js +38 -0
  621. package/package/dist/validate-even-dimensions-with-codec.d.ts +14 -0
  622. package/package/dist/validate-even-dimensions-with-codec.js +40 -0
  623. package/package/dist/validate-every-nth-frame.d.ts +1 -0
  624. package/package/dist/validate-every-nth-frame.js +24 -0
  625. package/package/dist/validate-ffmpeg-override.d.ts +2 -0
  626. package/package/dist/validate-ffmpeg-override.js +12 -0
  627. package/package/dist/validate-number-of-gif-loops.d.ts +2 -0
  628. package/package/dist/validate-number-of-gif-loops.js +24 -0
  629. package/package/dist/validate-output-filename.d.ts +9 -0
  630. package/package/dist/validate-output-filename.js +32 -0
  631. package/package/dist/validate-puppeteer-timeout.d.ts +1 -0
  632. package/package/dist/validate-puppeteer-timeout.js +25 -0
  633. package/package/dist/validate-scale.d.ts +1 -0
  634. package/package/dist/validate-scale.js +26 -0
  635. package/package/dist/validate-videobitrate.d.ts +1 -0
  636. package/package/dist/validate-videobitrate.js +20 -0
  637. package/package/dist/validate.d.ts +4 -0
  638. package/package/dist/validate.js +8 -0
  639. package/package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  640. package/package/dist/wait-for-symbolication-error-to-be-done.js +8 -0
  641. package/package/dist/wrap-with-error-handling.d.ts +8 -0
  642. package/package/dist/wrap-with-error-handling.js +18 -0
  643. package/package/dist/ws/ws-types.d.ts +15 -0
  644. package/package/dist/ws/ws-types.js +8 -0
  645. package/package/ensure-browser.mjs +3337 -0
  646. package/package.json +105 -104
  647. package/LICENSE.md +0 -49
  648. package/bunfig.toml +0 -2
  649. package/dist/assets/change-tempo.d.ts +0 -34
  650. package/dist/assets/change-tempo.js +0 -287
  651. package/dist/assets/change-tonefrequency.d.ts +0 -2
  652. package/dist/assets/change-tonefrequency.js +0 -28
  653. package/dist/assets/resample-audiodata.d.ts +0 -6
  654. package/dist/assets/resample-audiodata.js +0 -54
@@ -0,0 +1,621 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderMedia = exports.internalRenderMedia = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const no_react_1 = require("remotion/no-react");
11
+ const TimeoutSettings_1 = require("./browser/TimeoutSettings");
12
+ const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
13
+ const can_use_parallel_encoding_1 = require("./can-use-parallel-encoding");
14
+ const codec_supports_media_1 = require("./codec-supports-media");
15
+ const crf_1 = require("./crf");
16
+ const default_on_log_1 = require("./default-on-log");
17
+ const delete_directory_1 = require("./delete-directory");
18
+ const ensure_frames_in_order_1 = require("./ensure-frames-in-order");
19
+ const ensure_output_directory_1 = require("./ensure-output-directory");
20
+ const find_closest_package_json_1 = require("./find-closest-package-json");
21
+ const get_concurrency_1 = require("./get-concurrency");
22
+ const get_duration_from_frame_range_1 = require("./get-duration-from-frame-range");
23
+ const get_extension_from_codec_1 = require("./get-extension-from-codec");
24
+ const get_extension_of_filename_1 = require("./get-extension-of-filename");
25
+ const get_frame_to_render_1 = require("./get-frame-to-render");
26
+ const image_format_1 = require("./image-format");
27
+ const is_audio_codec_1 = require("./is-audio-codec");
28
+ const jpeg_quality_1 = require("./jpeg-quality");
29
+ const logger_1 = require("./logger");
30
+ const make_cancel_signal_1 = require("./make-cancel-signal");
31
+ const color_space_1 = require("./options/color-space");
32
+ const offthreadvideo_threads_1 = require("./options/offthreadvideo-threads");
33
+ const x264_preset_1 = require("./options/x264-preset");
34
+ const overwrite_1 = require("./overwrite");
35
+ const perf_1 = require("./perf");
36
+ const pixel_format_1 = require("./pixel-format");
37
+ const prepare_server_1 = require("./prepare-server");
38
+ const prespawn_ffmpeg_1 = require("./prespawn-ffmpeg");
39
+ const prestitcher_memory_usage_1 = require("./prestitcher-memory-usage");
40
+ const prores_profile_1 = require("./prores-profile");
41
+ const render_frames_1 = require("./render-frames");
42
+ const repro_1 = require("./repro");
43
+ const stitch_frames_to_video_1 = require("./stitch-frames-to-video");
44
+ const succeed_or_cancel_1 = require("./succeed-or-cancel");
45
+ const validate_1 = require("./validate");
46
+ const validate_even_dimensions_with_codec_1 = require("./validate-even-dimensions-with-codec");
47
+ const validate_every_nth_frame_1 = require("./validate-every-nth-frame");
48
+ const validate_ffmpeg_override_1 = require("./validate-ffmpeg-override");
49
+ const validate_number_of_gif_loops_1 = require("./validate-number-of-gif-loops");
50
+ const validate_output_filename_1 = require("./validate-output-filename");
51
+ const validate_scale_1 = require("./validate-scale");
52
+ const validate_videobitrate_1 = require("./validate-videobitrate");
53
+ const wrap_with_error_handling_1 = require("./wrap-with-error-handling");
54
+ const SLOWEST_FRAME_COUNT = 10;
55
+ const MAX_RECENT_FRAME_TIMINGS = 150;
56
+ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition: compositionWithPossibleUnevenDimensions, serializedInputPropsWithCustomSchema, pixelFormat: userPixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, audioCodec, concurrency, disallowParallelEncoding, everyNthFrame, imageFormat: provisionalImageFormat, indent, jpegQuality, numberOfGifLoops, onCtrlCExit, preferLossless, serveUrl, server: reusedServer, logLevel, serializedResolvedPropsWithCustomSchema, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, separateAudioTo, forSeamlessAacConcatenation, compositionStart, onBrowserDownload, onArtifact, metadata, hardwareAcceleration, chromeMode, offthreadVideoThreads, mediaCacheSizeInBytes, onLog, }) => {
57
+ var _a, _b;
58
+ const pixelFormat = (_a = userPixelFormat !== null && userPixelFormat !== void 0 ? userPixelFormat : compositionWithPossibleUnevenDimensions.defaultPixelFormat) !== null && _a !== void 0 ? _a : pixel_format_1.DEFAULT_PIXEL_FORMAT;
59
+ if (repro) {
60
+ (0, repro_1.enableRepro)({
61
+ serveUrl,
62
+ compositionName: compositionWithPossibleUnevenDimensions.id,
63
+ serializedInputPropsWithCustomSchema,
64
+ serializedResolvedPropsWithCustomSchema,
65
+ });
66
+ }
67
+ else {
68
+ (0, repro_1.disableRepro)();
69
+ }
70
+ (0, jpeg_quality_1.validateJpegQuality)(jpegQuality);
71
+ (0, crf_1.validateQualitySettings)({
72
+ crf,
73
+ codec,
74
+ videoBitrate,
75
+ encodingMaxRate,
76
+ encodingBufferSize,
77
+ hardwareAcceleration,
78
+ });
79
+ (0, validate_videobitrate_1.validateBitrate)(audioBitrate, 'audioBitrate');
80
+ (0, validate_videobitrate_1.validateBitrate)(videoBitrate, 'videoBitrate');
81
+ (0, validate_videobitrate_1.validateBitrate)(encodingMaxRate, 'encodingMaxRate');
82
+ (0, validate_videobitrate_1.validateBitrate)(encodingBufferSize, 'encodingBufferSize');
83
+ (0, prores_profile_1.validateSelectedCodecAndProResCombination)({
84
+ codec,
85
+ proResProfile,
86
+ });
87
+ (0, x264_preset_1.validateSelectedCodecAndPresetCombination)({
88
+ codec,
89
+ x264Preset,
90
+ });
91
+ (0, pixel_format_1.validateSelectedPixelFormatAndCodecCombination)(pixelFormat, codec);
92
+ if (outputLocation) {
93
+ (0, validate_output_filename_1.validateOutputFilename)({
94
+ codec,
95
+ audioCodecSetting: audioCodec,
96
+ extension: (0, get_extension_of_filename_1.getExtensionOfFilename)(outputLocation),
97
+ preferLossless,
98
+ separateAudioTo,
99
+ });
100
+ }
101
+ const absoluteOutputLocation = outputLocation
102
+ ? node_path_1.default.resolve(process.cwd(), outputLocation)
103
+ : null;
104
+ (0, validate_scale_1.validateScale)(scale);
105
+ (0, validate_ffmpeg_override_1.validateFfmpegOverride)(ffmpegOverride);
106
+ (0, validate_every_nth_frame_1.validateEveryNthFrame)(everyNthFrame);
107
+ (0, validate_number_of_gif_loops_1.validateNumberOfGifLoops)(numberOfGifLoops, codec);
108
+ let stitchStage = 'encoding';
109
+ let stitcherFfmpeg;
110
+ let preStitcher = null;
111
+ let encodedFrames = 0;
112
+ let muxedFrames = 0;
113
+ let renderedFrames = 0;
114
+ let renderedDoneIn = null;
115
+ let encodedDoneIn = null;
116
+ let cancelled = false;
117
+ let renderEstimatedTime = 0;
118
+ const recentFrameTimings = [];
119
+ const renderStart = Date.now();
120
+ const { estimatedUsage, freeMemory, hasEnoughMemory } = (0, prestitcher_memory_usage_1.shouldUseParallelEncoding)({
121
+ height: compositionWithPossibleUnevenDimensions.height,
122
+ width: compositionWithPossibleUnevenDimensions.width,
123
+ logLevel,
124
+ });
125
+ const parallelEncoding = !disallowParallelEncoding &&
126
+ hasEnoughMemory &&
127
+ (0, can_use_parallel_encoding_1.canUseParallelEncoding)(codec);
128
+ logger_1.Log.verbose({
129
+ indent,
130
+ logLevel,
131
+ tag: 'renderMedia()',
132
+ }, 'Free memory:', freeMemory, 'Estimated usage parallel encoding', estimatedUsage);
133
+ const resolvedConcurrency = (0, get_concurrency_1.resolveConcurrency)(concurrency);
134
+ logger_1.Log.verbose({
135
+ indent,
136
+ logLevel,
137
+ tag: 'renderMedia()',
138
+ }, 'Using concurrency:', resolvedConcurrency);
139
+ logger_1.Log.verbose({
140
+ indent,
141
+ logLevel,
142
+ tag: 'renderMedia()',
143
+ }, 'delayRender() timeout:', timeoutInMilliseconds);
144
+ logger_1.Log.verbose({
145
+ indent,
146
+ logLevel,
147
+ tag: 'renderMedia()',
148
+ }, 'Codec supports parallel rendering:', (0, can_use_parallel_encoding_1.canUseParallelEncoding)(codec));
149
+ if (disallowParallelEncoding) {
150
+ logger_1.Log.verbose({
151
+ indent,
152
+ logLevel,
153
+ tag: 'renderMedia()',
154
+ }, 'User disallowed parallel encoding.');
155
+ }
156
+ if (parallelEncoding) {
157
+ logger_1.Log.verbose({
158
+ indent,
159
+ logLevel,
160
+ tag: 'renderMedia()',
161
+ }, 'Parallel encoding is enabled.');
162
+ }
163
+ else {
164
+ logger_1.Log.verbose({
165
+ indent,
166
+ logLevel,
167
+ tag: 'renderMedia()',
168
+ }, 'Parallel encoding is disabled.');
169
+ }
170
+ const imageFormat = (0, is_audio_codec_1.isAudioCodec)(codec)
171
+ ? 'none'
172
+ : ((_b = provisionalImageFormat !== null && provisionalImageFormat !== void 0 ? provisionalImageFormat : compositionWithPossibleUnevenDimensions.defaultVideoImageFormat) !== null && _b !== void 0 ? _b : image_format_1.DEFAULT_VIDEO_IMAGE_FORMAT);
173
+ (0, image_format_1.validateSelectedPixelFormatAndImageFormatCombination)(pixelFormat, imageFormat);
174
+ const workingDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'react-motion-render'));
175
+ const preEncodedFileLocation = parallelEncoding
176
+ ? node_path_1.default.join(workingDir, 'pre-encode.' + (0, get_extension_from_codec_1.getFileExtensionFromCodec)(codec, audioCodec))
177
+ : null;
178
+ if (onCtrlCExit && workingDir) {
179
+ onCtrlCExit(`Delete ${workingDir}`, () => (0, delete_directory_1.deleteDirectory)(workingDir));
180
+ }
181
+ const { actualWidth: widthEvenDimensions, actualHeight: heightEvenDimensions } = (0, validate_even_dimensions_with_codec_1.validateEvenDimensionsWithCodec)({
182
+ codec,
183
+ height: compositionWithPossibleUnevenDimensions.height,
184
+ scale,
185
+ width: compositionWithPossibleUnevenDimensions.width,
186
+ wantsImageSequence: false,
187
+ indent,
188
+ logLevel,
189
+ });
190
+ const actualWidth = widthEvenDimensions * scale;
191
+ const actualHeight = heightEvenDimensions * scale;
192
+ const composition = {
193
+ ...compositionWithPossibleUnevenDimensions,
194
+ height: heightEvenDimensions,
195
+ width: widthEvenDimensions,
196
+ };
197
+ const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
198
+ const totalFramesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame).length;
199
+ logger_1.Log.verbose({ indent, logLevel, tag: 'renderMedia()' }, `Rendering frames ${realFrameRange.join('-')}`);
200
+ const callUpdate = () => {
201
+ const encoded = Math.round(0.8 * encodedFrames + 0.2 * muxedFrames);
202
+ onProgress === null || onProgress === void 0 ? void 0 : onProgress({
203
+ encodedDoneIn,
204
+ encodedFrames: encoded,
205
+ renderedDoneIn,
206
+ renderedFrames,
207
+ renderEstimatedTime,
208
+ stitchStage,
209
+ progress: Math.round((70 * renderedFrames + 30 * encoded) / totalFramesToRender) /
210
+ 100,
211
+ });
212
+ };
213
+ const cancelRenderFrames = (0, make_cancel_signal_1.makeCancelSignal)();
214
+ const cancelPrestitcher = (0, make_cancel_signal_1.makeCancelSignal)();
215
+ const cancelStitcher = (0, make_cancel_signal_1.makeCancelSignal)();
216
+ cancelSignal === null || cancelSignal === void 0 ? void 0 : cancelSignal(() => {
217
+ cancelRenderFrames.cancel();
218
+ });
219
+ const { waitForRightTimeOfFrameToBeInserted, setFrameToStitch, waitForFinish } = (0, ensure_frames_in_order_1.ensureFramesInOrder)(realFrameRange);
220
+ const fps = composition.fps / everyNthFrame;
221
+ (0, validate_1.validateFps)(fps, 'in "renderMedia()"', codec === 'gif');
222
+ const createPrestitcherIfNecessary = () => {
223
+ if (preEncodedFileLocation) {
224
+ preStitcher = (0, prespawn_ffmpeg_1.prespawnFfmpeg)({
225
+ width: actualWidth,
226
+ height: actualHeight,
227
+ fps,
228
+ outputLocation: preEncodedFileLocation,
229
+ pixelFormat,
230
+ codec,
231
+ proResProfile,
232
+ crf,
233
+ onProgress: (frame) => {
234
+ encodedFrames = frame;
235
+ callUpdate();
236
+ },
237
+ logLevel,
238
+ imageFormat,
239
+ signal: cancelPrestitcher.cancelSignal,
240
+ ffmpegOverride: ffmpegOverride !== null && ffmpegOverride !== void 0 ? ffmpegOverride : (({ args }) => args),
241
+ videoBitrate,
242
+ encodingMaxRate,
243
+ encodingBufferSize,
244
+ indent,
245
+ x264Preset: x264Preset !== null && x264Preset !== void 0 ? x264Preset : null,
246
+ colorSpace,
247
+ binariesDirectory,
248
+ hardwareAcceleration,
249
+ });
250
+ stitcherFfmpeg = preStitcher.task;
251
+ }
252
+ };
253
+ const waitForPrestitcherIfNecessary = async () => {
254
+ var _a;
255
+ if (stitcherFfmpeg) {
256
+ await waitForFinish();
257
+ (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.end();
258
+ try {
259
+ await stitcherFfmpeg;
260
+ }
261
+ catch (_b) {
262
+ throw new Error(preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.getLogs());
263
+ }
264
+ }
265
+ return { usesParallelEncoding: Boolean(stitcherFfmpeg) };
266
+ };
267
+ const mediaSupport = (0, codec_supports_media_1.codecSupportsMedia)(codec);
268
+ const disableAudio = !mediaSupport.audio || muted;
269
+ const slowestFrames = [];
270
+ let maxTime = 0;
271
+ let minTime = 0;
272
+ const recordFrameTime = (frameIndex, time) => {
273
+ var _a, _b;
274
+ const frameTime = { frame: frameIndex, time };
275
+ if (time < minTime && slowestFrames.length === SLOWEST_FRAME_COUNT) {
276
+ return;
277
+ }
278
+ if (time > maxTime) {
279
+ // add at starting;
280
+ slowestFrames.unshift(frameTime);
281
+ maxTime = time;
282
+ }
283
+ else {
284
+ // add frame at appropriate position
285
+ const index = slowestFrames.findIndex(({ time: indexTime }) => indexTime < time);
286
+ slowestFrames.splice(index, 0, frameTime);
287
+ }
288
+ if (slowestFrames.length > SLOWEST_FRAME_COUNT) {
289
+ slowestFrames.pop();
290
+ }
291
+ minTime = (_b = (_a = slowestFrames[slowestFrames.length - 1]) === null || _a === void 0 ? void 0 : _a.time) !== null && _b !== void 0 ? _b : minTime;
292
+ };
293
+ let cleanupServerFn = () => Promise.resolve(undefined);
294
+ const happyPath = new Promise((resolve, reject) => {
295
+ Promise.resolve(createPrestitcherIfNecessary())
296
+ .then(() => {
297
+ return (0, prepare_server_1.makeOrReuseServer)(reusedServer, {
298
+ offthreadVideoThreads: offthreadVideoThreads !== null && offthreadVideoThreads !== void 0 ? offthreadVideoThreads : offthreadvideo_threads_1.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS,
299
+ indent,
300
+ port,
301
+ remotionRoot: (0, find_closest_package_json_1.findRemotionRoot)(),
302
+ logLevel,
303
+ webpackConfigOrServeUrl: serveUrl,
304
+ offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
305
+ binariesDirectory,
306
+ forceIPv4: false,
307
+ }, {
308
+ onDownload,
309
+ });
310
+ })
311
+ .then(({ server, cleanupServer }) => {
312
+ cleanupServerFn = cleanupServer;
313
+ let timeOfLastFrame = Date.now();
314
+ const renderFramesProc = (0, render_frames_1.internalRenderFrames)({
315
+ composition,
316
+ onFrameUpdate: (frame, frameIndex) => {
317
+ renderedFrames = frame;
318
+ const now = Date.now();
319
+ const timeToRenderInMilliseconds = now - timeOfLastFrame;
320
+ timeOfLastFrame = now;
321
+ // Track recent frame timings (at most 50)
322
+ recentFrameTimings.push(timeToRenderInMilliseconds);
323
+ if (recentFrameTimings.length > MAX_RECENT_FRAME_TIMINGS) {
324
+ recentFrameTimings.shift();
325
+ }
326
+ // Calculate average using only recent timings for better estimation
327
+ const recentTimingsSum = recentFrameTimings.reduce((sum, time) => sum + time, 0);
328
+ const newAverage = recentTimingsSum / recentFrameTimings.length;
329
+ const remainingFrames = totalFramesToRender - renderedFrames;
330
+ // Get estimated time by multiplying the avarage render time by the remaining frames
331
+ renderEstimatedTime = Math.round(remainingFrames * newAverage);
332
+ callUpdate();
333
+ recordFrameTime(frameIndex, timeToRenderInMilliseconds);
334
+ },
335
+ concurrency,
336
+ outputDir: parallelEncoding ? null : workingDir,
337
+ onStart: (data) => {
338
+ renderedFrames = 0;
339
+ callUpdate();
340
+ onStart === null || onStart === void 0 ? void 0 : onStart(data);
341
+ },
342
+ serializedInputPropsWithCustomSchema,
343
+ envVariables,
344
+ imageFormat,
345
+ jpegQuality,
346
+ frameRange,
347
+ puppeteerInstance,
348
+ everyNthFrame,
349
+ onFrameBuffer: parallelEncoding
350
+ ? async (buffer, frame) => {
351
+ var _a;
352
+ await waitForRightTimeOfFrameToBeInserted(frame);
353
+ if (cancelled) {
354
+ return;
355
+ }
356
+ const id = (0, perf_1.startPerfMeasure)('piping');
357
+ const exitStatus = preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.getExitStatus();
358
+ if ((exitStatus === null || exitStatus === void 0 ? void 0 : exitStatus.type) === 'quit-successfully') {
359
+ throw new Error(`FFmpeg already quit while trying to pipe frame ${frame} to it. Stderr: ${exitStatus.stderr}}`);
360
+ }
361
+ if ((exitStatus === null || exitStatus === void 0 ? void 0 : exitStatus.type) === 'quit-with-error') {
362
+ throw new Error(`FFmpeg quit with code ${exitStatus.exitCode} while piping frame ${frame}. Stderr: ${exitStatus.stderr}}`);
363
+ }
364
+ (_a = stitcherFfmpeg === null || stitcherFfmpeg === void 0 ? void 0 : stitcherFfmpeg.stdin) === null || _a === void 0 ? void 0 : _a.write(buffer);
365
+ (0, perf_1.stopPerfMeasure)(id);
366
+ setFrameToStitch(Math.min(realFrameRange[1] + 1, frame + everyNthFrame));
367
+ }
368
+ : null,
369
+ webpackBundleOrServeUrl: serveUrl,
370
+ onBrowserLog,
371
+ onDownload,
372
+ timeoutInMilliseconds,
373
+ chromiumOptions,
374
+ scale,
375
+ browserExecutable,
376
+ port,
377
+ cancelSignal: cancelRenderFrames.cancelSignal,
378
+ muted: disableAudio,
379
+ logLevel,
380
+ indent,
381
+ server,
382
+ serializedResolvedPropsWithCustomSchema,
383
+ offthreadVideoCacheSizeInBytes,
384
+ offthreadVideoThreads,
385
+ parallelEncodingEnabled: parallelEncoding,
386
+ binariesDirectory,
387
+ compositionStart,
388
+ forSeamlessAacConcatenation,
389
+ onBrowserDownload,
390
+ onArtifact,
391
+ chromeMode,
392
+ imageSequencePattern: null,
393
+ mediaCacheSizeInBytes,
394
+ onLog,
395
+ });
396
+ return renderFramesProc;
397
+ })
398
+ .then((renderFramesReturn) => {
399
+ return Promise.all([
400
+ renderFramesReturn,
401
+ waitForPrestitcherIfNecessary(),
402
+ ]);
403
+ })
404
+ .then(([{ assetsInfo }]) => {
405
+ renderedDoneIn = Date.now() - renderStart;
406
+ logger_1.Log.verbose({ indent, logLevel }, 'Rendering frames done in', renderedDoneIn + 'ms');
407
+ if (absoluteOutputLocation) {
408
+ (0, ensure_output_directory_1.ensureOutputDirectory)(absoluteOutputLocation);
409
+ }
410
+ const stitchStart = Date.now();
411
+ return (0, stitch_frames_to_video_1.internalStitchFramesToVideo)({
412
+ width: actualWidth,
413
+ height: actualHeight,
414
+ fps,
415
+ outputLocation: absoluteOutputLocation,
416
+ preEncodedFileLocation,
417
+ preferLossless,
418
+ indent,
419
+ force: overwrite,
420
+ pixelFormat,
421
+ codec,
422
+ proResProfile,
423
+ crf,
424
+ assetsInfo,
425
+ onProgress: (frame) => {
426
+ stitchStage = 'muxing';
427
+ // With seamless AAC concatenation, the amount of rendered frames
428
+ // might be longer, so we need to clamp it to avoid progress over 100%
429
+ if (preEncodedFileLocation) {
430
+ muxedFrames = Math.min(frame, totalFramesToRender);
431
+ }
432
+ else {
433
+ muxedFrames = Math.min(frame, totalFramesToRender);
434
+ encodedFrames = Math.min(frame, totalFramesToRender);
435
+ }
436
+ if (encodedFrames === totalFramesToRender) {
437
+ encodedDoneIn = Date.now() - stitchStart;
438
+ }
439
+ if (frame > 0) {
440
+ callUpdate();
441
+ }
442
+ },
443
+ onDownload,
444
+ numberOfGifLoops,
445
+ logLevel,
446
+ cancelSignal: cancelStitcher.cancelSignal,
447
+ muted: disableAudio,
448
+ enforceAudioTrack,
449
+ ffmpegOverride: ffmpegOverride !== null && ffmpegOverride !== void 0 ? ffmpegOverride : null,
450
+ audioBitrate,
451
+ videoBitrate,
452
+ bufferSize: encodingBufferSize,
453
+ maxRate: encodingMaxRate,
454
+ audioCodec,
455
+ x264Preset: x264Preset !== null && x264Preset !== void 0 ? x264Preset : null,
456
+ colorSpace,
457
+ binariesDirectory,
458
+ separateAudioTo,
459
+ metadata,
460
+ hardwareAcceleration,
461
+ });
462
+ })
463
+ .then((buffer) => {
464
+ logger_1.Log.verbose({ indent, logLevel }, 'Stitching done in', encodedDoneIn + 'ms');
465
+ slowestFrames.sort((a, b) => b.time - a.time);
466
+ const result = {
467
+ buffer,
468
+ slowestFrames,
469
+ };
470
+ if ((0, repro_1.isReproEnabled)()) {
471
+ (0, repro_1.getReproWriter)()
472
+ .onRenderSucceed({ indent, logLevel, output: absoluteOutputLocation })
473
+ .then(() => {
474
+ resolve(result);
475
+ })
476
+ .catch((err) => {
477
+ logger_1.Log.error({ indent, logLevel }, 'Could not create reproduction', err);
478
+ });
479
+ }
480
+ else {
481
+ resolve(result);
482
+ }
483
+ })
484
+ .catch((err) => {
485
+ /**
486
+ * When an error is thrown in renderFrames(...) (e.g., when delayRender() is used incorrectly), fs.unlinkSync(...) throws an error that the file is locked because ffmpeg is still running, and renderMedia returns it.
487
+ * Therefore we first kill the FFMPEG process before deleting the file
488
+ */
489
+ cancelled = true;
490
+ cancelRenderFrames.cancel();
491
+ cancelStitcher.cancel();
492
+ cancelPrestitcher.cancel();
493
+ if (stitcherFfmpeg !== undefined && stitcherFfmpeg.exitCode === null) {
494
+ const promise = new Promise((res) => {
495
+ setTimeout(() => {
496
+ res();
497
+ }, 2000);
498
+ stitcherFfmpeg.on('close', res);
499
+ });
500
+ // An exception can happen here:
501
+ // https://discord.com/channels/809501355504959528/817306238811111454/1273184655348072468
502
+ try {
503
+ stitcherFfmpeg.kill();
504
+ }
505
+ catch (_a) {
506
+ // Ignore
507
+ }
508
+ return promise.then(() => {
509
+ reject(err);
510
+ });
511
+ }
512
+ reject(err);
513
+ })
514
+ .finally(() => {
515
+ if (preEncodedFileLocation !== null &&
516
+ node_fs_1.default.existsSync(preEncodedFileLocation)) {
517
+ (0, delete_directory_1.deleteDirectory)(node_path_1.default.dirname(preEncodedFileLocation));
518
+ }
519
+ // Clean temporary image frames when rendering ends or fails
520
+ if (workingDir && node_fs_1.default.existsSync(workingDir)) {
521
+ (0, delete_directory_1.deleteDirectory)(workingDir);
522
+ }
523
+ cleanupServerFn === null || cleanupServerFn === void 0 ? void 0 : cleanupServerFn(false).catch((err) => {
524
+ // Must prevent unhandled exception in cleanup function.
525
+ // Might crash whole runtime.
526
+ logger_1.Log.error({ indent, logLevel }, 'Could not cleanup: ', err);
527
+ });
528
+ });
529
+ });
530
+ return (0, succeed_or_cancel_1.succeedOrCancel)({
531
+ happyPath,
532
+ cancelSignal,
533
+ cancelMessage: make_cancel_signal_1.cancelErrorMessages.renderMedia,
534
+ });
535
+ };
536
+ exports.internalRenderMedia = (0, wrap_with_error_handling_1.wrapWithErrorHandling)(internalRenderMediaRaw);
537
+ /*
538
+ * @description Render a video or an audio programmatically.
539
+ * @see [Documentation](https://www.remotion.dev/docs/renderer/render-media)
540
+ */
541
+ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, audioCodec, jpegQuality, concurrency, serveUrl, disallowParallelEncoding, everyNthFrame, imageFormat, numberOfGifLoops, dumpBrowserLogs, preferLossless, verbose, quality, logLevel: passedLogLevel, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, separateAudioTo, forSeamlessAacConcatenation, onBrowserDownload, onArtifact, metadata, hardwareAcceleration, chromeMode, offthreadVideoThreads, compositionStart, mediaCacheSizeInBytes, }) => {
542
+ var _a, _b;
543
+ const indent = false;
544
+ const logLevel = verbose || dumpBrowserLogs ? 'verbose' : (passedLogLevel !== null && passedLogLevel !== void 0 ? passedLogLevel : 'info');
545
+ if (quality !== undefined) {
546
+ logger_1.Log.warn({ indent, logLevel }, `The "quality" option has been renamed. Please use "jpegQuality" instead.`);
547
+ }
548
+ return (0, exports.internalRenderMedia)({
549
+ proResProfile: proResProfile !== null && proResProfile !== void 0 ? proResProfile : undefined,
550
+ x264Preset: x264Preset !== null && x264Preset !== void 0 ? x264Preset : null,
551
+ codec,
552
+ composition,
553
+ serveUrl,
554
+ audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
555
+ audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : null,
556
+ browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
557
+ cancelSignal,
558
+ chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
559
+ concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : null,
560
+ crf: crf !== null && crf !== void 0 ? crf : null,
561
+ disallowParallelEncoding: disallowParallelEncoding !== null && disallowParallelEncoding !== void 0 ? disallowParallelEncoding : false,
562
+ enforceAudioTrack: enforceAudioTrack !== null && enforceAudioTrack !== void 0 ? enforceAudioTrack : false,
563
+ envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
564
+ everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
565
+ ffmpegOverride: ffmpegOverride !== null && ffmpegOverride !== void 0 ? ffmpegOverride : undefined,
566
+ frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
567
+ imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : null,
568
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
569
+ indent: undefined,
570
+ staticBase: null,
571
+ data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
572
+ }).serializedString,
573
+ jpegQuality: (_a = jpegQuality !== null && jpegQuality !== void 0 ? jpegQuality : quality) !== null && _a !== void 0 ? _a : jpeg_quality_1.DEFAULT_JPEG_QUALITY,
574
+ muted: muted !== null && muted !== void 0 ? muted : false,
575
+ numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : null,
576
+ onBrowserLog: onBrowserLog !== null && onBrowserLog !== void 0 ? onBrowserLog : null,
577
+ onDownload: onDownload !== null && onDownload !== void 0 ? onDownload : (() => undefined),
578
+ onProgress: onProgress !== null && onProgress !== void 0 ? onProgress : (() => undefined),
579
+ onStart: onStart !== null && onStart !== void 0 ? onStart : (() => undefined),
580
+ outputLocation: outputLocation !== null && outputLocation !== void 0 ? outputLocation : null,
581
+ overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : overwrite_1.DEFAULT_OVERWRITE,
582
+ pixelFormat: pixelFormat !== null && pixelFormat !== void 0 ? pixelFormat : null,
583
+ port: port !== null && port !== void 0 ? port : null,
584
+ puppeteerInstance: puppeteerInstance !== null && puppeteerInstance !== void 0 ? puppeteerInstance : undefined,
585
+ scale: scale !== null && scale !== void 0 ? scale : 1,
586
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT,
587
+ videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
588
+ encodingMaxRate: encodingMaxRate !== null && encodingMaxRate !== void 0 ? encodingMaxRate : null,
589
+ encodingBufferSize: encodingBufferSize !== null && encodingBufferSize !== void 0 ? encodingBufferSize : null,
590
+ logLevel,
591
+ preferLossless: preferLossless !== null && preferLossless !== void 0 ? preferLossless : false,
592
+ indent,
593
+ onCtrlCExit: () => undefined,
594
+ server: undefined,
595
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
596
+ indent: undefined,
597
+ staticBase: null,
598
+ data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
599
+ }).serializedString,
600
+ offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
601
+ offthreadVideoThreads: offthreadVideoThreads !== null && offthreadVideoThreads !== void 0 ? offthreadVideoThreads : null,
602
+ colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : color_space_1.DEFAULT_COLOR_SPACE,
603
+ repro: repro !== null && repro !== void 0 ? repro : false,
604
+ binariesDirectory: binariesDirectory !== null && binariesDirectory !== void 0 ? binariesDirectory : null,
605
+ separateAudioTo: separateAudioTo !== null && separateAudioTo !== void 0 ? separateAudioTo : null,
606
+ forSeamlessAacConcatenation: forSeamlessAacConcatenation !== null && forSeamlessAacConcatenation !== void 0 ? forSeamlessAacConcatenation : false,
607
+ onBrowserDownload: onBrowserDownload !== null && onBrowserDownload !== void 0 ? onBrowserDownload : (0, browser_download_progress_bar_1.defaultBrowserDownloadProgress)({
608
+ indent,
609
+ logLevel,
610
+ api: 'renderMedia()',
611
+ }),
612
+ onArtifact: onArtifact !== null && onArtifact !== void 0 ? onArtifact : null,
613
+ metadata: metadata !== null && metadata !== void 0 ? metadata : null,
614
+ compositionStart: compositionStart !== null && compositionStart !== void 0 ? compositionStart : 0,
615
+ hardwareAcceleration: hardwareAcceleration !== null && hardwareAcceleration !== void 0 ? hardwareAcceleration : 'disable',
616
+ chromeMode: chromeMode !== null && chromeMode !== void 0 ? chromeMode : 'headless-shell',
617
+ mediaCacheSizeInBytes: mediaCacheSizeInBytes !== null && mediaCacheSizeInBytes !== void 0 ? mediaCacheSizeInBytes : null,
618
+ onLog: default_on_log_1.defaultOnLog,
619
+ });
620
+ };
621
+ exports.renderMedia = renderMedia;
@@ -0,0 +1,7 @@
1
+ export declare const renderPartitions: ({ frames, concurrency, }: {
2
+ frames: number[];
3
+ concurrency: number;
4
+ }) => {
5
+ partitions: number[][];
6
+ getNextFrame: (pageIndex: number) => number;
7
+ };