@remotion/renderer 4.0.0-fastlambda.8 → 4.0.0-forcepublish.7

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 (435) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  2. package/dist/assets/convert-assets-to-file-urls.d.ts +5 -4
  3. package/dist/assets/convert-assets-to-file-urls.js +2 -2
  4. package/dist/assets/download-and-map-assets-to-file.d.ts +15 -6
  5. package/dist/assets/download-and-map-assets-to-file.js +108 -44
  6. package/dist/assets/download-file.d.ts +10 -5
  7. package/dist/assets/download-file.js +18 -5
  8. package/dist/assets/download-map.d.ts +64 -0
  9. package/dist/assets/download-map.js +73 -0
  10. package/dist/assets/ffmpeg-volume-expression.d.ts +3 -3
  11. package/dist/assets/ffmpeg-volume-expression.js +16 -14
  12. package/dist/assets/flatten-volume-array.d.ts +1 -1
  13. package/dist/assets/get-audio-channels.d.ts +3 -4
  14. package/dist/assets/get-audio-channels.js +14 -4
  15. package/dist/assets/get-video-stream-duration.d.ts +4 -0
  16. package/dist/assets/get-video-stream-duration.js +59 -0
  17. package/dist/assets/read-file.js +4 -1
  18. package/dist/assets/types.d.ts +1 -1
  19. package/dist/browser/Browser.d.ts +60 -0
  20. package/dist/browser/Browser.js +218 -0
  21. package/dist/browser/BrowserConnector.d.ts +19 -0
  22. package/dist/browser/BrowserConnector.js +17 -0
  23. package/dist/browser/BrowserFetcher.d.ts +89 -0
  24. package/dist/browser/BrowserFetcher.js +510 -0
  25. package/dist/browser/BrowserPage.d.ts +74 -0
  26. package/dist/browser/BrowserPage.js +283 -0
  27. package/dist/browser/BrowserRunner.d.ts +39 -0
  28. package/dist/browser/BrowserRunner.js +308 -0
  29. package/dist/browser/Connection.d.ts +42 -0
  30. package/dist/browser/Connection.js +242 -0
  31. package/dist/browser/ConsoleMessage.d.ts +31 -0
  32. package/dist/browser/ConsoleMessage.js +48 -0
  33. package/dist/browser/DOMWorld.d.ts +52 -0
  34. package/dist/browser/DOMWorld.js +272 -0
  35. package/dist/browser/Errors.d.ts +25 -0
  36. package/dist/browser/Errors.js +35 -0
  37. package/dist/browser/EvalTypes.d.ts +27 -0
  38. package/dist/browser/EvalTypes.js +17 -0
  39. package/dist/browser/EventEmitter.d.ts +23 -0
  40. package/dist/browser/EventEmitter.js +53 -0
  41. package/dist/browser/ExecutionContext.d.ts +34 -0
  42. package/dist/browser/ExecutionContext.js +174 -0
  43. package/dist/browser/FrameManager.d.ts +93 -0
  44. package/dist/browser/FrameManager.js +496 -0
  45. package/dist/browser/HTTPRequest.d.ts +28 -0
  46. package/dist/browser/HTTPRequest.js +37 -0
  47. package/dist/browser/HTTPResponse.d.ts +21 -0
  48. package/dist/browser/HTTPResponse.js +41 -0
  49. package/dist/browser/JSHandle.d.ts +35 -0
  50. package/dist/browser/JSHandle.js +90 -0
  51. package/dist/browser/LaunchOptions.d.ts +37 -0
  52. package/dist/browser/LaunchOptions.js +17 -0
  53. package/dist/browser/Launcher.d.ts +9 -0
  54. package/dist/browser/Launcher.js +504 -0
  55. package/dist/browser/LifecycleWatcher.d.ts +29 -0
  56. package/dist/browser/LifecycleWatcher.js +180 -0
  57. package/dist/browser/NetworkEventManager.d.ts +33 -0
  58. package/dist/browser/NetworkEventManager.js +81 -0
  59. package/dist/browser/NetworkManager.d.ts +34 -0
  60. package/dist/browser/NetworkManager.js +231 -0
  61. package/dist/browser/NodeWebSocketTransport.d.ts +17 -0
  62. package/dist/browser/NodeWebSocketTransport.js +87 -0
  63. package/dist/browser/Product.d.ts +16 -0
  64. package/dist/browser/Product.js +17 -0
  65. package/dist/browser/PuppeteerNode.d.ts +40 -0
  66. package/dist/browser/PuppeteerNode.js +81 -0
  67. package/dist/browser/PuppeteerViewport.d.ts +5 -0
  68. package/dist/browser/PuppeteerViewport.js +2 -0
  69. package/dist/browser/ScreenshotOptions.d.ts +14 -0
  70. package/dist/browser/ScreenshotOptions.js +2 -0
  71. package/dist/browser/Target.d.ts +61 -0
  72. package/dist/browser/Target.js +146 -0
  73. package/dist/browser/TaskQueue.d.ts +20 -0
  74. package/dist/browser/TaskQueue.js +47 -0
  75. package/dist/browser/TimeoutSettings.d.ts +24 -0
  76. package/dist/browser/TimeoutSettings.js +62 -0
  77. package/dist/browser/assert.d.ts +1 -0
  78. package/dist/browser/assert.js +9 -0
  79. package/dist/browser/create-browser-fetcher.d.ts +17 -0
  80. package/dist/browser/create-browser-fetcher.js +119 -0
  81. package/dist/browser/devtools-commands.d.ts +270 -0
  82. package/dist/browser/devtools-commands.js +2 -0
  83. package/dist/browser/devtools-types.d.ts +1122 -0
  84. package/dist/browser/devtools-types.js +2 -0
  85. package/dist/browser/get-download-destination.d.ts +1 -0
  86. package/dist/browser/get-download-destination.js +38 -0
  87. package/dist/browser/mitt/index.d.ts +22 -0
  88. package/dist/browser/mitt/index.js +49 -0
  89. package/dist/browser/node.d.ts +2 -0
  90. package/dist/browser/node.js +9 -0
  91. package/dist/browser/revisions.d.ts +21 -0
  92. package/dist/browser/revisions.js +22 -0
  93. package/dist/browser/util.d.ts +47 -0
  94. package/dist/browser/util.js +169 -0
  95. package/dist/browser-executable.d.ts +1 -0
  96. package/dist/browser-executable.js +2 -0
  97. package/dist/browser-log.d.ts +1 -1
  98. package/dist/browser.d.ts +2 -0
  99. package/dist/browser.js +4 -0
  100. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  101. package/dist/calculate-ffmpeg-filters.js +2 -2
  102. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  103. package/dist/calculate-sar-dar-pixels.js +19 -0
  104. package/dist/can-use-parallel-encoding.d.ts +1 -1
  105. package/dist/can-use-parallel-encoding.js +2 -2
  106. package/dist/codec-supports-media.d.ts +7 -0
  107. package/dist/codec-supports-media.js +49 -0
  108. package/dist/codec.d.ts +4 -0
  109. package/dist/codec.js +16 -0
  110. package/dist/combine-videos.d.ts +4 -2
  111. package/dist/combine-videos.js +19 -5
  112. package/dist/compress-assets.d.ts +7 -0
  113. package/dist/compress-assets.js +25 -0
  114. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  115. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  116. package/dist/convert-to-pcm.d.ts +1 -1
  117. package/dist/create-ffmpeg-complex-filter.d.ts +3 -5
  118. package/dist/create-ffmpeg-complex-filter.js +2 -11
  119. package/dist/create-ffmpeg-merge-filter.js +3 -3
  120. package/dist/create-silent-audio.d.ts +1 -1
  121. package/dist/crf.d.ts +5 -0
  122. package/dist/crf.js +64 -0
  123. package/dist/cycle-browser-tabs.d.ts +3 -2
  124. package/dist/cycle-browser-tabs.js +9 -2
  125. package/dist/delay-render-embedded-stack.d.ts +1 -1
  126. package/dist/ensure-frames-in-order.d.ts +1 -1
  127. package/dist/ensure-frames-in-order.js +3 -2
  128. package/dist/ensure-presentation-timestamp.d.ts +2 -0
  129. package/dist/ensure-presentation-timestamp.js +69 -0
  130. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  131. package/dist/error-handling/handle-javascript-exception.js +3 -4
  132. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  133. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  134. package/dist/extract-frame-from-video.d.ts +16 -0
  135. package/dist/extract-frame-from-video.js +254 -0
  136. package/dist/ffmpeg-executable.d.ts +1 -0
  137. package/dist/ffmpeg-executable.js +2 -0
  138. package/dist/ffmpeg-filter-file.d.ts +2 -1
  139. package/dist/ffmpeg-filter-file.js +4 -6
  140. package/dist/frame-range.d.ts +2 -0
  141. package/dist/frame-range.js +49 -0
  142. package/dist/frame-to-ffmpeg-timestamp.d.ts +1 -0
  143. package/dist/frame-to-ffmpeg-timestamp.js +8 -0
  144. package/dist/get-audio-codec-name.d.ts +1 -1
  145. package/dist/get-audio-codec-name.js +2 -2
  146. package/dist/get-browser-instance.d.ts +4 -3
  147. package/dist/get-browser-instance.js +2 -2
  148. package/dist/get-codec-name.d.ts +1 -1
  149. package/dist/get-codec-name.js +5 -2
  150. package/dist/get-compositions.d.ts +15 -5
  151. package/dist/get-compositions.js +35 -11
  152. package/dist/get-duration-from-frame-range.d.ts +1 -2
  153. package/dist/get-duration-from-frame-range.js +13 -9
  154. package/dist/get-extension-from-codec.d.ts +2 -2
  155. package/dist/get-extension-from-codec.js +5 -0
  156. package/dist/get-extension-of-filename.d.ts +1 -1
  157. package/dist/get-extension-of-filename.js +3 -0
  158. package/dist/get-frame-padded-index.d.ts +14 -0
  159. package/dist/get-frame-padded-index.js +33 -0
  160. package/dist/get-frame-to-render.d.ts +1 -1
  161. package/dist/get-local-browser-executable.d.ts +2 -1
  162. package/dist/get-local-browser-executable.js +7 -5
  163. package/dist/get-port.js +30 -37
  164. package/dist/get-prores-profile-name.d.ts +2 -1
  165. package/dist/get-video-info.d.ts +3 -0
  166. package/dist/get-video-info.js +49 -0
  167. package/dist/get-video-threads-flag.d.ts +1 -0
  168. package/dist/get-video-threads-flag.js +18 -0
  169. package/dist/guess-extension-for-media.d.ts +1 -0
  170. package/dist/guess-extension-for-media.js +27 -0
  171. package/dist/image-format.d.ts +6 -1
  172. package/dist/image-format.js +25 -1
  173. package/dist/index.d.ts +95 -20
  174. package/dist/index.js +93 -6
  175. package/dist/is-audio-codec.d.ts +2 -0
  176. package/dist/is-audio-codec.js +7 -0
  177. package/dist/is-beyond-last-frame.d.ts +3 -0
  178. package/dist/is-beyond-last-frame.js +12 -0
  179. package/dist/last-frame-from-video-cache.d.ts +17 -0
  180. package/dist/last-frame-from-video-cache.js +55 -0
  181. package/dist/log-level.d.ts +4 -0
  182. package/dist/log-level.js +15 -0
  183. package/dist/make-cancel-signal.d.ts +7 -0
  184. package/dist/make-cancel-signal.js +25 -0
  185. package/dist/merge-audio-track.d.ts +3 -1
  186. package/dist/merge-audio-track.js +14 -8
  187. package/dist/mime-db.d.ts +6 -0
  188. package/dist/mime-db.js +8636 -0
  189. package/dist/mime-types.d.ts +2 -0
  190. package/dist/mime-types.js +89 -0
  191. package/dist/offthread-video-server.d.ts +17 -0
  192. package/dist/offthread-video-server.js +86 -0
  193. package/dist/open-browser.d.ts +10 -8
  194. package/dist/open-browser.js +37 -32
  195. package/dist/overwrite.d.ts +1 -0
  196. package/dist/overwrite.js +4 -0
  197. package/dist/perf.d.ts +5 -0
  198. package/dist/perf.js +35 -0
  199. package/dist/pixel-format.d.ts +5 -0
  200. package/dist/pixel-format.js +26 -0
  201. package/dist/prepare-server.d.ts +14 -2
  202. package/dist/prepare-server.js +38 -5
  203. package/dist/preprocess-audio-track.d.ts +5 -2
  204. package/dist/preprocess-audio-track.js +3 -3
  205. package/dist/prespawn-ffmpeg.d.ts +7 -1
  206. package/dist/prespawn-ffmpeg.js +20 -16
  207. package/dist/prestitcher-memory-usage.d.ts +12 -0
  208. package/dist/prestitcher-memory-usage.js +30 -0
  209. package/dist/prores-profile.d.ts +5 -0
  210. package/dist/prores-profile.js +23 -0
  211. package/dist/provide-screenshot.d.ts +5 -4
  212. package/dist/provide-screenshot.js +1 -2
  213. package/dist/puppeteer-evaluate.d.ts +1 -1
  214. package/dist/puppeteer-evaluate.js +3 -4
  215. package/dist/puppeteer-screenshot.d.ts +4 -2
  216. package/dist/puppeteer-screenshot.js +7 -5
  217. package/dist/quality.d.ts +1 -0
  218. package/dist/quality.js +21 -0
  219. package/dist/render-frames.d.ts +24 -8
  220. package/dist/render-frames.js +137 -63
  221. package/dist/render-media.d.ts +36 -9
  222. package/dist/render-media.js +191 -70
  223. package/dist/render-still.d.ts +25 -7
  224. package/dist/render-still.js +75 -24
  225. package/dist/screenshot-dom-element.d.ts +7 -7
  226. package/dist/screenshot-dom-element.js +3 -6
  227. package/dist/screenshot-task.d.ts +4 -2
  228. package/dist/screenshot-task.js +36 -23
  229. package/dist/seek-to-frame.d.ts +2 -2
  230. package/dist/seek-to-frame.js +2 -2
  231. package/dist/serve-handler/index.d.ts +4 -0
  232. package/dist/serve-handler/index.js +204 -0
  233. package/dist/serve-handler/is-path-inside.d.ts +1 -0
  234. package/dist/serve-handler/is-path-inside.js +27 -0
  235. package/dist/serve-handler/range-parser.d.ts +13 -0
  236. package/dist/serve-handler/range-parser.js +57 -0
  237. package/dist/serve-static.d.ts +11 -3
  238. package/dist/serve-static.js +37 -7
  239. package/dist/set-props-and-env.d.ts +6 -2
  240. package/dist/set-props-and-env.js +48 -12
  241. package/dist/stitch-frames-to-video.d.ts +17 -5
  242. package/dist/stitch-frames-to-video.js +129 -45
  243. package/dist/stringify-ffmpeg-filter.d.ts +2 -2
  244. package/dist/stringify-ffmpeg-filter.js +12 -7
  245. package/dist/symbolicate-stacktrace.d.ts +1 -1
  246. package/dist/symbolicate-stacktrace.js +3 -3
  247. package/dist/tmp-dir.js +5 -1
  248. package/dist/truthy.d.ts +3 -0
  249. package/dist/truthy.js +7 -0
  250. package/dist/types.d.ts +1 -1
  251. package/dist/validate-concurrency.d.ts +1 -0
  252. package/dist/validate-concurrency.js +24 -0
  253. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  254. package/dist/validate-even-dimensions-with-codec.js +2 -2
  255. package/dist/validate-every-nth-frame.d.ts +1 -0
  256. package/dist/validate-every-nth-frame.js +21 -0
  257. package/dist/validate-ffmpeg.js +2 -3
  258. package/dist/validate-frame.d.ts +1 -0
  259. package/dist/validate-frame.js +24 -0
  260. package/dist/validate-opengl-renderer.d.ts +5 -0
  261. package/dist/validate-opengl-renderer.js +15 -0
  262. package/dist/validate-output-filename.d.ts +1 -1
  263. package/dist/validate-output-filename.js +5 -0
  264. package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  265. package/dist/wait-for-symbolication-error-to-be-done.js +34 -0
  266. package/dist/ws/ws-types.d.ts +14 -0
  267. package/dist/ws/ws-types.js +10 -0
  268. package/package.json +13 -16
  269. package/tsconfig.json +2 -2
  270. package/types/ws/index.d.ts +509 -0
  271. package/vitest.config.ts +8 -0
  272. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  273. package/dist/assets/calculate-asset-positions.js.map +0 -1
  274. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  275. package/dist/assets/calculate-atempo.js.map +0 -1
  276. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  277. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  278. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  279. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  280. package/dist/assets/download-file.d.ts.map +0 -1
  281. package/dist/assets/download-file.js.map +0 -1
  282. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  283. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  284. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  285. package/dist/assets/flatten-volume-array.js.map +0 -1
  286. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  287. package/dist/assets/get-audio-channels.js.map +0 -1
  288. package/dist/assets/read-file.d.ts.map +0 -1
  289. package/dist/assets/read-file.js.map +0 -1
  290. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  291. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  292. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  293. package/dist/assets/sanitize-filename.js.map +0 -1
  294. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  295. package/dist/assets/sanitize-filepath.js.map +0 -1
  296. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  297. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  298. package/dist/assets/types.d.ts.map +0 -1
  299. package/dist/assets/types.js.map +0 -1
  300. package/dist/browser-log.d.ts.map +0 -1
  301. package/dist/browser-log.js.map +0 -1
  302. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  303. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  304. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  305. package/dist/can-use-parallel-encoding.js.map +0 -1
  306. package/dist/chunk.d.ts.map +0 -1
  307. package/dist/chunk.js.map +0 -1
  308. package/dist/combine-videos.d.ts.map +0 -1
  309. package/dist/combine-videos.js.map +0 -1
  310. package/dist/convert-to-pcm.d.ts.map +0 -1
  311. package/dist/convert-to-pcm.js.map +0 -1
  312. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  313. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  314. package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
  315. package/dist/create-ffmpeg-merge-filter.js.map +0 -1
  316. package/dist/create-silent-audio.d.ts.map +0 -1
  317. package/dist/create-silent-audio.js.map +0 -1
  318. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  319. package/dist/cycle-browser-tabs.js.map +0 -1
  320. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  321. package/dist/delay-render-embedded-stack.js.map +0 -1
  322. package/dist/delete-directory.d.ts.map +0 -1
  323. package/dist/delete-directory.js.map +0 -1
  324. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  325. package/dist/ensure-frames-in-order.js.map +0 -1
  326. package/dist/ensure-output-directory.d.ts.map +0 -1
  327. package/dist/ensure-output-directory.js.map +0 -1
  328. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  329. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  330. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  331. package/dist/error-handling/symbolicate-error.js.map +0 -1
  332. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  333. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  334. package/dist/ffmpeg-filter-file.d.ts.map +0 -1
  335. package/dist/ffmpeg-filter-file.js.map +0 -1
  336. package/dist/ffmpeg-flags.d.ts.map +0 -1
  337. package/dist/ffmpeg-flags.js.map +0 -1
  338. package/dist/get-audio-codec-name.d.ts.map +0 -1
  339. package/dist/get-audio-codec-name.js.map +0 -1
  340. package/dist/get-browser-instance.d.ts.map +0 -1
  341. package/dist/get-browser-instance.js.map +0 -1
  342. package/dist/get-codec-name.d.ts.map +0 -1
  343. package/dist/get-codec-name.js.map +0 -1
  344. package/dist/get-compositions.d.ts.map +0 -1
  345. package/dist/get-compositions.js.map +0 -1
  346. package/dist/get-concurrency.d.ts.map +0 -1
  347. package/dist/get-concurrency.js.map +0 -1
  348. package/dist/get-duration-from-frame-range.d.ts.map +0 -1
  349. package/dist/get-duration-from-frame-range.js.map +0 -1
  350. package/dist/get-extension-from-codec.d.ts.map +0 -1
  351. package/dist/get-extension-from-codec.js.map +0 -1
  352. package/dist/get-frame-to-render.d.ts.map +0 -1
  353. package/dist/get-frame-to-render.js.map +0 -1
  354. package/dist/get-local-browser-executable.d.ts.map +0 -1
  355. package/dist/get-local-browser-executable.js.map +0 -1
  356. package/dist/get-port.d.ts.map +0 -1
  357. package/dist/get-port.js.map +0 -1
  358. package/dist/get-prores-profile-name.d.ts.map +0 -1
  359. package/dist/get-prores-profile-name.js.map +0 -1
  360. package/dist/image-format.d.ts.map +0 -1
  361. package/dist/image-format.js.map +0 -1
  362. package/dist/index.d.ts.map +0 -1
  363. package/dist/index.js.map +0 -1
  364. package/dist/is-serve-url.d.ts.map +0 -1
  365. package/dist/is-serve-url.js.map +0 -1
  366. package/dist/legacy-webpack-config.d.ts.map +0 -1
  367. package/dist/legacy-webpack-config.js.map +0 -1
  368. package/dist/make-assets-download-dir.d.ts +0 -1
  369. package/dist/make-assets-download-dir.d.ts.map +0 -1
  370. package/dist/make-assets-download-dir.js +0 -8
  371. package/dist/make-assets-download-dir.js.map +0 -1
  372. package/dist/merge-audio-track.d.ts.map +0 -1
  373. package/dist/merge-audio-track.js.map +0 -1
  374. package/dist/normalize-serve-url.d.ts.map +0 -1
  375. package/dist/normalize-serve-url.js.map +0 -1
  376. package/dist/open-browser.d.ts.map +0 -1
  377. package/dist/open-browser.js.map +0 -1
  378. package/dist/p-limit.d.ts.map +0 -1
  379. package/dist/p-limit.js.map +0 -1
  380. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  381. package/dist/parse-browser-error-stack.js.map +0 -1
  382. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  383. package/dist/parse-ffmpeg-progress.js.map +0 -1
  384. package/dist/pool.d.ts.map +0 -1
  385. package/dist/pool.js.map +0 -1
  386. package/dist/prepare-server.d.ts.map +0 -1
  387. package/dist/prepare-server.js.map +0 -1
  388. package/dist/preprocess-audio-track.d.ts.map +0 -1
  389. package/dist/preprocess-audio-track.js.map +0 -1
  390. package/dist/prespawn-ffmpeg.d.ts.map +0 -1
  391. package/dist/prespawn-ffmpeg.js.map +0 -1
  392. package/dist/provide-screenshot.d.ts.map +0 -1
  393. package/dist/provide-screenshot.js.map +0 -1
  394. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  395. package/dist/puppeteer-evaluate.js.map +0 -1
  396. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  397. package/dist/puppeteer-screenshot.js.map +0 -1
  398. package/dist/render-frames.d.ts.map +0 -1
  399. package/dist/render-frames.js.map +0 -1
  400. package/dist/render-media.d.ts.map +0 -1
  401. package/dist/render-media.js.map +0 -1
  402. package/dist/render-still.d.ts.map +0 -1
  403. package/dist/render-still.js.map +0 -1
  404. package/dist/resolve-asset-src.d.ts.map +0 -1
  405. package/dist/resolve-asset-src.js.map +0 -1
  406. package/dist/sample-rate.d.ts.map +0 -1
  407. package/dist/sample-rate.js.map +0 -1
  408. package/dist/screenshot-dom-element.d.ts.map +0 -1
  409. package/dist/screenshot-dom-element.js.map +0 -1
  410. package/dist/screenshot-task.d.ts.map +0 -1
  411. package/dist/screenshot-task.js.map +0 -1
  412. package/dist/seek-to-frame.d.ts.map +0 -1
  413. package/dist/seek-to-frame.js.map +0 -1
  414. package/dist/serve-static.d.ts.map +0 -1
  415. package/dist/serve-static.js.map +0 -1
  416. package/dist/set-props-and-env.d.ts.map +0 -1
  417. package/dist/set-props-and-env.js.map +0 -1
  418. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  419. package/dist/stitch-frames-to-video.js.map +0 -1
  420. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  421. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  422. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  423. package/dist/symbolicate-stacktrace.js.map +0 -1
  424. package/dist/tmp-dir.d.ts.map +0 -1
  425. package/dist/tmp-dir.js.map +0 -1
  426. package/dist/types.d.ts.map +0 -1
  427. package/dist/types.js.map +0 -1
  428. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  429. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  430. package/dist/validate-ffmpeg.d.ts.map +0 -1
  431. package/dist/validate-ffmpeg.js.map +0 -1
  432. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  433. package/dist/validate-puppeteer-timeout.js.map +0 -1
  434. package/dist/validate-scale.d.ts.map +0 -1
  435. package/dist/validate-scale.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export declare const getDownloadsCacheDir: () => string;
