@remotion/renderer 4.0.0-defer.6 → 4.0.0-esm.17

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 (434) hide show
  1. package/LICENSE.md +8 -8
  2. package/README.md +47 -0
  3. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  4. package/dist/assets/calculate-asset-positions.js +1 -0
  5. package/dist/assets/calculate-atempo.d.ts +0 -0
  6. package/dist/assets/calculate-atempo.js +0 -0
  7. package/dist/assets/convert-assets-to-file-urls.d.ts +5 -4
  8. package/dist/assets/convert-assets-to-file-urls.js +2 -2
  9. package/dist/assets/download-and-map-assets-to-file.d.ts +16 -12
  10. package/dist/assets/download-and-map-assets-to-file.js +145 -65
  11. package/dist/assets/download-file.d.ts +13 -6
  12. package/dist/assets/download-file.js +64 -8
  13. package/dist/assets/download-map.d.ts +69 -0
  14. package/dist/assets/download-map.js +77 -0
  15. package/dist/assets/ffmpeg-volume-expression.d.ts +3 -3
  16. package/dist/assets/ffmpeg-volume-expression.js +6 -5
  17. package/dist/assets/flatten-volume-array.d.ts +1 -1
  18. package/dist/assets/flatten-volume-array.js +0 -0
  19. package/dist/assets/get-audio-channels.d.ts +3 -5
  20. package/dist/assets/get-audio-channels.js +15 -4
  21. package/dist/assets/get-video-stream-duration.d.ts +9 -0
  22. package/dist/assets/get-video-stream-duration.js +71 -0
  23. package/dist/assets/read-file.d.ts +0 -0
  24. package/dist/assets/read-file.js +2 -1
  25. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  26. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  27. package/dist/assets/sanitize-filename.d.ts +0 -0
  28. package/dist/assets/sanitize-filename.js +0 -0
  29. package/dist/assets/sanitize-filepath.d.ts +0 -0
  30. package/dist/assets/sanitize-filepath.js +0 -0
  31. package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
  32. package/dist/assets/truncate-utf8-bytes.js +0 -0
  33. package/dist/assets/types.d.ts +2 -1
  34. package/dist/assets/types.js +0 -0
  35. package/dist/browser/Browser.d.ts +62 -0
  36. package/dist/browser/Browser.js +221 -0
  37. package/dist/browser/BrowserConnector.d.ts +19 -0
  38. package/dist/browser/BrowserConnector.js +17 -0
  39. package/dist/browser/BrowserFetcher.d.ts +90 -0
  40. package/dist/browser/BrowserFetcher.js +513 -0
  41. package/dist/browser/BrowserPage.d.ts +80 -0
  42. package/dist/browser/BrowserPage.js +280 -0
  43. package/dist/browser/BrowserRunner.d.ts +36 -0
  44. package/dist/browser/BrowserRunner.js +265 -0
  45. package/dist/browser/Connection.d.ts +42 -0
  46. package/dist/browser/Connection.js +242 -0
  47. package/dist/browser/ConsoleMessage.d.ts +31 -0
  48. package/dist/browser/ConsoleMessage.js +48 -0
  49. package/dist/browser/DOMWorld.d.ts +53 -0
  50. package/dist/browser/DOMWorld.js +279 -0
  51. package/dist/browser/Errors.d.ts +25 -0
  52. package/dist/browser/Errors.js +35 -0
  53. package/dist/browser/EvalTypes.d.ts +27 -0
  54. package/dist/browser/EvalTypes.js +17 -0
  55. package/dist/browser/EventEmitter.d.ts +23 -0
  56. package/dist/browser/EventEmitter.js +53 -0
  57. package/dist/browser/ExecutionContext.d.ts +34 -0
  58. package/dist/browser/ExecutionContext.js +174 -0
  59. package/dist/browser/FrameManager.d.ts +91 -0
  60. package/dist/browser/FrameManager.js +493 -0
  61. package/dist/browser/HTTPRequest.d.ts +28 -0
  62. package/dist/browser/HTTPRequest.js +37 -0
  63. package/dist/browser/HTTPResponse.d.ts +21 -0
  64. package/dist/browser/HTTPResponse.js +41 -0
  65. package/dist/browser/JSHandle.d.ts +35 -0
  66. package/dist/browser/JSHandle.js +90 -0
  67. package/dist/browser/LaunchOptions.d.ts +33 -0
  68. package/dist/browser/LaunchOptions.js +17 -0
  69. package/dist/browser/Launcher.d.ts +15 -0
  70. package/dist/browser/Launcher.js +144 -0
  71. package/dist/browser/LifecycleWatcher.d.ts +29 -0
  72. package/dist/browser/LifecycleWatcher.js +180 -0
  73. package/dist/browser/NetworkEventManager.d.ts +33 -0
  74. package/dist/browser/NetworkEventManager.js +81 -0
  75. package/dist/browser/NetworkManager.d.ts +34 -0
  76. package/dist/browser/NetworkManager.js +231 -0
  77. package/dist/browser/NodeWebSocketTransport.d.ts +17 -0
  78. package/dist/browser/NodeWebSocketTransport.js +87 -0
  79. package/dist/browser/Product.d.ts +16 -0
  80. package/dist/browser/Product.js +17 -0
  81. package/dist/browser/PuppeteerNode.d.ts +40 -0
  82. package/dist/browser/PuppeteerNode.js +74 -0
  83. package/dist/browser/PuppeteerViewport.d.ts +5 -0
  84. package/dist/{faststart/options.js → browser/PuppeteerViewport.js} +0 -0
  85. package/dist/{faststart/index.d.ts → browser/ScreenshotOptions.d.ts} +0 -0
  86. package/dist/{faststart/index.js → browser/ScreenshotOptions.js} +0 -0
  87. package/dist/browser/Target.d.ts +61 -0
  88. package/dist/browser/Target.js +146 -0
  89. package/dist/browser/TaskQueue.d.ts +20 -0
  90. package/dist/browser/TaskQueue.js +47 -0
  91. package/dist/browser/TimeoutSettings.d.ts +24 -0
  92. package/dist/browser/TimeoutSettings.js +62 -0
  93. package/dist/browser/assert.d.ts +1 -0
  94. package/dist/browser/assert.js +9 -0
  95. package/dist/browser/create-browser-fetcher.d.ts +17 -0
  96. package/dist/browser/create-browser-fetcher.js +77 -0
  97. package/dist/browser/devtools-commands.d.ts +270 -0
  98. package/dist/browser/devtools-commands.js +2 -0
  99. package/dist/browser/devtools-types.d.ts +1126 -0
  100. package/dist/browser/devtools-types.js +2 -0
  101. package/dist/browser/get-download-destination.d.ts +1 -0
  102. package/dist/browser/get-download-destination.js +38 -0
  103. package/dist/browser/is-target-closed-err.d.ts +1 -0
  104. package/dist/browser/is-target-closed-err.js +9 -0
  105. package/dist/browser/mitt/index.d.ts +22 -0
  106. package/dist/browser/mitt/index.js +49 -0
  107. package/dist/browser/node.d.ts +2 -0
  108. package/dist/browser/node.js +9 -0
  109. package/dist/browser/revisions.d.ts +20 -0
  110. package/dist/browser/revisions.js +21 -0
  111. package/dist/browser/util.d.ts +47 -0
  112. package/dist/browser/util.js +169 -0
  113. package/dist/browser-executable.d.ts +1 -0
  114. package/dist/{assets/cleanup-assets.js → browser-executable.js} +0 -0
  115. package/dist/browser-log.d.ts +1 -1
  116. package/dist/browser-log.js +0 -0
  117. package/dist/browser.d.ts +2 -0
  118. package/dist/browser.js +4 -0
  119. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  120. package/dist/calculate-ffmpeg-filters.js +1 -0
  121. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  122. package/dist/calculate-sar-dar-pixels.js +19 -0
  123. package/dist/can-use-parallel-encoding.d.ts +1 -1
  124. package/dist/can-use-parallel-encoding.js +2 -2
  125. package/dist/check-apple-silicon.d.ts +1 -0
  126. package/dist/check-apple-silicon.js +55 -0
  127. package/dist/chunk.d.ts +0 -0
  128. package/dist/chunk.js +0 -0
  129. package/dist/client.d.ts +10 -0
  130. package/dist/client.js +19 -0
  131. package/dist/codec-supports-media.d.ts +8 -0
  132. package/dist/codec-supports-media.js +56 -0
  133. package/dist/codec.d.ts +4 -0
  134. package/dist/codec.js +16 -0
  135. package/dist/combine-videos.d.ts +9 -3
  136. package/dist/combine-videos.js +18 -10
  137. package/dist/compositor/compose.d.ts +13 -0
  138. package/dist/compositor/compose.js +47 -0
  139. package/dist/compositor/compositor.d.ts +12 -0
  140. package/dist/compositor/compositor.js +111 -0
  141. package/dist/compositor/get-executable-path.d.ts +1 -0
  142. package/dist/compositor/get-executable-path.js +47 -0
  143. package/dist/compositor/payloads.d.ts +41 -0
  144. package/dist/compositor/payloads.js +2 -0
  145. package/dist/compress-assets.d.ts +7 -0
  146. package/dist/compress-assets.js +25 -0
  147. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  148. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  149. package/dist/convert-to-pcm.d.ts +3 -2
  150. package/dist/convert-to-pcm.js +3 -2
  151. package/dist/convert-to-positive-frame-index.d.ts +4 -0
  152. package/dist/convert-to-positive-frame-index.js +8 -0
  153. package/dist/create-ffmpeg-complex-filter.d.ts +2 -1
  154. package/dist/create-ffmpeg-complex-filter.js +2 -11
  155. package/dist/create-ffmpeg-merge-filter.d.ts +0 -0
  156. package/dist/create-ffmpeg-merge-filter.js +3 -3
  157. package/dist/create-silent-audio.d.ts +3 -2
  158. package/dist/create-silent-audio.js +3 -2
  159. package/dist/crf.d.ts +9 -0
  160. package/dist/crf.js +91 -0
  161. package/dist/cycle-browser-tabs.d.ts +2 -5
  162. package/dist/cycle-browser-tabs.js +5 -5
  163. package/dist/delay-render-embedded-stack.d.ts +1 -1
  164. package/dist/delay-render-embedded-stack.js +0 -0
  165. package/dist/delete-directory.d.ts +0 -0
  166. package/dist/delete-directory.js +0 -0
  167. package/dist/determine-resize-params.d.ts +1 -0
  168. package/dist/determine-resize-params.js +10 -0
  169. package/dist/determine-vcodec-ffmepg-flags.d.ts +2 -0
  170. package/dist/determine-vcodec-ffmepg-flags.js +13 -0
  171. package/dist/determine-vcodec-ffmpeg-flags.d.ts +2 -0
  172. package/dist/determine-vcodec-ffmpeg-flags.js +13 -0
  173. package/dist/ensure-ffmpeg.d.ts +10 -0
  174. package/dist/ensure-ffmpeg.js +50 -0
  175. package/dist/ensure-frames-in-order.d.ts +1 -1
  176. package/dist/ensure-frames-in-order.js +3 -2
  177. package/dist/ensure-output-directory.d.ts +0 -0
  178. package/dist/ensure-output-directory.js +0 -0
  179. package/dist/ensure-presentation-timestamp.d.ts +15 -0
  180. package/dist/ensure-presentation-timestamp.js +88 -0
  181. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  182. package/dist/error-handling/handle-javascript-exception.js +3 -4
  183. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  184. package/dist/error-handling/symbolicate-error.js +0 -0
  185. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  186. package/dist/error-handling/symbolicateable-error.js +0 -0
  187. package/dist/extract-frame-from-video.d.ts +7 -6
  188. package/dist/extract-frame-from-video.js +91 -105
  189. package/dist/ffmpeg-executable.d.ts +1 -0
  190. package/dist/ffmpeg-executable.js +2 -0
  191. package/dist/ffmpeg-filter-file.d.ts +2 -1
  192. package/dist/ffmpeg-filter-file.js +4 -6
  193. package/dist/ffmpeg-flags.d.ts +20 -2
  194. package/dist/ffmpeg-flags.js +205 -9
  195. package/dist/ffmpeg-override.d.ts +4 -0
  196. package/dist/ffmpeg-override.js +2 -0
  197. package/dist/find-closest-package-json.d.ts +2 -0
  198. package/dist/find-closest-package-json.js +31 -0
  199. package/dist/frame-range.d.ts +2 -0
  200. package/dist/frame-range.js +49 -0
  201. package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -0
  202. package/dist/frame-to-ffmpeg-timestamp.js +0 -0
  203. package/dist/get-audio-codec-name.d.ts +1 -1
  204. package/dist/get-audio-codec-name.js +2 -2
  205. package/dist/get-browser-instance.d.ts +4 -3
  206. package/dist/get-browser-instance.js +3 -3
  207. package/dist/get-can-extract-frames-fast.d.ts +10 -0
  208. package/dist/get-can-extract-frames-fast.js +67 -0
  209. package/dist/get-codec-name.d.ts +1 -1
  210. package/dist/get-codec-name.js +5 -2
  211. package/dist/get-compositions-from-bundle.d.ts +7 -0
  212. package/dist/get-compositions-from-bundle.js +55 -0
  213. package/dist/get-compositions-from-markup.d.ts +3 -0
  214. package/dist/get-compositions-from-markup.js +17 -0
  215. package/dist/get-compositions-on-server.d.ts +3 -0
  216. package/dist/get-compositions-on-server.js +18 -0
  217. package/dist/get-compositions.d.ts +11 -4
  218. package/dist/get-compositions.js +30 -11
  219. package/dist/get-concurrency.d.ts +1 -1
  220. package/dist/get-concurrency.js +8 -1
  221. package/dist/get-duration-from-frame-range.d.ts +1 -2
  222. package/dist/get-duration-from-frame-range.js +13 -9
  223. package/dist/get-extension-from-codec.d.ts +2 -2
  224. package/dist/get-extension-from-codec.js +8 -5
  225. package/dist/get-extension-of-filename.d.ts +1 -1
  226. package/dist/get-extension-of-filename.js +8 -1
  227. package/dist/get-frame-of-video-slow.d.ts +15 -0
  228. package/dist/get-frame-of-video-slow.js +72 -0
  229. package/dist/get-frame-padded-index.d.ts +14 -0
  230. package/dist/get-frame-padded-index.js +34 -0
  231. package/dist/get-frame-to-render.d.ts +1 -1
  232. package/dist/get-frame-to-render.js +0 -0
  233. package/dist/get-local-browser-executable.d.ts +2 -1
  234. package/dist/get-local-browser-executable.js +8 -8
  235. package/dist/get-port.d.ts +4 -1
  236. package/dist/get-port.js +13 -22
  237. package/dist/get-prores-profile-name.d.ts +2 -1
  238. package/dist/get-prores-profile-name.js +0 -0
  239. package/dist/get-video-info.d.ts +8 -0
  240. package/dist/get-video-info.js +59 -0
  241. package/dist/get-video-signals.d.ts +2 -0
  242. package/dist/get-video-signals.js +28 -0
  243. package/dist/get-video-threads-flag.d.ts +1 -0
  244. package/dist/get-video-threads-flag.js +18 -0
  245. package/dist/guess-extension-for-media.d.ts +5 -0
  246. package/dist/guess-extension-for-media.js +28 -0
  247. package/dist/image-format.d.ts +6 -1
  248. package/dist/image-format.js +28 -1
  249. package/dist/index.d.ts +117 -34
  250. package/dist/index.js +101 -15
  251. package/dist/is-audio-codec.d.ts +2 -0
  252. package/dist/is-audio-codec.js +7 -0
  253. package/dist/is-beyond-last-frame.d.ts +3 -2
  254. package/dist/is-beyond-last-frame.js +5 -5
  255. package/dist/is-serve-url.d.ts +0 -0
  256. package/dist/is-serve-url.js +0 -0
  257. package/dist/last-frame-from-video-cache.d.ts +9 -4
  258. package/dist/last-frame-from-video-cache.js +24 -21
  259. package/dist/legacy-webpack-config.d.ts +0 -0
  260. package/dist/legacy-webpack-config.js +0 -0
  261. package/dist/lock-port-selection.d.ts +2 -0
  262. package/dist/lock-port-selection.js +11 -0
  263. package/dist/locks.d.ts +7 -0
  264. package/dist/locks.js +44 -0
  265. package/dist/log-level.d.ts +4 -0
  266. package/dist/log-level.js +15 -0
  267. package/dist/make-cancel-signal.d.ts +7 -0
  268. package/dist/make-cancel-signal.js +20 -1
  269. package/dist/make-comp-manager-context.d.ts +2 -0
  270. package/dist/make-comp-manager-context.js +45 -0
  271. package/dist/make-timeline-context-value.d.ts +2 -0
  272. package/dist/make-timeline-context-value.js +20 -0
  273. package/dist/merge-audio-track.d.ts +4 -1
  274. package/dist/merge-audio-track.js +18 -7
  275. package/dist/mime-db.d.ts +6 -0
  276. package/dist/mime-db.js +8636 -0
  277. package/dist/mime-types.d.ts +3 -0
  278. package/dist/mime-types.js +94 -0
  279. package/dist/normalize-serve-url.d.ts +0 -0
  280. package/dist/normalize-serve-url.js +0 -0
  281. package/dist/offthread-video-server.d.ts +9 -5
  282. package/dist/offthread-video-server.js +30 -10
  283. package/dist/open-browser.d.ts +5 -3
  284. package/dist/open-browser.js +18 -28
  285. package/dist/overwrite.d.ts +1 -0
  286. package/dist/overwrite.js +4 -0
  287. package/dist/p-limit.d.ts +0 -0
  288. package/dist/p-limit.js +0 -0
  289. package/dist/parse-browser-error-stack.d.ts +0 -0
  290. package/dist/parse-browser-error-stack.js +0 -0
  291. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  292. package/dist/parse-ffmpeg-progress.js +0 -0
  293. package/dist/perf.d.ts +5 -0
  294. package/dist/perf.js +35 -0
  295. package/dist/pixel-format.d.ts +5 -0
  296. package/dist/pixel-format.js +29 -0
  297. package/dist/pool.d.ts +0 -0
  298. package/dist/pool.js +0 -0
  299. package/dist/prepare-server.d.ts +7 -5
  300. package/dist/prepare-server.js +24 -5
  301. package/dist/preprocess-audio-track.d.ts +5 -2
  302. package/dist/preprocess-audio-track.js +5 -4
  303. package/dist/prespawn-ffmpeg.d.ts +10 -3
  304. package/dist/prespawn-ffmpeg.js +24 -16
  305. package/dist/prestitcher-memory-usage.d.ts +12 -0
  306. package/dist/prestitcher-memory-usage.js +30 -0
  307. package/dist/prores-profile.d.ts +8 -0
  308. package/dist/prores-profile.js +23 -0
  309. package/dist/provide-screenshot.d.ts +9 -5
  310. package/dist/provide-screenshot.js +4 -2
  311. package/dist/puppeteer-evaluate.d.ts +1 -1
  312. package/dist/puppeteer-evaluate.js +3 -4
  313. package/dist/puppeteer-screenshot.d.ts +12 -2
  314. package/dist/puppeteer-screenshot.js +11 -16
  315. package/dist/quality.d.ts +1 -0
  316. package/dist/quality.js +21 -0
  317. package/dist/redirect-status-codes.d.ts +1 -0
  318. package/dist/redirect-status-codes.js +6 -0
  319. package/dist/render-frames.d.ts +30 -12
  320. package/dist/render-frames.js +232 -138
  321. package/dist/render-media.d.ts +49 -12
  322. package/dist/render-media.js +152 -30
  323. package/dist/render-on-server.d.ts +3 -0
  324. package/dist/render-on-server.js +90 -0
  325. package/dist/render-still.d.ts +21 -9
  326. package/dist/render-still.js +75 -37
  327. package/dist/render-svg.d.ts +8 -0
  328. package/dist/render-svg.js +13 -0
  329. package/dist/render-video-layer.d.ts +9 -0
  330. package/dist/render-video-layer.js +23 -0
  331. package/dist/render-web-frame.d.ts +74 -0
  332. package/dist/render-web-frame.js +259 -0
  333. package/dist/replace-browser.d.ts +6 -0
  334. package/dist/replace-browser.js +47 -0
  335. package/dist/resolve-asset-src.d.ts +0 -0
  336. package/dist/resolve-asset-src.js +0 -0
  337. package/dist/sample-rate.d.ts +0 -0
  338. package/dist/sample-rate.js +0 -0
  339. package/dist/screenshot-dom-element.d.ts +11 -8
  340. package/dist/screenshot-dom-element.js +12 -7
  341. package/dist/screenshot-task.d.ts +13 -3
  342. package/dist/screenshot-task.js +55 -27
  343. package/dist/seek-to-frame.d.ts +3 -2
  344. package/dist/seek-to-frame.js +24 -3
  345. package/dist/serve-handler/index.d.ts +1 -1
  346. package/dist/serve-handler/index.js +7 -15
  347. package/dist/serve-handler/is-path-inside.d.ts +0 -0
  348. package/dist/serve-handler/is-path-inside.js +0 -0
  349. package/dist/serve-handler/range-parser.d.ts +0 -0
  350. package/dist/serve-handler/range-parser.js +0 -0
  351. package/dist/serve-static.d.ts +5 -3
  352. package/dist/serve-static.js +20 -4
  353. package/dist/set-props-and-env.d.ts +4 -2
  354. package/dist/set-props-and-env.js +41 -15
  355. package/dist/stitch-frames-to-video.d.ts +20 -7
  356. package/dist/stitch-frames-to-video.js +175 -59
  357. package/dist/stringify-ffmpeg-filter.d.ts +4 -3
  358. package/dist/stringify-ffmpeg-filter.js +15 -11
  359. package/dist/symbolicate-stacktrace.d.ts +1 -1
  360. package/dist/symbolicate-stacktrace.js +3 -3
  361. package/dist/take-frame-and-compose.d.ts +20 -0
  362. package/dist/take-frame-and-compose.js +96 -0
  363. package/dist/tmp-dir.d.ts +0 -0
  364. package/dist/tmp-dir.js +0 -0
  365. package/dist/truthy.d.ts +3 -0
  366. package/dist/truthy.js +7 -0
  367. package/dist/try-to-extract-frame-of-video-fast.d.ts +13 -0
  368. package/dist/try-to-extract-frame-of-video-fast.js +55 -0
  369. package/dist/types.d.ts +1 -1
  370. package/dist/types.js +0 -0
  371. package/dist/validate-concurrency.d.ts +1 -0
  372. package/dist/validate-concurrency.js +29 -0
  373. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  374. package/dist/validate-even-dimensions-with-codec.js +2 -2
  375. package/dist/validate-every-nth-frame.d.ts +2 -0
  376. package/dist/validate-every-nth-frame.js +28 -0
  377. package/dist/validate-ffmpeg-override.d.ts +2 -0
  378. package/dist/validate-ffmpeg-override.js +12 -0
  379. package/dist/validate-ffmpeg.d.ts +7 -2
  380. package/dist/validate-ffmpeg.js +48 -44
  381. package/dist/validate-frame.d.ts +1 -0
  382. package/dist/validate-frame.js +24 -0
  383. package/dist/validate-number-of-gif-loops.d.ts +2 -0
  384. package/dist/validate-number-of-gif-loops.js +24 -0
  385. package/dist/validate-opengl-renderer.d.ts +5 -0
  386. package/dist/validate-opengl-renderer.js +15 -0
  387. package/dist/validate-output-filename.d.ts +1 -1
  388. package/dist/validate-output-filename.js +5 -0
  389. package/dist/validate-puppeteer-timeout.d.ts +0 -0
  390. package/dist/validate-puppeteer-timeout.js +1 -1
  391. package/dist/validate-scale.d.ts +0 -0
  392. package/dist/validate-scale.js +0 -0
  393. package/dist/validate-videobitrate.d.ts +1 -0
  394. package/dist/validate-videobitrate.js +20 -0
  395. package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  396. package/dist/wait-for-symbolication-error-to-be-done.js +8 -0
  397. package/dist/warn-about-ffmpeg-version.d.ts +5 -0
  398. package/dist/warn-about-ffmpeg-version.js +37 -0
  399. package/dist/ws/ws-types.d.ts +14 -0
  400. package/dist/ws/ws-types.js +10 -0
  401. package/package.json +30 -22
  402. package/types/ws/index.d.ts +509 -0
  403. package/.prettierrc.js +0 -14
  404. package/dist/abort.d.ts +0 -7
  405. package/dist/abort.js +0 -20
  406. package/dist/assets/cleanup-assets.d.ts +0 -2
  407. package/dist/cancel.d.ts +0 -7
  408. package/dist/cancel.js +0 -25
  409. package/dist/ensure-faststart.d.ts +0 -1
  410. package/dist/ensure-faststart.js +0 -14
  411. package/dist/faststart/atom.d.ts +0 -35
  412. package/dist/faststart/atom.js +0 -138
  413. package/dist/faststart/options.d.ts +0 -6
  414. package/dist/faststart/qt-faststart.d.ts +0 -18
  415. package/dist/faststart/qt-faststart.js +0 -66
  416. package/dist/faststart/update-chunk-offsets.d.ts +0 -10
  417. package/dist/faststart/update-chunk-offsets.js +0 -114
  418. package/dist/faststart/util.d.ts +0 -9
  419. package/dist/faststart/util.js +0 -34
  420. package/dist/get-duration-of-asset.d.ts +0 -7
  421. package/dist/get-duration-of-asset.js +0 -36
  422. package/dist/make-assets-download-dir.d.ts +0 -1
  423. package/dist/make-assets-download-dir.js +0 -13
  424. package/dist/offthread/index.d.ts +0 -0
  425. package/dist/offthread/index.js +0 -1
  426. package/dist/render-gif.d.ts +0 -2
  427. package/dist/render-gif.js +0 -242
  428. package/dist/serve-handler/glob-slash.d.ts +0 -1
  429. package/dist/serve-handler/glob-slash.js +0 -12
  430. package/dist/stitch-frames-to-gif.d.ts +0 -8
  431. package/dist/stitch-frames-to-gif.js +0 -128
  432. package/dist/validate-fps-for-gif.d.ts +0 -2
  433. package/dist/validate-fps-for-gif.js +0 -9
  434. package/tsconfig.json +0 -10
@@ -1,12 +1,15 @@
1
1
  /// <reference types="node" />
2
- import puppeteer from 'puppeteer-core';
3
- import { ImageFormat } from 'remotion';
4
- export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, }: {
5
- page: puppeteer.Page;
2
+ import type { ClipRegion } from 'remotion';
3
+ import type { Page } from './browser/BrowserPage';
4
+ import type { ImageFormat } from './image-format';
5
+ export declare const screenshotDOMElement: ({ page, imageFormat, quality, opts, height, width, clipRegion, }: {
6
+ page: Page;
6
7
  imageFormat: ImageFormat;
7
8
  quality: number | undefined;
8
- opts?: {
9
- path?: string | undefined;
10
- selector?: string | undefined;
11
- } | undefined;
9
+ opts: {
10
+ path: string | null;
11
+ };
12
+ height: number;
13
+ width: number;
14
+ clipRegion: ClipRegion | null;
12
15
  }) => Promise<Buffer>;
@@ -3,11 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.screenshotDOMElement = void 0;
4
4
  const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
5
5
  const puppeteer_screenshot_1 = require("./puppeteer-screenshot");
6
- const screenshotDOMElement = async ({ page, imageFormat, quality, opts = {}, }) => {
7
- const path = 'path' in opts ? opts.path : undefined;
8
- const { selector } = opts;
9
- if (!selector)
10
- throw Error('Please provide a selector.');
6
+ const screenshotDOMElement = async ({ page, imageFormat, quality, opts, height, width, clipRegion, }) => {
7
+ const { path } = opts;
11
8
  if (imageFormat === 'png') {
12
9
  await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
13
10
  pageFunction: () => {
@@ -31,11 +28,19 @@ const screenshotDOMElement = async ({ page, imageFormat, quality, opts = {}, })
31
28
  if (imageFormat === 'none') {
32
29
  throw new TypeError('Tried to make a screenshot with format "none"');
33
30
  }
34
- return (0, puppeteer_screenshot_1.screenshot)(page, {
31
+ const buf = await (0, puppeteer_screenshot_1.screenshot)({
32
+ page,
35
33
  omitBackground: imageFormat === 'png',
36
- path,
34
+ path: path !== null && path !== void 0 ? path : undefined,
37
35
  type: imageFormat,
38
36
  quality,
37
+ width,
38
+ height,
39
+ clipRegion,
39
40
  });
41
+ if (typeof buf === 'string') {
42
+ throw new TypeError('Expected a buffer');
43
+ }
44
+ return buf;
40
45
  };
41
46
  exports.screenshotDOMElement = screenshotDOMElement;
@@ -1,4 +1,14 @@
1
1
  /// <reference types="node" />
2
- import { Page, ScreenshotOptions } from 'puppeteer-core';
3
- import { StillImageFormat } from 'remotion';
4
- export declare const _screenshotTask: (page: Page, format: StillImageFormat, options: ScreenshotOptions) => Promise<Buffer | string>;
2
+ import type { ClipRegion } from 'remotion';
3
+ import type { Page } from './browser/BrowserPage';
4
+ import type { StillImageFormat } from './image-format';
5
+ export declare const screenshotTask: ({ format, height, omitBackground, page, width, path, quality, clipRegion, }: {
6
+ page: Page;
7
+ format: StillImageFormat;
8
+ path?: string | undefined;
9
+ quality?: number | undefined;
10
+ omitBackground: boolean;
11
+ width: number;
12
+ height: number;
13
+ clipRegion: ClipRegion | null;
14
+ }) => Promise<Buffer | string>;
@@ -3,39 +3,67 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._screenshotTask = void 0;
6
+ exports.screenshotTask = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
- const remotion_1 = require("remotion");
9
- const _screenshotTask = async (page, format, options) => {
10
- const client = page._client;
11
- const target = page._target;
12
- const perfTarget = remotion_1.Internals.perf.startPerfMeasure('activate-target');
8
+ const perf_1 = require("./perf");
9
+ const screenshotTask = async ({ format, height, omitBackground, page, width, path, quality, clipRegion, }) => {
10
+ var _a;
11
+ const client = page._client();
12
+ const target = page.target();
13
+ const perfTarget = (0, perf_1.startPerfMeasure)('activate-target');
13
14
  await client.send('Target.activateTarget', {
14
15
  targetId: target._targetId,
15
16
  });
16
- remotion_1.Internals.perf.stopPerfMeasure(perfTarget);
17
- const shouldSetDefaultBackground = options.omitBackground && format === 'png';
17
+ (0, perf_1.stopPerfMeasure)(perfTarget);
18
+ const shouldSetDefaultBackground = omitBackground && format === 'png';
18
19
  if (shouldSetDefaultBackground)
19
20
  await client.send('Emulation.setDefaultBackgroundColorOverride', {
20
21
  color: { r: 0, g: 0, b: 0, a: 0 },
21
22
  });
22
- const cap = remotion_1.Internals.perf.startPerfMeasure('capture');
23
- const result = await client.send('Page.captureScreenshot', {
24
- format,
25
- quality: options.quality,
26
- clip: undefined,
27
- captureBeyondViewport: true,
28
- });
29
- remotion_1.Internals.perf.stopPerfMeasure(cap);
30
- if (shouldSetDefaultBackground)
31
- await client.send('Emulation.setDefaultBackgroundColorOverride');
32
- const saveMarker = remotion_1.Internals.perf.startPerfMeasure('save');
33
- const buffer = options.encoding === 'base64'
34
- ? result.data
35
- : Buffer.from(result.data, 'base64');
36
- if (options.path)
37
- await fs_1.default.promises.writeFile(options.path, buffer);
38
- remotion_1.Internals.perf.stopPerfMeasure(saveMarker);
39
- return buffer;
23
+ const cap = (0, perf_1.startPerfMeasure)('capture');
24
+ try {
25
+ const result = await client.send('Page.captureScreenshot', {
26
+ format,
27
+ quality,
28
+ clip: clipRegion !== null && clipRegion !== 'hide'
29
+ ? {
30
+ x: clipRegion.x,
31
+ y: clipRegion.y,
32
+ height: clipRegion.height,
33
+ scale: 1,
34
+ width: clipRegion.width,
35
+ }
36
+ : {
37
+ x: 0,
38
+ y: 0,
39
+ height,
40
+ scale: 1,
41
+ width,
42
+ },
43
+ captureBeyondViewport: true,
44
+ optimizeForSpeed: true,
45
+ });
46
+ (0, perf_1.stopPerfMeasure)(cap);
47
+ if (shouldSetDefaultBackground)
48
+ await client.send('Emulation.setDefaultBackgroundColorOverride');
49
+ const saveMarker = (0, perf_1.startPerfMeasure)('save');
50
+ const buffer = Buffer.from(result.data, 'base64');
51
+ if (path)
52
+ await fs_1.default.promises.writeFile(path, buffer);
53
+ (0, perf_1.stopPerfMeasure)(saveMarker);
54
+ return buffer;
55
+ }
56
+ catch (err) {
57
+ if (err.message.includes('Unable to capture screenshot')) {
58
+ const errMessage = [
59
+ 'Could not take a screenshot because Google Chrome ran out of memory or disk space.',
60
+ ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.__RESERVED_IS_INSIDE_REMOTION_LAMBDA)
61
+ ? 'Deploy a new Lambda function with more memory or disk space.'
62
+ : 'Decrease the concurrency to use less RAM.',
63
+ ].join(' ');
64
+ throw new Error(errMessage);
65
+ }
66
+ throw err;
67
+ }
40
68
  };
41
- exports._screenshotTask = _screenshotTask;
69
+ exports.screenshotTask = screenshotTask;
@@ -1,5 +1,6 @@
1
- import puppeteer from 'puppeteer-core';
1
+ import type { Page } from './browser/BrowserPage';
2
+ export declare const waitForReady: (page: Page) => Promise<unknown>;
2
3
  export declare const seekToFrame: ({ frame, page, }: {
3
4
  frame: number;
4
- page: puppeteer.Page;
5
+ page: Page;
5
6
  }) => Promise<void>;
@@ -1,9 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.seekToFrame = void 0;
3
+ exports.seekToFrame = exports.waitForReady = void 0;
4
4
  const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
5
+ const waitForReady = (page) => {
6
+ return Promise.race([
7
+ new Promise((_, reject) => {
8
+ page.on("disposed" /* PageEmittedEvents.Disposed */, () => {
9
+ reject(new Error('Target closed (page disposed)'));
10
+ });
11
+ }),
12
+ new Promise((_, reject) => {
13
+ page.browser.on("closed-silent" /* BrowserEmittedEvents.ClosedSilent */, () => {
14
+ reject(new Error('Target closed'));
15
+ });
16
+ }),
17
+ page
18
+ .mainFrame()
19
+ ._mainWorld.waitForFunction(page.browser, 'window.ready === true')
20
+ .catch((err) => {
21
+ throw err;
22
+ }),
23
+ ]);
24
+ };
25
+ exports.waitForReady = waitForReady;
5
26
  const seekToFrame = async ({ frame, page, }) => {
6
- await page.waitForFunction('window.ready === true');
27
+ await (0, exports.waitForReady)(page);
7
28
  await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
8
29
  pageFunction: (f) => {
9
30
  window.remotion_setFrame(f);
@@ -12,7 +33,7 @@ const seekToFrame = async ({ frame, page, }) => {
12
33
  frame,
13
34
  page,
14
35
  });
15
- await page.waitForFunction('window.ready === true');
36
+ await (0, exports.waitForReady)(page);
16
37
  await page.evaluateHandle('document.fonts.ready');
17
38
  };
18
39
  exports.seekToFrame = seekToFrame;
@@ -1,4 +1,4 @@
1
- import { IncomingMessage, ServerResponse } from 'http';
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
2
  export declare const serveHandler: (request: IncomingMessage, response: ServerResponse, config: {
3
3
  public: string;
4
4
  }) => Promise<void>;
@@ -4,16 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.serveHandler = void 0;
7
- // Native
8
7
  const fs_1 = require("fs");
9
8
  const path_1 = __importDefault(require("path"));
10
9
  const url_1 = __importDefault(require("url"));
10
+ const mime_types_1 = require("../mime-types");
11
11
  // Packages
12
- const mime_types_1 = __importDefault(require("mime-types"));
13
12
  const is_path_inside_1 = require("./is-path-inside");
14
13
  const range_parser_1 = require("./range-parser");
15
14
  const getHeaders = (absolutePath, stats) => {
16
- const related = {};
17
15
  const { base } = path_1.default.parse(absolutePath);
18
16
  let defaultHeaders = {};
19
17
  if (stats) {
@@ -22,18 +20,12 @@ const getHeaders = (absolutePath, stats) => {
22
20
  'Accept-Ranges': 'bytes',
23
21
  };
24
22
  defaultHeaders['Last-Modified'] = stats.mtime.toUTCString();
25
- const contentType = mime_types_1.default.contentType(base);
26
- if (contentType) {
27
- defaultHeaders['Content-Type'] = contentType;
23
+ const _contentType = (0, mime_types_1.mimeContentType)(base);
24
+ if (_contentType) {
25
+ defaultHeaders['Content-Type'] = _contentType;
28
26
  }
29
27
  }
30
- const headers = Object.assign(defaultHeaders, related);
31
- for (const key in headers) {
32
- if (headers[key] === null) {
33
- delete headers[key];
34
- }
35
- }
36
- return headers;
28
+ return defaultHeaders;
37
29
  };
38
30
  const getPossiblePaths = (relativePath, extension) => [
39
31
  path_1.default.join(relativePath, `index${extension}`),
@@ -154,9 +146,9 @@ const serveHandler = async (request, response, config) => {
154
146
  const directory = null;
155
147
  const singleFile = null;
156
148
  if (directory) {
157
- const contentType = 'text/html; charset=utf-8';
149
+ const _contentType = 'text/html; charset=utf-8';
158
150
  response.statusCode = 200;
159
- response.setHeader('Content-Type', contentType);
151
+ response.setHeader('Content-Type', _contentType);
160
152
  response.end('Is a directory');
161
153
  return;
162
154
  }
File without changes
File without changes
File without changes
File without changes
@@ -1,12 +1,14 @@
1
- import { FfmpegExecutable } from 'remotion';
2
- import { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
1
+ import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
2
+ import type { DownloadMap } from './assets/download-map';
3
+ import type { FfmpegExecutable } from './ffmpeg-executable';
3
4
  export declare const serveStatic: (path: string | null, options: {
4
5
  port: number | null;
5
6
  ffmpegExecutable: FfmpegExecutable;
6
7
  ffprobeExecutable: FfmpegExecutable;
7
- downloadDir: string;
8
8
  onDownload: RenderMediaOnDownload;
9
9
  onError: (err: Error) => void;
10
+ downloadMap: DownloadMap;
11
+ remotionRoot: string;
10
12
  }) => Promise<{
11
13
  port: number;
12
14
  close: () => Promise<void>;
@@ -5,21 +5,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.serveStatic = void 0;
7
7
  const http_1 = __importDefault(require("http"));
8
- const remotion_1 = require("remotion");
9
8
  const get_port_1 = require("./get-port");
10
9
  const offthread_video_server_1 = require("./offthread-video-server");
11
10
  const serve_handler_1 = require("./serve-handler");
12
11
  const serveStatic = async (path, options) => {
13
- var _a, _b;
14
- const port = await (0, get_port_1.getDesiredPort)((_b = (_a = options === null || options === void 0 ? void 0 : options.port) !== null && _a !== void 0 ? _a : remotion_1.Internals.getServerPort()) !== null && _b !== void 0 ? _b : undefined, 3000, 3100);
12
+ var _a;
13
+ const { port, didUsePort } = await (0, get_port_1.getDesiredPort)((_a = options === null || options === void 0 ? void 0 : options.port) !== null && _a !== void 0 ? _a : undefined, 3000, 3100);
15
14
  const offthreadRequest = (0, offthread_video_server_1.startOffthreadVideoServer)({
16
15
  ffmpegExecutable: options.ffmpegExecutable,
17
16
  ffprobeExecutable: options.ffprobeExecutable,
18
- downloadDir: options.downloadDir,
19
17
  onDownload: options.onDownload,
20
18
  onError: options.onError,
19
+ downloadMap: options.downloadMap,
20
+ remotionRoot: options.remotionRoot,
21
21
  });
22
22
  try {
23
+ const connections = {};
23
24
  const server = http_1.default
24
25
  .createServer((request, response) => {
25
26
  var _a;
@@ -39,8 +40,23 @@ const serveStatic = async (path, options) => {
39
40
  });
40
41
  })
41
42
  .listen(port);
43
+ server.on('connection', (conn) => {
44
+ const key = conn.remoteAddress + ':' + conn.remotePort;
45
+ connections[key] = conn;
46
+ conn.on('close', () => {
47
+ delete connections[key];
48
+ });
49
+ });
50
+ server.on('listening', () => {
51
+ didUsePort();
52
+ });
53
+ const destroyConnections = function () {
54
+ for (const key in connections)
55
+ connections[key].destroy();
56
+ };
42
57
  const close = () => {
43
58
  return new Promise((resolve, reject) => {
59
+ destroyConnections();
44
60
  server.close((err) => {
45
61
  if (err) {
46
62
  if (err.code === 'ERR_SERVER_NOT_RUNNING') {
@@ -1,5 +1,5 @@
1
- import { Page } from 'puppeteer-core';
2
- export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, }: {
1
+ import type { Page } from './browser/BrowserPage';
2
+ export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, audioEnabled, videoEnabled, }: {
3
3
  inputProps: unknown;
4
4
  envVariables: Record<string, string> | undefined;
5
5
  page: Page;
@@ -8,4 +8,6 @@ export declare const setPropsAndEnv: ({ inputProps, envVariables, page, serveUrl
8
8
  timeoutInMilliseconds: number | undefined;
9
9
  proxyPort: number;
10
10
  retriesRemaining: number;
11
+ audioEnabled: boolean;
12
+ videoEnabled: boolean;
11
13
  }) => Promise<void>;
@@ -1,36 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setPropsAndEnv = void 0;
4
- const remotion_1 = require("remotion");
4
+ const version_1 = require("remotion/version");
5
+ const TimeoutSettings_1 = require("./browser/TimeoutSettings");
5
6
  const normalize_serve_url_1 = require("./normalize-serve-url");
6
7
  const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
8
+ const redirect_status_codes_1 = require("./redirect-status-codes");
7
9
  const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
8
- const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, }) => {
10
+ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initialFrame, timeoutInMilliseconds, proxyPort, retriesRemaining, audioEnabled, videoEnabled, }) => {
9
11
  (0, validate_puppeteer_timeout_1.validatePuppeteerTimeout)(timeoutInMilliseconds);
10
- const actualTimeout = timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : remotion_1.Internals.DEFAULT_PUPPETEER_TIMEOUT;
12
+ const actualTimeout = timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT;
11
13
  page.setDefaultTimeout(actualTimeout);
12
14
  page.setDefaultNavigationTimeout(actualTimeout);
13
15
  const urlToVisit = (0, normalize_serve_url_1.normalizeServeUrl)(serveUrl);
14
16
  await page.evaluateOnNewDocument((timeout) => {
15
17
  window.remotion_puppeteerTimeout = timeout;
16
- }, [actualTimeout]);
18
+ }, actualTimeout);
17
19
  if (inputProps) {
18
20
  await page.evaluateOnNewDocument((input) => {
19
21
  window.remotion_inputProps = input;
20
- }, [JSON.stringify(inputProps)]);
22
+ }, JSON.stringify(inputProps));
21
23
  }
22
24
  if (envVariables) {
23
25
  await page.evaluateOnNewDocument((input) => {
24
26
  window.remotion_envVariables = input;
25
- }, [JSON.stringify(envVariables)]);
27
+ }, JSON.stringify(envVariables));
26
28
  }
27
29
  await page.evaluateOnNewDocument((key) => {
28
30
  window.remotion_initialFrame = key;
29
- }, [initialFrame]);
31
+ }, initialFrame);
30
32
  await page.evaluateOnNewDocument((port) => {
31
33
  window.remotion_proxyPort = port;
32
- }, [proxyPort]);
34
+ }, proxyPort);
35
+ await page.evaluateOnNewDocument((enabled) => {
36
+ window.remotion_audioEnabled = enabled;
37
+ }, audioEnabled);
38
+ await page.evaluateOnNewDocument((enabled) => {
39
+ window.remotion_videoEnabled = enabled;
40
+ }, videoEnabled);
33
41
  const pageRes = await page.goto(urlToVisit);
42
+ if (pageRes === null) {
43
+ throw new Error(`Visited "${urlToVisit}" but got no response.`);
44
+ }
34
45
  const status = pageRes.status();
35
46
  // S3 in rare occasions returns a 500 or 503 error code for GET operations.
36
47
  // Usually it is fixed by retrying.
@@ -49,13 +60,11 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
49
60
  retriesRemaining: retriesRemaining - 1,
50
61
  serveUrl,
51
62
  timeoutInMilliseconds,
63
+ audioEnabled,
64
+ videoEnabled,
52
65
  });
53
66
  }
54
- if (status !== 200 &&
55
- status !== 301 &&
56
- status !== 302 &&
57
- status !== 303 &&
58
- status !== 304) {
67
+ if (!redirect_status_codes_1.redirectStatusCodes.every((code) => code !== status)) {
59
68
  throw new Error(`Error while getting compositions: Tried to go to ${urlToVisit} but the status code was ${status} instead of 200. Does the site you specified exist?`);
60
69
  }
61
70
  const isRemotionFn = await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
@@ -77,8 +86,25 @@ const setPropsAndEnv = async ({ inputProps, envVariables, page, serveUrl, initia
77
86
  frame: null,
78
87
  page,
79
88
  });
80
- if (siteVersion !== '3') {
81
- throw new Error(`Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. The bundle format changed in version 3.0.11. To resolve this error, please bundle and deploy again.`);
89
+ const remotionVersion = await (0, puppeteer_evaluate_1.puppeteerEvaluateWithCatch)({
90
+ pageFunction: () => {
91
+ return window.remotion_version;
92
+ },
93
+ args: [],
94
+ frame: null,
95
+ page,
96
+ });
97
+ const requiredVersion = '4';
98
+ if (siteVersion !== requiredVersion) {
99
+ throw new Error(`Incompatible site: When visiting ${urlToVisit}, a bundle was found, but one that is not compatible with this version of Remotion. Found version: ${siteVersion} - Required version: ${requiredVersion}. To resolve this error, please bundle and deploy again.`);
100
+ }
101
+ if (remotionVersion !== version_1.VERSION && process.env.NODE_ENV !== 'test') {
102
+ if (remotionVersion) {
103
+ console.warn(`The site was bundled with version ${remotionVersion} of @remotion/bundler, while @remotion/renderer is on version ${version_1.VERSION}. You may not have the newest bugfixes and features. Re-bundle the site to fix this issue.`);
104
+ }
105
+ else {
106
+ console.warn(`The site was bundled with an old version of Remotion, while @remotion/renderer is on version ${version_1.VERSION}. You may not have the newest bugfixes and features. Re-bundle the site to fix this issue.`);
107
+ }
82
108
  }
83
109
  };
84
110
  exports.setPropsAndEnv = setPropsAndEnv;
@@ -1,14 +1,24 @@
1
- import { Codec, FfmpegExecutable, ImageFormat, PixelFormat, ProResProfile, RenderAssetInfo } from 'remotion';
2
- import { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
3
- import { CancelSignal } from './make-cancel-signal';
1
+ /// <reference types="node" />
2
+ import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
3
+ import type { RenderAssetInfo } from './assets/download-map';
4
+ import type { Codec } from './codec';
5
+ import type { FfmpegExecutable } from './ffmpeg-executable';
6
+ import type { FfmpegOverrideFn } from './ffmpeg-override';
7
+ import type { ImageFormat } from './image-format';
8
+ import type { CancelSignal } from './make-cancel-signal';
9
+ import type { PixelFormat } from './pixel-format';
10
+ import type { ProResProfile } from './prores-profile';
4
11
  export declare type StitcherOptions = {
12
+ audioBitrate?: string | null;
13
+ videoBitrate?: string | null;
5
14
  fps: number;
6
15
  width: number;
7
16
  height: number;
8
- outputLocation: string;
17
+ outputLocation?: string | null;
9
18
  force: boolean;
10
19
  assetsInfo: RenderAssetInfo;
11
20
  pixelFormat?: PixelFormat;
21
+ numberOfGifLoops?: number | null;
12
22
  codec?: Codec;
13
23
  crf?: number | null;
14
24
  onProgress?: (progress: number) => void;
@@ -23,11 +33,14 @@ export declare type StitcherOptions = {
23
33
  preEncodedFileLocation: string | null;
24
34
  imageFormat: ImageFormat;
25
35
  };
36
+ muted?: boolean;
37
+ enforceAudioTrack?: boolean;
38
+ ffmpegOverride?: FfmpegOverrideFn;
26
39
  };
27
40
  declare type ReturnType = {
28
- task: Promise<void>;
41
+ task: Promise<Buffer | null>;
29
42
  getLogs: () => string;
30
43
  };
31
- export declare const spawnFfmpeg: (options: StitcherOptions) => Promise<ReturnType>;
32
- export declare const stitchFramesToVideo: (options: StitcherOptions) => Promise<void>;
44
+ export declare const spawnFfmpeg: (options: StitcherOptions, remotionRoot: string) => Promise<ReturnType>;
45
+ export declare const stitchFramesToVideo: (options: StitcherOptions) => Promise<Buffer | null>;
33
46
  export {};