@@ -0,0 +1,38 @@
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.getDownloadsCacheDir = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const getDownloadsCacheDir = () => {
10
+ const cwd = process.cwd();
11
+ let dir = cwd;
12
+ for (;;) {
13
+ try {
14
+ if (fs_1.default.statSync(path_1.default.join(dir, 'package.json')).isFile()) {
15
+ break;
16
+ }
17
+ // eslint-disable-next-line no-empty
18
+ }
19
+ catch (e) { }
20
+ const parent = path_1.default.dirname(dir);
21
+ if (dir === parent) {
22
+ dir = undefined;
23
+ break;
24
+ }
25
+ dir = parent;
26
+ }
27
+ if (!dir) {
28
+ return path_1.default.resolve(cwd, '.remotion');
29
+ }
30
+ if (process.versions.pnp === '1') {
31
+ return path_1.default.resolve(dir, '.pnp/.remotion');
32
+ }
33
+ if (process.versions.pnp === '3') {
34
+ return path_1.default.resolve(dir, '.yarn/.remotion');
35
+ }
36
+ return path_1.default.resolve(dir, 'node_modules/.remotion');
37
+ };
38
+ exports.getDownloadsCacheDir = getDownloadsCacheDir;
@@ -0,0 +1,22 @@
1
+ export declare type EventType = string | symbol;
2
+ export declare type Handler<T = any> = (event?: T) => void;
3
+ declare type WildcardHandler = (type: EventType, event?: any) => void;
4
+ declare type EventHandlerList = Array<Handler>;
5
+ declare type WildCardEventHandlerList = Array<WildcardHandler>;
6
+ declare type EventHandlerMap = Map<EventType, EventHandlerList | WildCardEventHandlerList>;
7
+ export interface Emitter {
8
+ all: EventHandlerMap;
9
+ on<T = any>(type: EventType, handler: Handler<T>): void;
10
+ on(type: '*', handler: WildcardHandler): void;
11
+ off<T = any>(type: EventType, handler: Handler<T>): void;
12
+ off(type: '*', handler: WildcardHandler): void;
13
+ emit<T = any>(type: EventType, event?: T): void;
14
+ emit(type: '*', event?: any): void;
15
+ }
16
+ /**
17
+ * Mitt: Tiny (~200b) functional event emitter / pubsub.
18
+ * @name mitt
19
+ * @returns {Mitt}
20
+ */
21
+ export default function mitt(all?: EventHandlerMap): Emitter;
22
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Mitt: Tiny (~200b) functional event emitter / pubsub.
5
+ * @name mitt
6
+ * @returns {Mitt}
7
+ */
8
+ function mitt(all) {
9
+ all = all || new Map();
10
+ return {
11
+ /**
12
+ * A Map of event names to registered handler functions.
13
+ */
14
+ all,
15
+ /**
16
+ * Register an event handler for the given type.
17
+ * @param {string|symbol} type Type of event to listen for, or `"*"` for all events
18
+ * @param {Function} handler Function to call in response to given event
19
+ * @memberOf mitt
20
+ */
21
+ on(type, handler) {
22
+ const handlers = all === null || all === void 0 ? void 0 : all.get(type);
23
+ const added = handlers === null || handlers === void 0 ? void 0 : handlers.push(handler);
24
+ if (!added) {
25
+ all === null || all === void 0 ? void 0 : all.set(type, [handler]);
26
+ }
27
+ },
28
+ off(type, handler) {
29
+ const handlers = all === null || all === void 0 ? void 0 : all.get(type);
30
+ if (handlers) {
31
+ // eslint-disable-next-line no-bitwise
32
+ handlers.splice(handlers.indexOf(handler) >>> 0, 1);
33
+ }
34
+ },
35
+ emit(type, evt) {
36
+ ((all === null || all === void 0 ? void 0 : all.get(type)) || [])
37
+ .slice()
38
+ .forEach((handler) => {
39
+ handler(evt);
40
+ });
41
+ ((all === null || all === void 0 ? void 0 : all.get('*')) || [])
42
+ .slice()
43
+ .forEach((handler) => {
44
+ handler(type, evt);
45
+ });
46
+ },
47
+ };
48
+ }
49
+ exports.default = mitt;
@@ -0,0 +1,2 @@
1
+ import { PuppeteerNode } from './PuppeteerNode';
2
+ export declare const puppeteer: PuppeteerNode;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.puppeteer = void 0;
4
+ const PuppeteerNode_1 = require("./PuppeteerNode");
5
+ const revisions_1 = require("./revisions");
6
+ exports.puppeteer = new PuppeteerNode_1.PuppeteerNode({
7
+ preferredRevision: revisions_1.PUPPETEER_REVISIONS.chromium,
8
+ productName: undefined,
9
+ });
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright 2020 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ declare type Revisions = Readonly<{
17
+ readonly chromium: string;
18
+ readonly firefox: string;
19
+ }>;
20
+ export declare const PUPPETEER_REVISIONS: Revisions;
21
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2020 Google Inc. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PUPPETEER_REVISIONS = void 0;
19
+ exports.PUPPETEER_REVISIONS = {
20
+ chromium: '1002410',
21
+ firefox: 'latest',
22
+ };
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Copyright 2017 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /// <reference types="node" />
17
+ import type { Browser } from './Browser';
18
+ import type { CDPSession } from './Connection';
19
+ import type { DevtoolsRemoteObject, ExceptionDetails } from './devtools-types';
20
+ import type { CommonEventEmitter } from './EventEmitter';
21
+ export declare function getExceptionMessage(exceptionDetails: ExceptionDetails): string;
22
+ export declare function valueFromRemoteObject(remoteObject: DevtoolsRemoteObject): any;
23
+ export declare function releaseObject(client: CDPSession, remoteObject: DevtoolsRemoteObject): Promise<void>;
24
+ export interface PuppeteerEventListener {
25
+ emitter: CommonEventEmitter;
26
+ eventName: string | symbol;
27
+ handler: (...args: any[]) => void;
28
+ }
29
+ export declare function addEventListener(emitter: CommonEventEmitter, eventName: string | symbol, handler: (...args: any[]) => void): PuppeteerEventListener;
30
+ export declare function removeEventListeners(listeners: Array<{
31
+ emitter: CommonEventEmitter;
32
+ eventName: string | symbol;
33
+ handler: (...args: any[]) => void;
34
+ }>): void;
35
+ export declare const isString: (obj: unknown) => obj is string;
36
+ export declare function evaluationString(fun: Function | string, ...args: unknown[]): string;
37
+ export declare function pageBindingDeliverResultString(name: string, seq: number, result: unknown): string;
38
+ export declare function pageBindingDeliverErrorString(name: string, seq: number, message: string, stack?: string): string;
39
+ export declare function pageBindingDeliverErrorValueString(name: string, seq: number, value: unknown): string;
40
+ export declare function waitWithTimeout<T>(promise: Promise<T>, taskName: string, timeout: number, browser: Browser): Promise<T>;
41
+ interface ErrorLike extends Error {
42
+ name: string;
43
+ message: string;
44
+ }
45
+ export declare function isErrorLike(obj: unknown): obj is ErrorLike;
46
+ export declare function isErrnoException(obj: unknown): obj is NodeJS.ErrnoException;
47
+ export {};
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2017 Google Inc. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.isErrnoException = exports.isErrorLike = exports.waitWithTimeout = exports.pageBindingDeliverErrorValueString = exports.pageBindingDeliverErrorString = exports.pageBindingDeliverResultString = exports.evaluationString = exports.isString = exports.removeEventListeners = exports.addEventListener = exports.releaseObject = exports.valueFromRemoteObject = exports.getExceptionMessage = void 0;
19
+ const assert_1 = require("./assert");
20
+ const Errors_1 = require("./Errors");
21
+ function getExceptionMessage(exceptionDetails) {
22
+ if (exceptionDetails.exception) {
23
+ return (exceptionDetails.exception.description || exceptionDetails.exception.value);
24
+ }
25
+ let message = exceptionDetails.text;
26
+ if (exceptionDetails.stackTrace) {
27
+ for (const callframe of exceptionDetails.stackTrace.callFrames) {
28
+ const location = callframe.url +
29
+ ':' +
30
+ callframe.lineNumber +
31
+ ':' +
32
+ callframe.columnNumber;
33
+ const functionName = callframe.functionName || '<anonymous>';
34
+ message += `\n at ${functionName} (${location})`;
35
+ }
36
+ }
37
+ return message;
38
+ }
39
+ exports.getExceptionMessage = getExceptionMessage;
40
+ function valueFromRemoteObject(remoteObject) {
41
+ (0, assert_1.assert)(!remoteObject.objectId, 'Cannot extract value when objectId is given');
42
+ if (remoteObject.unserializableValue) {
43
+ if (remoteObject.type === 'bigint' && typeof BigInt !== 'undefined') {
44
+ return BigInt(remoteObject.unserializableValue.replace('n', ''));
45
+ }
46
+ switch (remoteObject.unserializableValue) {
47
+ case '-0':
48
+ return -0;
49
+ case 'NaN':
50
+ return NaN;
51
+ case 'Infinity':
52
+ return Infinity;
53
+ case '-Infinity':
54
+ return -Infinity;
55
+ default:
56
+ throw new Error('Unsupported unserializable value: ' +
57
+ remoteObject.unserializableValue);
58
+ }
59
+ }
60
+ return remoteObject.value;
61
+ }
62
+ exports.valueFromRemoteObject = valueFromRemoteObject;
63
+ async function releaseObject(client, remoteObject) {
64
+ if (!remoteObject.objectId) {
65
+ return;
66
+ }
67
+ await client
68
+ .send('Runtime.releaseObject', { objectId: remoteObject.objectId })
69
+ .catch(() => {
70
+ // Exceptions might happen in case of a page been navigated or closed.
71
+ // Swallow these since they are harmless and we don't leak anything in this case.
72
+ });
73
+ }
74
+ exports.releaseObject = releaseObject;
75
+ function addEventListener(emitter, eventName, handler) {
76
+ emitter.on(eventName, handler);
77
+ return { emitter, eventName, handler };
78
+ }
79
+ exports.addEventListener = addEventListener;
80
+ function removeEventListeners(listeners) {
81
+ for (const listener of listeners) {
82
+ listener.emitter.off(listener.eventName, listener.handler);
83
+ }
84
+ listeners.length = 0;
85
+ }
86
+ exports.removeEventListeners = removeEventListeners;
87
+ const isString = (obj) => {
88
+ return typeof obj === 'string' || obj instanceof String;
89
+ };
90
+ exports.isString = isString;
91
+ function evaluationString(fun, ...args) {
92
+ if ((0, exports.isString)(fun)) {
93
+ (0, assert_1.assert)(args.length === 0, 'Cannot evaluate a string with arguments');
94
+ return fun;
95
+ }
96
+ function serializeArgument(arg) {
97
+ if (Object.is(arg, undefined)) {
98
+ return 'undefined';
99
+ }
100
+ return JSON.stringify(arg);
101
+ }
102
+ return `(${fun})(${args.map(serializeArgument).join(',')})`;
103
+ }
104
+ exports.evaluationString = evaluationString;
105
+ function pageBindingDeliverResultString(name, seq, result) {
106
+ function deliverResult(_name, _seq, _result) {
107
+ window[_name].callbacks.get(_seq).resolve(_result);
108
+ window[_name].callbacks.delete(_seq);
109
+ }
110
+ return evaluationString(deliverResult, name, seq, result);
111
+ }
112
+ exports.pageBindingDeliverResultString = pageBindingDeliverResultString;
113
+ function pageBindingDeliverErrorString(name, seq, message, stack) {
114
+ function deliverError(_name, _seq, _message, _stack) {
115
+ const error = new Error(_message);
116
+ error.stack = _stack;
117
+ window[_name].callbacks.get(_seq).reject(error);
118
+ window[_name].callbacks.delete(_seq);
119
+ }
120
+ return evaluationString(deliverError, name, seq, message, stack);
121
+ }
122
+ exports.pageBindingDeliverErrorString = pageBindingDeliverErrorString;
123
+ function pageBindingDeliverErrorValueString(name, seq, value) {
124
+ function deliverErrorValue(_name, _seq, _value) {
125
+ window[_name].callbacks.get(_seq).reject(_value);
126
+ window[_name].callbacks.delete(_seq);
127
+ }
128
+ return evaluationString(deliverErrorValue, name, seq, value);
129
+ }
130
+ exports.pageBindingDeliverErrorValueString = pageBindingDeliverErrorValueString;
131
+ async function waitWithTimeout(promise, taskName, timeout, browser) {
132
+ let reject;
133
+ const timeoutError = new Errors_1.TimeoutError(`waiting for ${taskName} failed: timeout ${timeout}ms exceeded`);
134
+ const timeoutPromise = new Promise((_res, rej) => {
135
+ reject = rej;
136
+ });
137
+ let timeoutTimer = null;
138
+ if (timeout) {
139
+ timeoutTimer = setTimeout(() => {
140
+ return reject(timeoutError);
141
+ }, timeout);
142
+ }
143
+ try {
144
+ return await Promise.race([
145
+ new Promise((_, rej) => {
146
+ browser.once("closed" /* BrowserEmittedEvents.Closed */, () => {
147
+ return rej();
148
+ });
149
+ }),
150
+ promise,
151
+ timeoutPromise,
152
+ ]);
153
+ }
154
+ finally {
155
+ if (timeoutTimer) {
156
+ clearTimeout(timeoutTimer);
157
+ }
158
+ }
159
+ }
160
+ exports.waitWithTimeout = waitWithTimeout;
161
+ function isErrorLike(obj) {
162
+ return (typeof obj === 'object' && obj !== null && 'name' in obj && 'message' in obj);
163
+ }
164
+ exports.isErrorLike = isErrorLike;
165
+ function isErrnoException(obj) {
166
+ return (isErrorLike(obj) &&
167
+ ('errno' in obj || 'code' in obj || 'path' in obj || 'syscall' in obj));
168
+ }
169
+ exports.isErrnoException = isErrnoException;
@@ -0,0 +1 @@
1
+ export declare type BrowserExecutable = string | null;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { ConsoleMessageLocation, ConsoleMessageType } from 'puppeteer-core';
1
+ import type { ConsoleMessageLocation, ConsoleMessageType } from './browser/ConsoleMessage';
2
2
  export declare type BrowserLog = {
3
3
  text: string;
4
4
  stackTrace: ConsoleMessageLocation[];
@@ -0,0 +1,2 @@
1
+ export declare type Browser = 'chrome' | 'firefox';
2
+ export declare const DEFAULT_BROWSER: Browser;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_BROWSER = void 0;
4
+ exports.DEFAULT_BROWSER = 'chrome';
@@ -1,4 +1,4 @@
1
- import { MediaAsset } from './assets/types';
1
+ import type { MediaAsset } from './assets/types';
2
2
  export declare const calculateFfmpegFilter: ({ asset, fps, durationInFrames, channels, assetDuration, }: {
3
3
  asset: MediaAsset;
4
4
  fps: number;
@@ -7,8 +7,8 @@ const calculateFfmpegFilter = ({ asset, fps, durationInFrames, channels, assetDu
7
7
  if (channels === 0) {
8
8
  return null;
9
9
  }
10
- const assetTrimLeft = asset.trimLeft / fps;
11
- const assetTrimRight = (asset.trimLeft + asset.duration * asset.playbackRate) / fps;
10
+ const assetTrimLeft = (asset.trimLeft * asset.playbackRate) / fps;
11
+ const assetTrimRight = assetTrimLeft + (asset.duration * asset.playbackRate) / fps;
12
12
  return (0, stringify_ffmpeg_filter_1.stringifyFfmpegFilter)({
13
13
  channels,
14
14
  startInVideo: asset.startInVideo,
@@ -0,0 +1,9 @@
1
+ export declare const calculateDisplayVideoSize: ({ darX, darY, x, y, }: {
2
+ x: number;
3
+ y: number;
4
+ darX: number;
5
+ darY: number;
6
+ }) => {
7
+ width: number;
8
+ height: number;
9
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // https://superuser.com/questions/907933/correct-aspect-ratio-without-re-encoding-video-file
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.calculateDisplayVideoSize = void 0;
5
+ const calculateDisplayVideoSize = ({ darX, darY, x, y, }) => {
6
+ // We know two equations:
7
+ // newWidth / newHeight = darX / darY
8
+ // and:
9
+ // x * y = (newWidth * newHeight)
10
+ // I solved it then on pen and paper and simplified the formula:
11
+ const dimensions = x * y;
12
+ const newWidth = Math.sqrt(dimensions * (darX / darY));
13
+ const newHeight = dimensions / newWidth;
14
+ return {
15
+ height: Math.round(newHeight),
16
+ width: Math.round(newWidth),
17
+ };
18
+ };
19
+ exports.calculateDisplayVideoSize = calculateDisplayVideoSize;
@@ -1,2 +1,2 @@
1
- import { Codec } from 'remotion';
1
+ import type { Codec } from './codec';
2
2
  export declare const canUseParallelEncoding: (codec: Codec) => boolean;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.canUseParallelEncoding = void 0;
4
- const remotion_1 = require("remotion");
4
+ const is_audio_codec_1 = require("./is-audio-codec");
5
5
  const canUseParallelEncoding = (codec) => {
6
- if (remotion_1.Internals.isAudioCodec(codec)) {
6
+ if ((0, is_audio_codec_1.isAudioCodec)(codec)) {
7
7
  return false;
8
8
  }
9
9
  return codec === 'h264' || codec === 'h264-mkv' || codec === 'h265';
@@ -0,0 +1,7 @@
1
+ import type { Codec } from './codec';
2
+ declare type MediaSupport = {
3
+ video: boolean;
4
+ audio: boolean;
5
+ };
6
+ export declare const codecSupportsMedia: (codec: Codec) => MediaSupport;
7
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.codecSupportsMedia = void 0;
4
+ const support = {
5
+ 'h264-mkv': {
6
+ audio: true,
7
+ video: true,
8
+ },
9
+ aac: {
10
+ audio: true,
11
+ video: false,
12
+ },
13
+ gif: {
14
+ video: true,
15
+ audio: false,
16
+ },
17
+ h264: {
18
+ video: true,
19
+ audio: true,
20
+ },
21
+ h265: {
22
+ video: true,
23
+ audio: true,
24
+ },
25
+ mp3: {
26
+ audio: true,
27
+ video: false,
28
+ },
29
+ prores: {
30
+ audio: true,
31
+ video: true,
32
+ },
33
+ vp8: {
34
+ audio: true,
35
+ video: true,
36
+ },
37
+ vp9: {
38
+ audio: true,
39
+ video: true,
40
+ },
41
+ wav: {
42
+ audio: true,
43
+ video: false,
44
+ },
45
+ };
46
+ const codecSupportsMedia = (codec) => {
47
+ return support[codec];
48
+ };
49
+ exports.codecSupportsMedia = codecSupportsMedia;
@@ -0,0 +1,4 @@
1
+ export declare const validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
2
+ export declare type Codec = typeof validCodecs[number];
3
+ export declare type CodecOrUndefined = Codec | undefined;
4
+ export declare const DEFAULT_CODEC: Codec;
package/dist/codec.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CODEC = exports.validCodecs = void 0;
4
+ exports.validCodecs = [
5
+ 'h264',
6
+ 'h265',
7
+ 'vp8',
8
+ 'vp9',
9
+ 'mp3',
10
+ 'aac',
11
+ 'wav',
12
+ 'prores',
13
+ 'h264-mkv',
14
+ 'gif',
15
+ ];
16
+ exports.DEFAULT_CODEC = 'h264';
@@ -1,9 +1,11 @@
1
- import { Codec } from 'remotion';
2
- export declare const combineVideos: ({ files, filelistDir, output, onProgress, numberOfFrames, codec, }: {
1
+ import type { Codec } from './codec';
2
+ export declare const combineVideos: ({ files, filelistDir, output, onProgress, numberOfFrames, codec, fps, numberOfGifLoops, }: {
3
3
  files: string[];
4
4
  filelistDir: string;
5
5
  output: string;
6
6
  onProgress: (p: number) => void;
7
7
  numberOfFrames: number;
8
8
  codec: Codec;
9
+ fps: number;
10
+ numberOfGifLoops: number | null;
9
11
  }) => Promise<void>;
@@ -8,30 +8,44 @@ exports.combineVideos = void 0;
8
8
  const execa_1 = __importDefault(require("execa"));
9
9
  const fs_1 = require("fs");
10
10
  const path_1 = require("path");
11
- const remotion_1 = require("remotion");
12
11
  const get_audio_codec_name_1 = require("./get-audio-codec-name");
12
+ const is_audio_codec_1 = require("./is-audio-codec");
13
13
  const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
14
- const combineVideos = async ({ files, filelistDir, output, onProgress, numberOfFrames, codec, }) => {
14
+ const truthy_1 = require("./truthy");
15
+ const combineVideos = async ({ files, filelistDir, output, onProgress, numberOfFrames, codec, fps, numberOfGifLoops, }) => {
15
16
  var _a;
16
17
  const fileList = files.map((p) => `file '${p}'`).join('\n');
17
18
  const fileListTxt = (0, path_1.join)(filelistDir, 'files.txt');
18
19
  (0, fs_1.writeFileSync)(fileListTxt, fileList);
19
20
  try {
20
21
  const task = (0, execa_1.default)('ffmpeg', [
22
+ (0, is_audio_codec_1.isAudioCodec)(codec) ? null : '-r',
23
+ (0, is_audio_codec_1.isAudioCodec)(codec) ? null : String(fps),
21
24
  '-f',
22
25
  'concat',
23
26
  '-safe',
24
27
  '0',
25
28
  '-i',
26
29
  fileListTxt,
27
- remotion_1.Internals.isAudioCodec(codec) ? null : '-c:v',
28
- remotion_1.Internals.isAudioCodec(codec) ? null : 'copy',
30
+ numberOfGifLoops === null ? null : '-loop',
31
+ numberOfGifLoops === null
32
+ ? null
33
+ : typeof numberOfGifLoops === 'number'
34
+ ? String(numberOfGifLoops)
35
+ : '-1',
36
+ (0, is_audio_codec_1.isAudioCodec)(codec) ? null : '-c:v',
37
+ (0, is_audio_codec_1.isAudioCodec)(codec) ? null : codec === 'gif' ? 'gif' : 'copy',
29
38
  '-c:a',
30
39
  (0, get_audio_codec_name_1.getAudioCodecName)(codec),
40
+ // Set max bitrate up to 1024kbps, will choose lower if that's too much
41
+ '-b:a',
42
+ '512K',
43
+ codec === 'h264' ? '-movflags' : null,
44
+ codec === 'h264' ? 'faststart' : null,
31
45
  '-shortest',
32
46
  '-y',
33
47
  output,
34
- ].filter(remotion_1.Internals.truthy));
48
+ ].filter(truthy_1.truthy));
35
49
  (_a = task.stderr) === null || _a === void 0 ? void 0 : _a.on('data', (data) => {
36
50
  if (onProgress) {
37
51
  const parsed = (0, parse_ffmpeg_progress_1.parseFfmpegProgress)(data.toString());
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Since audio or video can be base64-encoded, those can be really long strings.
3
+ * Since we track the `src` property for every frame, Node.JS can run out of memory easily. Instead of duplicating the src for every frame, we save memory by replacing the full base 64 encoded data with a string `same-as-[asset-id]-[frame]` referencing a previous asset with the same src.
4
+ */
5
+ import type { TAsset } from 'remotion';
6
+ export declare const compressAsset: (previousAssets: TAsset[], newAsset: TAsset) => TAsset;
7
+ export declare const isAssetCompressed: (src: string) => boolean;