@remotion/lambda 4.0.0-offthread.9 → 4.0.0-prefetch.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 (504) hide show
  1. package/dist/admin/bundle-lambda.js +1 -0
  2. package/dist/admin/make-layer-public.js +8 -8
  3. package/dist/api/bucket-exists.d.ts +1 -1
  4. package/dist/api/clean-items.d.ts +1 -1
  5. package/dist/api/create-bucket.d.ts +1 -1
  6. package/dist/api/create-function.d.ts +2 -2
  7. package/dist/api/delete-function.d.ts +1 -1
  8. package/dist/api/delete-site.d.ts +1 -1
  9. package/dist/api/deploy-function.d.ts +2 -2
  10. package/dist/api/deploy-function.js +4 -2
  11. package/dist/api/deploy-site.d.ts +3 -3
  12. package/dist/api/deploy-site.js +2 -3
  13. package/dist/api/download-media.d.ts +2 -2
  14. package/dist/api/enable-s3-website.d.ts +1 -1
  15. package/dist/api/estimate-price.d.ts +2 -2
  16. package/dist/api/get-aws-client.d.ts +2 -2
  17. package/dist/api/get-buckets.d.ts +1 -1
  18. package/dist/api/get-function-info.d.ts +2 -3
  19. package/dist/api/get-functions.d.ts +2 -2
  20. package/dist/api/get-functions.js +2 -1
  21. package/dist/api/get-or-create-bucket.d.ts +1 -1
  22. package/dist/api/get-regions.d.ts +1 -1
  23. package/dist/api/get-render-progress.d.ts +2 -2
  24. package/dist/api/get-render-progress.js +2 -0
  25. package/dist/api/get-sites.d.ts +2 -2
  26. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  27. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  28. package/dist/api/iam-validation/simulate.d.ts +2 -2
  29. package/dist/api/mock-functions.d.ts +6 -7
  30. package/dist/api/presign-url.d.ts +3 -2
  31. package/dist/api/presign-url.js +5 -0
  32. package/dist/api/render-media-on-lambda.d.ts +15 -8
  33. package/dist/api/render-media-on-lambda.js +58 -32
  34. package/dist/api/render-still-on-lambda.d.ts +9 -7
  35. package/dist/api/render-still-on-lambda.js +49 -31
  36. package/dist/api/upload-dir.d.ts +2 -2
  37. package/dist/api/upload-dir.js +5 -1
  38. package/dist/cli/args.d.ts +4 -3
  39. package/dist/cli/commands/functions/deploy.js +2 -1
  40. package/dist/cli/commands/render/progress.d.ts +4 -4
  41. package/dist/cli/commands/render/progress.js +11 -3
  42. package/dist/cli/commands/render/render.js +15 -10
  43. package/dist/cli/commands/sites/create.js +2 -3
  44. package/dist/cli/commands/sites/ls.js +1 -2
  45. package/dist/cli/commands/sites/rm.js +2 -3
  46. package/dist/cli/commands/sites/rmall.js +2 -3
  47. package/dist/cli/commands/still.js +2 -9
  48. package/dist/cli/get-aws-region.d.ts +1 -1
  49. package/dist/cli/get-aws-region.js +2 -1
  50. package/dist/cli/helpers/find-function-name.js +3 -2
  51. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
  52. package/dist/cli/helpers/progress-bar.js +1 -2
  53. package/dist/cli/index.js +1 -1
  54. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
  55. package/dist/functions/chunk-optimization/can-use-optimization.js +2 -2
  56. package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
  57. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +5 -2
  58. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
  59. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
  60. package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
  61. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
  62. package/dist/functions/chunk-optimization/optimize-profile.d.ts +9 -3
  63. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
  64. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
  65. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
  66. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  67. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +5 -2
  68. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
  69. package/dist/functions/chunk-optimization/types.d.ts +2 -2
  70. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  71. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  72. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  73. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  74. package/dist/functions/helpers/concat-videos.d.ts +5 -4
  75. package/dist/functions/helpers/concat-videos.js +2 -1
  76. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  77. package/dist/functions/helpers/create-post-render-data.js +12 -7
  78. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  79. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  80. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
  81. package/dist/functions/helpers/find-output-file-in-bucket.js +6 -0
  82. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  83. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  84. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  85. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  86. package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
  87. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  88. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
  89. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
  90. package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
  91. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
  92. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  93. package/dist/functions/helpers/get-progress.d.ts +2 -2
  94. package/dist/functions/helpers/get-progress.js +20 -10
  95. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  96. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  97. package/dist/functions/helpers/get-retry-stats.js +1 -1
  98. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  99. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  100. package/dist/functions/helpers/io.d.ts +13 -6
  101. package/dist/functions/helpers/io.js +16 -3
  102. package/dist/functions/helpers/min-max.d.ts +1 -1
  103. package/dist/functions/helpers/min-max.js +1 -1
  104. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  105. package/dist/functions/helpers/read-with-progress.d.ts +3 -2
  106. package/dist/functions/helpers/read-with-progress.js +13 -1
  107. package/dist/functions/helpers/validate-composition.d.ts +6 -4
  108. package/dist/functions/helpers/validate-composition.js +3 -1
  109. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  110. package/dist/functions/helpers/write-lambda-error.js +1 -0
  111. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  112. package/dist/functions/helpers/write-post-render-data.js +1 -0
  113. package/dist/functions/index.d.ts +3 -2
  114. package/dist/functions/index.js +14 -7
  115. package/dist/functions/info.d.ts +2 -2
  116. package/dist/functions/info.js +2 -1
  117. package/dist/functions/launch.d.ts +1 -1
  118. package/dist/functions/launch.js +69 -27
  119. package/dist/functions/progress.d.ts +1 -1
  120. package/dist/functions/progress.js +7 -0
  121. package/dist/functions/renderer.d.ts +1 -1
  122. package/dist/functions/renderer.js +105 -74
  123. package/dist/functions/start.d.ts +6 -2
  124. package/dist/functions/start.js +25 -3
  125. package/dist/functions/still.d.ts +1 -1
  126. package/dist/functions/still.js +21 -7
  127. package/dist/index.d.ts +33 -18
  128. package/dist/pricing/price-per-1-s.d.ts +1 -1
  129. package/dist/shared/aws-clients.d.ts +1 -1
  130. package/dist/shared/bundle-site.d.ts +1 -6
  131. package/dist/shared/call-lambda.d.ts +3 -3
  132. package/dist/shared/check-credentials.js +2 -2
  133. package/dist/shared/constants.d.ts +38 -17
  134. package/dist/shared/constants.js +8 -7
  135. package/dist/shared/content-disposition-header.d.ts +7 -0
  136. package/dist/shared/content-disposition-header.js +19 -0
  137. package/dist/shared/convert-to-serve-url.d.ts +1 -1
  138. package/dist/shared/get-account-id.d.ts +1 -1
  139. package/dist/shared/get-cloudwatch-stream-url.d.ts +8 -0
  140. package/dist/shared/get-cloudwatch-stream-url.js +7 -0
  141. package/dist/shared/get-function-version.d.ts +2 -3
  142. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  143. package/dist/shared/get-most-expensive-chunks.js +25 -0
  144. package/dist/shared/hosted-layers.d.ts +2 -2
  145. package/dist/shared/hosted-layers.js +80 -80
  146. package/dist/shared/is-in-lambda.js +5 -1
  147. package/dist/shared/lambda-version-string.d.ts +1 -0
  148. package/dist/shared/lambda-version-string.js +7 -0
  149. package/dist/shared/make-s3-url.d.ts +1 -1
  150. package/dist/shared/return-values.d.ts +7 -7
  151. package/dist/shared/return-values.js +0 -1
  152. package/dist/shared/stream-to-string.d.ts +1 -1
  153. package/dist/shared/truthy.d.ts +3 -0
  154. package/dist/shared/truthy.js +7 -0
  155. package/dist/shared/validate-aws-region.d.ts +1 -1
  156. package/dist/shared/validate-download-behavior.d.ts +1 -0
  157. package/dist/shared/validate-download-behavior.js +21 -0
  158. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  159. package/dist/shared/validate-lambda-codec.js +30 -0
  160. package/dist/shared/validate-outname.d.ts +1 -1
  161. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  162. package/dist/shared/validate-presign-expiration.js +7 -7
  163. package/dist/shared/validate-privacy.d.ts +1 -1
  164. package/dist/shared/validate-privacy.js +2 -2
  165. package/package.json +9 -11
  166. package/remotionlambda.zip +0 -0
  167. package/dist/admin/bundle-lambda.d.ts.map +0 -1
  168. package/dist/admin/bundle-lambda.js.map +0 -1
  169. package/dist/admin/make-layer-public.d.ts.map +0 -1
  170. package/dist/admin/make-layer-public.js.map +0 -1
  171. package/dist/api/bucket-exists.d.ts.map +0 -1
  172. package/dist/api/bucket-exists.js.map +0 -1
  173. package/dist/api/clean-items.d.ts.map +0 -1
  174. package/dist/api/clean-items.js.map +0 -1
  175. package/dist/api/create-bucket.d.ts.map +0 -1
  176. package/dist/api/create-bucket.js.map +0 -1
  177. package/dist/api/create-function.d.ts.map +0 -1
  178. package/dist/api/create-function.js.map +0 -1
  179. package/dist/api/delete-function.d.ts.map +0 -1
  180. package/dist/api/delete-function.js.map +0 -1
  181. package/dist/api/delete-site.d.ts.map +0 -1
  182. package/dist/api/delete-site.js.map +0 -1
  183. package/dist/api/deploy-function.d.ts.map +0 -1
  184. package/dist/api/deploy-function.js.map +0 -1
  185. package/dist/api/deploy-site.d.ts.map +0 -1
  186. package/dist/api/deploy-site.js.map +0 -1
  187. package/dist/api/download-media.d.ts.map +0 -1
  188. package/dist/api/download-media.js.map +0 -1
  189. package/dist/api/enable-s3-website.d.ts.map +0 -1
  190. package/dist/api/enable-s3-website.js.map +0 -1
  191. package/dist/api/estimate-price.d.ts.map +0 -1
  192. package/dist/api/estimate-price.js.map +0 -1
  193. package/dist/api/get-aws-client.d.ts.map +0 -1
  194. package/dist/api/get-aws-client.js.map +0 -1
  195. package/dist/api/get-buckets.d.ts.map +0 -1
  196. package/dist/api/get-buckets.js.map +0 -1
  197. package/dist/api/get-function-info.d.ts.map +0 -1
  198. package/dist/api/get-function-info.js.map +0 -1
  199. package/dist/api/get-functions.d.ts.map +0 -1
  200. package/dist/api/get-functions.js.map +0 -1
  201. package/dist/api/get-or-create-bucket.d.ts.map +0 -1
  202. package/dist/api/get-or-create-bucket.js.map +0 -1
  203. package/dist/api/get-regions.d.ts.map +0 -1
  204. package/dist/api/get-regions.js.map +0 -1
  205. package/dist/api/get-render-progress.d.ts.map +0 -1
  206. package/dist/api/get-render-progress.js.map +0 -1
  207. package/dist/api/get-sites.d.ts.map +0 -1
  208. package/dist/api/get-sites.js.map +0 -1
  209. package/dist/api/iam-validation/role-permissions.d.ts.map +0 -1
  210. package/dist/api/iam-validation/role-permissions.js.map +0 -1
  211. package/dist/api/iam-validation/simulate-rule.d.ts.map +0 -1
  212. package/dist/api/iam-validation/simulate-rule.js.map +0 -1
  213. package/dist/api/iam-validation/simulate.d.ts.map +0 -1
  214. package/dist/api/iam-validation/simulate.js.map +0 -1
  215. package/dist/api/iam-validation/suggested-policy.d.ts.map +0 -1
  216. package/dist/api/iam-validation/suggested-policy.js.map +0 -1
  217. package/dist/api/iam-validation/user-permissions.d.ts.map +0 -1
  218. package/dist/api/iam-validation/user-permissions.js.map +0 -1
  219. package/dist/api/mock-functions.d.ts.map +0 -1
  220. package/dist/api/mock-functions.js.map +0 -1
  221. package/dist/api/presign-url.d.ts.map +0 -1
  222. package/dist/api/presign-url.js.map +0 -1
  223. package/dist/api/render-media-on-lambda.d.ts.map +0 -1
  224. package/dist/api/render-media-on-lambda.js.map +0 -1
  225. package/dist/api/render-still-on-lambda.d.ts.map +0 -1
  226. package/dist/api/render-still-on-lambda.js.map +0 -1
  227. package/dist/api/upload-dir.d.ts.map +0 -1
  228. package/dist/api/upload-dir.js.map +0 -1
  229. package/dist/cli/args.d.ts.map +0 -1
  230. package/dist/cli/args.js.map +0 -1
  231. package/dist/cli/commands/functions/deploy.d.ts.map +0 -1
  232. package/dist/cli/commands/functions/deploy.js.map +0 -1
  233. package/dist/cli/commands/functions/index.d.ts.map +0 -1
  234. package/dist/cli/commands/functions/index.js.map +0 -1
  235. package/dist/cli/commands/functions/ls.d.ts.map +0 -1
  236. package/dist/cli/commands/functions/ls.js.map +0 -1
  237. package/dist/cli/commands/functions/rm.d.ts.map +0 -1
  238. package/dist/cli/commands/functions/rm.js.map +0 -1
  239. package/dist/cli/commands/functions/rmall.d.ts.map +0 -1
  240. package/dist/cli/commands/functions/rmall.js.map +0 -1
  241. package/dist/cli/commands/policies/policies.d.ts.map +0 -1
  242. package/dist/cli/commands/policies/policies.js.map +0 -1
  243. package/dist/cli/commands/policies/role.d.ts.map +0 -1
  244. package/dist/cli/commands/policies/role.js.map +0 -1
  245. package/dist/cli/commands/policies/user.d.ts.map +0 -1
  246. package/dist/cli/commands/policies/user.js.map +0 -1
  247. package/dist/cli/commands/policies/validate.d.ts.map +0 -1
  248. package/dist/cli/commands/policies/validate.js.map +0 -1
  249. package/dist/cli/commands/quotas/increase.d.ts.map +0 -1
  250. package/dist/cli/commands/quotas/increase.js.map +0 -1
  251. package/dist/cli/commands/quotas/index.d.ts.map +0 -1
  252. package/dist/cli/commands/quotas/index.js.map +0 -1
  253. package/dist/cli/commands/quotas/list.d.ts.map +0 -1
  254. package/dist/cli/commands/quotas/list.js.map +0 -1
  255. package/dist/cli/commands/regions.d.ts.map +0 -1
  256. package/dist/cli/commands/regions.js.map +0 -1
  257. package/dist/cli/commands/render/progress.d.ts.map +0 -1
  258. package/dist/cli/commands/render/progress.js.map +0 -1
  259. package/dist/cli/commands/render/render.d.ts.map +0 -1
  260. package/dist/cli/commands/render/render.js.map +0 -1
  261. package/dist/cli/commands/sites/create.d.ts.map +0 -1
  262. package/dist/cli/commands/sites/create.js.map +0 -1
  263. package/dist/cli/commands/sites/index.d.ts.map +0 -1
  264. package/dist/cli/commands/sites/index.js.map +0 -1
  265. package/dist/cli/commands/sites/ls.d.ts.map +0 -1
  266. package/dist/cli/commands/sites/ls.js.map +0 -1
  267. package/dist/cli/commands/sites/rm.d.ts.map +0 -1
  268. package/dist/cli/commands/sites/rm.js.map +0 -1
  269. package/dist/cli/commands/sites/rmall.d.ts.map +0 -1
  270. package/dist/cli/commands/sites/rmall.js.map +0 -1
  271. package/dist/cli/commands/still.d.ts.map +0 -1
  272. package/dist/cli/commands/still.js.map +0 -1
  273. package/dist/cli/get-aws-region.d.ts.map +0 -1
  274. package/dist/cli/get-aws-region.js.map +0 -1
  275. package/dist/cli/help.d.ts.map +0 -1
  276. package/dist/cli/help.js.map +0 -1
  277. package/dist/cli/helpers/confirm.d.ts.map +0 -1
  278. package/dist/cli/helpers/confirm.js.map +0 -1
  279. package/dist/cli/helpers/date-string.d.ts.map +0 -1
  280. package/dist/cli/helpers/date-string.js.map +0 -1
  281. package/dist/cli/helpers/find-function-name.d.ts.map +0 -1
  282. package/dist/cli/helpers/find-function-name.js.map +0 -1
  283. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  284. package/dist/cli/helpers/format-bytes.d.ts.map +0 -1
  285. package/dist/cli/helpers/format-bytes.js +0 -103
  286. package/dist/cli/helpers/format-bytes.js.map +0 -1
  287. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts.map +0 -1
  288. package/dist/cli/helpers/get-cloudwatch-stream-url.js.map +0 -1
  289. package/dist/cli/helpers/progress-bar.d.ts.map +0 -1
  290. package/dist/cli/helpers/progress-bar.js.map +0 -1
  291. package/dist/cli/helpers/quit.d.ts.map +0 -1
  292. package/dist/cli/helpers/quit.js.map +0 -1
  293. package/dist/cli/helpers/yes-or-no.d.ts.map +0 -1
  294. package/dist/cli/helpers/yes-or-no.js.map +0 -1
  295. package/dist/cli/index.d.ts.map +0 -1
  296. package/dist/cli/index.js.map +0 -1
  297. package/dist/cli/is-cli.d.ts.map +0 -1
  298. package/dist/cli/is-cli.js.map +0 -1
  299. package/dist/cli/log.d.ts.map +0 -1
  300. package/dist/cli/log.js.map +0 -1
  301. package/dist/client.d.ts.map +0 -1
  302. package/dist/client.js.map +0 -1
  303. package/dist/defaults.d.ts.map +0 -1
  304. package/dist/defaults.js.map +0 -1
  305. package/dist/functions/chunk-optimization/can-use-optimization.d.ts.map +0 -1
  306. package/dist/functions/chunk-optimization/can-use-optimization.js.map +0 -1
  307. package/dist/functions/chunk-optimization/collect-data.d.ts.map +0 -1
  308. package/dist/functions/chunk-optimization/collect-data.js.map +0 -1
  309. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts.map +0 -1
  310. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js.map +0 -1
  311. package/dist/functions/chunk-optimization/get-profile-duration.d.ts.map +0 -1
  312. package/dist/functions/chunk-optimization/get-profile-duration.js.map +0 -1
  313. package/dist/functions/chunk-optimization/is-valid-profile.d.ts.map +0 -1
  314. package/dist/functions/chunk-optimization/is-valid-profile.js.map +0 -1
  315. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts.map +0 -1
  316. package/dist/functions/chunk-optimization/optimize-invocation-order.js.map +0 -1
  317. package/dist/functions/chunk-optimization/optimize-profile.d.ts.map +0 -1
  318. package/dist/functions/chunk-optimization/optimize-profile.js.map +0 -1
  319. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts.map +0 -1
  320. package/dist/functions/chunk-optimization/plan-frame-ranges.js.map +0 -1
  321. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts.map +0 -1
  322. package/dist/functions/chunk-optimization/s3-optimization-file.js.map +0 -1
  323. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts.map +0 -1
  324. package/dist/functions/chunk-optimization/simulate-frame-ranges.js.map +0 -1
  325. package/dist/functions/chunk-optimization/sort-by-duration.d.ts.map +0 -1
  326. package/dist/functions/chunk-optimization/sort-by-duration.js.map +0 -1
  327. package/dist/functions/chunk-optimization/types.d.ts.map +0 -1
  328. package/dist/functions/chunk-optimization/types.js.map +0 -1
  329. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts.map +0 -1
  330. package/dist/functions/helpers/best-frames-per-lambda-param.js.map +0 -1
  331. package/dist/functions/helpers/calculate-chunk-times.d.ts.map +0 -1
  332. package/dist/functions/helpers/calculate-chunk-times.js.map +0 -1
  333. package/dist/functions/helpers/calculate-price-from-bucket.d.ts.map +0 -1
  334. package/dist/functions/helpers/calculate-price-from-bucket.js.map +0 -1
  335. package/dist/functions/helpers/clean-tmpdir.d.ts.map +0 -1
  336. package/dist/functions/helpers/clean-tmpdir.js.map +0 -1
  337. package/dist/functions/helpers/concat-videos.d.ts.map +0 -1
  338. package/dist/functions/helpers/concat-videos.js.map +0 -1
  339. package/dist/functions/helpers/create-post-render-data.d.ts.map +0 -1
  340. package/dist/functions/helpers/create-post-render-data.js.map +0 -1
  341. package/dist/functions/helpers/delete-chunks.d.ts.map +0 -1
  342. package/dist/functions/helpers/delete-chunks.js.map +0 -1
  343. package/dist/functions/helpers/expected-out-name.d.ts.map +0 -1
  344. package/dist/functions/helpers/expected-out-name.js.map +0 -1
  345. package/dist/functions/helpers/find-output-file-in-bucket.d.ts.map +0 -1
  346. package/dist/functions/helpers/find-output-file-in-bucket.js.map +0 -1
  347. package/dist/functions/helpers/format-costs-info.d.ts.map +0 -1
  348. package/dist/functions/helpers/format-costs-info.js.map +0 -1
  349. package/dist/functions/helpers/get-browser-instance.d.ts.map +0 -1
  350. package/dist/functions/helpers/get-browser-instance.js.map +0 -1
  351. package/dist/functions/helpers/get-chromium-executable-path.d.ts.map +0 -1
  352. package/dist/functions/helpers/get-chromium-executable-path.js.map +0 -1
  353. package/dist/functions/helpers/get-cleanup-progress.d.ts.map +0 -1
  354. package/dist/functions/helpers/get-cleanup-progress.js.map +0 -1
  355. package/dist/functions/helpers/get-current-architecture.d.ts.map +0 -1
  356. package/dist/functions/helpers/get-current-architecture.js.map +0 -1
  357. package/dist/functions/helpers/get-current-region.d.ts.map +0 -1
  358. package/dist/functions/helpers/get-current-region.js.map +0 -1
  359. package/dist/functions/helpers/get-encoding-metadata.d.ts.map +0 -1
  360. package/dist/functions/helpers/get-encoding-metadata.js.map +0 -1
  361. package/dist/functions/helpers/get-files-in-folder.d.ts.map +0 -1
  362. package/dist/functions/helpers/get-files-in-folder.js.map +0 -1
  363. package/dist/functions/helpers/get-files-to-delete.d.ts.map +0 -1
  364. package/dist/functions/helpers/get-files-to-delete.js.map +0 -1
  365. package/dist/functions/helpers/get-final-encoding-status.d.ts.map +0 -1
  366. package/dist/functions/helpers/get-final-encoding-status.js.map +0 -1
  367. package/dist/functions/helpers/get-folder-size.d.ts.map +0 -1
  368. package/dist/functions/helpers/get-folder-size.js.map +0 -1
  369. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts.map +0 -1
  370. package/dist/functions/helpers/get-lambdas-invoked-stats.js.map +0 -1
  371. package/dist/functions/helpers/get-output-url-from-metadata.d.ts.map +0 -1
  372. package/dist/functions/helpers/get-output-url-from-metadata.js.map +0 -1
  373. package/dist/functions/helpers/get-overall-progress.d.ts.map +0 -1
  374. package/dist/functions/helpers/get-overall-progress.js.map +0 -1
  375. package/dist/functions/helpers/get-post-render-data.d.ts.map +0 -1
  376. package/dist/functions/helpers/get-post-render-data.js.map +0 -1
  377. package/dist/functions/helpers/get-progress.d.ts.map +0 -1
  378. package/dist/functions/helpers/get-progress.js.map +0 -1
  379. package/dist/functions/helpers/get-render-metadata.d.ts.map +0 -1
  380. package/dist/functions/helpers/get-render-metadata.js.map +0 -1
  381. package/dist/functions/helpers/get-retry-stats.d.ts.map +0 -1
  382. package/dist/functions/helpers/get-retry-stats.js.map +0 -1
  383. package/dist/functions/helpers/get-time-to-finish.d.ts.map +0 -1
  384. package/dist/functions/helpers/get-time-to-finish.js.map +0 -1
  385. package/dist/functions/helpers/inspect-errors.d.ts.map +0 -1
  386. package/dist/functions/helpers/inspect-errors.js.map +0 -1
  387. package/dist/functions/helpers/io.d.ts.map +0 -1
  388. package/dist/functions/helpers/io.js.map +0 -1
  389. package/dist/functions/helpers/is-enosp-err.d.ts.map +0 -1
  390. package/dist/functions/helpers/is-enosp-err.js.map +0 -1
  391. package/dist/functions/helpers/is-warm.d.ts.map +0 -1
  392. package/dist/functions/helpers/is-warm.js.map +0 -1
  393. package/dist/functions/helpers/min-max.d.ts.map +0 -1
  394. package/dist/functions/helpers/min-max.js.map +0 -1
  395. package/dist/functions/helpers/print-cloudwatch-helper.d.ts.map +0 -1
  396. package/dist/functions/helpers/print-cloudwatch-helper.js.map +0 -1
  397. package/dist/functions/helpers/print-concurrency-curve.d.ts.map +0 -1
  398. package/dist/functions/helpers/print-concurrency-curve.js.map +0 -1
  399. package/dist/functions/helpers/read-with-progress.d.ts.map +0 -1
  400. package/dist/functions/helpers/read-with-progress.js.map +0 -1
  401. package/dist/functions/helpers/timer.d.ts.map +0 -1
  402. package/dist/functions/helpers/timer.js.map +0 -1
  403. package/dist/functions/helpers/validate-composition.d.ts.map +0 -1
  404. package/dist/functions/helpers/validate-composition.js.map +0 -1
  405. package/dist/functions/helpers/write-lambda-error.d.ts.map +0 -1
  406. package/dist/functions/helpers/write-lambda-error.js.map +0 -1
  407. package/dist/functions/helpers/write-post-render-data.d.ts.map +0 -1
  408. package/dist/functions/helpers/write-post-render-data.js.map +0 -1
  409. package/dist/functions/index.d.ts.map +0 -1
  410. package/dist/functions/index.js.map +0 -1
  411. package/dist/functions/info.d.ts.map +0 -1
  412. package/dist/functions/info.js.map +0 -1
  413. package/dist/functions/launch.d.ts.map +0 -1
  414. package/dist/functions/launch.js.map +0 -1
  415. package/dist/functions/progress.d.ts.map +0 -1
  416. package/dist/functions/progress.js.map +0 -1
  417. package/dist/functions/renderer.d.ts.map +0 -1
  418. package/dist/functions/renderer.js.map +0 -1
  419. package/dist/functions/start.d.ts.map +0 -1
  420. package/dist/functions/start.js.map +0 -1
  421. package/dist/functions/still.d.ts.map +0 -1
  422. package/dist/functions/still.js.map +0 -1
  423. package/dist/index.d.ts.map +0 -1
  424. package/dist/index.js.map +0 -1
  425. package/dist/internals.d.ts.map +0 -1
  426. package/dist/internals.js.map +0 -1
  427. package/dist/pricing/aws-regions.d.ts.map +0 -1
  428. package/dist/pricing/aws-regions.js.map +0 -1
  429. package/dist/pricing/price-per-1-s.d.ts.map +0 -1
  430. package/dist/pricing/price-per-1-s.js.map +0 -1
  431. package/dist/regions.d.ts.map +0 -1
  432. package/dist/regions.js.map +0 -1
  433. package/dist/shared/await.d.ts.map +0 -1
  434. package/dist/shared/await.js.map +0 -1
  435. package/dist/shared/aws-clients.d.ts.map +0 -1
  436. package/dist/shared/aws-clients.js.map +0 -1
  437. package/dist/shared/bundle-site.d.ts.map +0 -1
  438. package/dist/shared/bundle-site.js.map +0 -1
  439. package/dist/shared/call-lambda.d.ts.map +0 -1
  440. package/dist/shared/call-lambda.js.map +0 -1
  441. package/dist/shared/check-credentials.d.ts.map +0 -1
  442. package/dist/shared/check-credentials.js.map +0 -1
  443. package/dist/shared/chunk.d.ts +0 -1
  444. package/dist/shared/chunk.d.ts.map +0 -1
  445. package/dist/shared/chunk.js +0 -11
  446. package/dist/shared/chunk.js.map +0 -1
  447. package/dist/shared/constants.d.ts.map +0 -1
  448. package/dist/shared/constants.js.map +0 -1
  449. package/dist/shared/convert-to-serve-url.d.ts.map +0 -1
  450. package/dist/shared/convert-to-serve-url.js.map +0 -1
  451. package/dist/shared/docs-url.d.ts.map +0 -1
  452. package/dist/shared/docs-url.js.map +0 -1
  453. package/dist/shared/function-zip-path.d.ts.map +0 -1
  454. package/dist/shared/function-zip-path.js.map +0 -1
  455. package/dist/shared/get-account-id.d.ts.map +0 -1
  456. package/dist/shared/get-account-id.js.map +0 -1
  457. package/dist/shared/get-function-version.d.ts.map +0 -1
  458. package/dist/shared/get-function-version.js.map +0 -1
  459. package/dist/shared/hosted-layers.d.ts.map +0 -1
  460. package/dist/shared/hosted-layers.js.map +0 -1
  461. package/dist/shared/is-in-lambda.d.ts.map +0 -1
  462. package/dist/shared/is-in-lambda.js.map +0 -1
  463. package/dist/shared/make-s3-url.d.ts.map +0 -1
  464. package/dist/shared/make-s3-url.js.map +0 -1
  465. package/dist/shared/parse-lambda-initialized-key.d.ts.map +0 -1
  466. package/dist/shared/parse-lambda-initialized-key.js.map +0 -1
  467. package/dist/shared/parse-lambda-timings-key.d.ts.map +0 -1
  468. package/dist/shared/parse-lambda-timings-key.js.map +0 -1
  469. package/dist/shared/random-hash.d.ts.map +0 -1
  470. package/dist/shared/random-hash.js.map +0 -1
  471. package/dist/shared/return-values.d.ts.map +0 -1
  472. package/dist/shared/return-values.js.map +0 -1
  473. package/dist/shared/sleep.d.ts.map +0 -1
  474. package/dist/shared/sleep.js.map +0 -1
  475. package/dist/shared/stream-to-string.d.ts.map +0 -1
  476. package/dist/shared/stream-to-string.js.map +0 -1
  477. package/dist/shared/validate-architecture.d.ts.map +0 -1
  478. package/dist/shared/validate-architecture.js.map +0 -1
  479. package/dist/shared/validate-aws-region.d.ts.map +0 -1
  480. package/dist/shared/validate-aws-region.js.map +0 -1
  481. package/dist/shared/validate-bucketname.d.ts.map +0 -1
  482. package/dist/shared/validate-bucketname.js.map +0 -1
  483. package/dist/shared/validate-disk-size-in-mb.d.ts.map +0 -1
  484. package/dist/shared/validate-disk-size-in-mb.js.map +0 -1
  485. package/dist/shared/validate-frames-per-lambda.d.ts.map +0 -1
  486. package/dist/shared/validate-frames-per-lambda.js.map +0 -1
  487. package/dist/shared/validate-memory-size.d.ts.map +0 -1
  488. package/dist/shared/validate-memory-size.js.map +0 -1
  489. package/dist/shared/validate-outname.d.ts.map +0 -1
  490. package/dist/shared/validate-outname.js.map +0 -1
  491. package/dist/shared/validate-presign-expiration.d.ts.map +0 -1
  492. package/dist/shared/validate-presign-expiration.js.map +0 -1
  493. package/dist/shared/validate-privacy.d.ts.map +0 -1
  494. package/dist/shared/validate-privacy.js.map +0 -1
  495. package/dist/shared/validate-retention-period.d.ts.map +0 -1
  496. package/dist/shared/validate-retention-period.js.map +0 -1
  497. package/dist/shared/validate-retries.d.ts.map +0 -1
  498. package/dist/shared/validate-retries.js.map +0 -1
  499. package/dist/shared/validate-serveurl.d.ts.map +0 -1
  500. package/dist/shared/validate-serveurl.js.map +0 -1
  501. package/dist/shared/validate-site-name.d.ts.map +0 -1
  502. package/dist/shared/validate-site-name.js.map +0 -1
  503. package/dist/shared/validate-timeout.d.ts.map +0 -1
  504. package/dist/shared/validate-timeout.js.map +0 -1
@@ -19,7 +19,7 @@ const min = (arr) => {
19
19
  exports.min = min;
20
20
  const max = (arr) => {
21
21
  if (arr.length === 0) {
22
- throw new Error('Array of 0 length');
22
+ return null;
23
23
  }
24
24
  let biggest = arr[0];
25
25
  for (let i = 0; i < arr.length; i++) {
@@ -1,2 +1,2 @@
1
- import { LambdaRoutines } from '../../defaults';
2
- export declare const printCloudwatchHelper: (type: LambdaRoutines, data: Record<string, string>) => void;
1
+ import type { LambdaRoutines } from '../../defaults';
2
+ export declare const printCloudwatchHelper: (type: LambdaRoutines, data: Record<string, string | boolean>) => void;
@@ -1,8 +1,8 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
2
  export declare type LambdaReadFileProgress = (progress: {
3
3
  totalSize: number;
4
4
  downloaded: number;
5
- progress: number;
5
+ percent: number;
6
6
  }) => unknown;
7
7
  export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, }: {
8
8
  bucketName: string;
@@ -13,4 +13,5 @@ export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region,
13
13
  onProgress: LambdaReadFileProgress;
14
14
  }) => Promise<{
15
15
  sizeInBytes: number;
16
+ to: string;
16
17
  }>;
@@ -13,6 +13,18 @@ const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expecte
13
13
  Key: key,
14
14
  });
15
15
  const presigned = await (0, s3_request_presigner_1.getSignedUrl)(client, command);
16
- return renderer_1.RenderInternals.downloadFile(presigned, outputPath, onProgress);
16
+ const { to, sizeInBytes } = await renderer_1.RenderInternals.downloadFile({
17
+ url: presigned,
18
+ onProgress: ({ downloaded, percent, totalSize }) => {
19
+ // On Lambda, it should always be a number
20
+ onProgress({
21
+ downloaded,
22
+ percent: percent,
23
+ totalSize: totalSize,
24
+ });
25
+ },
26
+ to: () => outputPath,
27
+ });
28
+ return { sizeInBytes, to };
17
29
  };
18
30
  exports.lambdaDownloadFileWithProgress = lambdaDownloadFileWithProgress;
@@ -1,6 +1,6 @@
1
- import { ChromiumOptions, openBrowser } from '@remotion/renderer';
2
- import { FfmpegExecutable, TCompMetadata } from 'remotion';
3
- import { Await } from '../../shared/await';
1
+ import type { ChromiumOptions, DownloadMap, FfmpegExecutable, openBrowser } from '@remotion/renderer';
2
+ import type { TCompMetadata } from 'remotion';
3
+ import type { Await } from '../../shared/await';
4
4
  declare type ValidateCompositionOptions = {
5
5
  serveUrl: string;
6
6
  composition: string;
@@ -8,9 +8,11 @@ declare type ValidateCompositionOptions = {
8
8
  inputProps: unknown;
9
9
  envVariables: Record<string, string> | undefined;
10
10
  ffmpegExecutable: FfmpegExecutable;
11
+ ffprobeExecutable: FfmpegExecutable;
11
12
  timeoutInMilliseconds: number;
12
13
  chromiumOptions: ChromiumOptions;
13
14
  port: number | null;
15
+ downloadMap: DownloadMap;
14
16
  };
15
- export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
17
+ export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
16
18
  export {};
@@ -2,15 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateComposition = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, chromiumOptions, port, }) => {
5
+ const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }) => {
6
6
  const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
7
7
  puppeteerInstance: browserInstance,
8
8
  inputProps: inputProps,
9
9
  envVariables,
10
10
  ffmpegExecutable,
11
+ ffprobeExecutable,
11
12
  timeoutInMilliseconds,
12
13
  chromiumOptions,
13
14
  port,
15
+ downloadMap,
14
16
  });
15
17
  const found = compositions.find((c) => c.id === composition);
16
18
  if (!found) {
@@ -1,4 +1,4 @@
1
- import { FileNameAndSize } from './get-files-in-folder';
1
+ import type { FileNameAndSize } from './get-files-in-folder';
2
2
  export declare type LambdaErrorInfo = {
3
3
  type: 'renderer' | 'browser' | 'stitcher';
4
4
  message: string;
@@ -33,6 +33,7 @@ const writeLambdaError = async ({ bucketName, renderId, errorInfo, expectedBucke
33
33
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
34
34
  privacy: 'private',
35
35
  expectedBucketOwner,
36
+ downloadBehavior: null,
36
37
  });
37
38
  };
38
39
  exports.writeLambdaError = writeLambdaError;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../../pricing/aws-regions';
2
- import { PostRenderData } from '../../shared/constants';
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { PostRenderData } from '../../shared/constants';
3
3
  export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
4
4
  bucketName: string;
5
5
  renderId: string;
@@ -11,6 +11,7 @@ const writePostRenderData = async ({ bucketName, renderId, postRenderData, expec
11
11
  body: JSON.stringify(postRenderData),
12
12
  expectedBucketOwner,
13
13
  region,
14
+ downloadBehavior: null,
14
15
  });
15
16
  };
16
17
  exports.writePostRenderData = writePostRenderData;
@@ -1,5 +1,6 @@
1
- import { LambdaPayload, LambdaRoutines } from '../shared/constants';
2
- import { LambdaReturnValues } from '../shared/return-values';
1
+ import type { LambdaPayload } from '../shared/constants';
2
+ import { LambdaRoutines } from '../shared/constants';
3
+ import type { LambdaReturnValues } from '../shared/return-values';
3
4
  export declare const handler: <T extends LambdaRoutines>(params: LambdaPayload, context: {
4
5
  invokedFunctionArn: string;
5
6
  getRemainingTimeInMillis: () => number;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handler = void 0;
4
- const remotion_1 = require("remotion");
4
+ const renderer_1 = require("@remotion/renderer");
5
5
  const constants_1 = require("../shared/constants");
6
6
  const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
7
7
  const is_warm_1 = require("./helpers/is-warm");
@@ -9,11 +9,11 @@ const print_cloudwatch_helper_1 = require("./helpers/print-cloudwatch-helper");
9
9
  const info_1 = require("./info");
10
10
  const launch_1 = require("./launch");
11
11
  const progress_1 = require("./progress");
12
- const renderer_1 = require("./renderer");
12
+ const renderer_2 = require("./renderer");
13
13
  const start_1 = require("./start");
14
14
  const still_1 = require("./still");
15
15
  const handler = async (params, context) => {
16
- process.env.REMOTION_LAMBDA = 'true';
16
+ process.env.__RESERVED_IS_INSIDE_REMOTION_LAMBDA = 'true';
17
17
  const timeoutInMiliseconds = context.getRemainingTimeInMillis();
18
18
  if (!context || !context.invokedFunctionArn) {
19
19
  throw new Error('Lambda function unexpectedly does not have context.invokedFunctionArn');
@@ -25,6 +25,7 @@ const handler = async (params, context) => {
25
25
  if (params.type === constants_1.LambdaRoutines.still) {
26
26
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.still, {
27
27
  inputProps: JSON.stringify(params.inputProps),
28
+ isWarm,
28
29
  });
29
30
  return (0, still_1.stillHandler)(params, {
30
31
  expectedBucketOwner: currentUserId,
@@ -33,19 +34,22 @@ const handler = async (params, context) => {
33
34
  if (params.type === constants_1.LambdaRoutines.start) {
34
35
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.start, {
35
36
  inputProps: JSON.stringify(params.inputProps),
37
+ isWarm,
36
38
  });
37
- return (0, start_1.startHandler)(params);
39
+ return (0, start_1.startHandler)(params, { expectedBucketOwner: currentUserId });
38
40
  }
39
41
  if (params.type === constants_1.LambdaRoutines.launch) {
40
42
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.launch, {
41
43
  renderId: params.renderId,
42
44
  inputProps: JSON.stringify(params.inputProps),
45
+ isWarm,
43
46
  });
44
47
  return (0, launch_1.launchHandler)(params, { expectedBucketOwner: currentUserId });
45
48
  }
46
49
  if (params.type === constants_1.LambdaRoutines.status) {
47
50
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.status, {
48
51
  renderId: params.renderId,
52
+ isWarm,
49
53
  });
50
54
  return (0, progress_1.progressHandler)(params, {
51
55
  expectedBucketOwner: currentUserId,
@@ -56,16 +60,19 @@ const handler = async (params, context) => {
56
60
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
57
61
  renderId: params.renderId,
58
62
  chunk: String(params.chunk),
59
- dumpLogs: String(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
63
+ dumpLogs: String(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
60
64
  inputProps: JSON.stringify(params.inputProps),
65
+ isWarm,
61
66
  });
62
- return (0, renderer_1.rendererHandler)(params, {
67
+ return (0, renderer_2.rendererHandler)(params, {
63
68
  expectedBucketOwner: currentUserId,
64
69
  isWarm,
65
70
  });
66
71
  }
67
72
  if (params.type === constants_1.LambdaRoutines.info) {
68
- (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {});
73
+ (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {
74
+ isWarm,
75
+ });
69
76
  return (0, info_1.infoHandler)(params);
70
77
  }
71
78
  throw new Error(constants_1.COMMAND_NOT_FOUND);
@@ -1,4 +1,4 @@
1
- import { LambdaPayload, LambdaVersions } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  export declare const infoHandler: (lambdaParams: LambdaPayload) => Promise<{
3
- version: LambdaVersions;
3
+ version: string;
4
4
  }>;
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.infoHandler = void 0;
4
+ const version_1 = require("remotion/version");
4
5
  const constants_1 = require("../shared/constants");
5
6
  const infoHandler = (lambdaParams) => {
6
7
  if (lambdaParams.type !== constants_1.LambdaRoutines.info) {
7
8
  throw new TypeError('Expected info type');
8
9
  }
9
10
  const returnValue = {
10
- version: constants_1.CURRENT_VERSION,
11
+ version: version_1.VERSION,
11
12
  };
12
13
  return Promise.resolve(returnValue);
13
14
  };
@@ -1,4 +1,4 @@
1
- import { LambdaPayload } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  };
@@ -8,6 +8,7 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
8
8
  const renderer_1 = require("@remotion/renderer");
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const remotion_1 = require("remotion");
11
+ const version_1 = require("remotion/version");
11
12
  const aws_clients_1 = require("../shared/aws-clients");
12
13
  const constants_1 = require("../shared/constants");
13
14
  const docs_url_1 = require("../shared/docs-url");
@@ -39,6 +40,27 @@ const timer_1 = require("./helpers/timer");
39
40
  const validate_composition_1 = require("./helpers/validate-composition");
40
41
  const write_lambda_error_1 = require("./helpers/write-lambda-error");
41
42
  const write_post_render_data_1 = require("./helpers/write-post-render-data");
43
+ const callFunctionWithRetry = async (payload, retries = 0) => {
44
+ try {
45
+ await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
46
+ FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
47
+ // @ts-expect-error
48
+ Payload: JSON.stringify(payload),
49
+ InvocationType: 'Event',
50
+ }), {});
51
+ }
52
+ catch (err) {
53
+ if (err.name === 'ResourceConflictException') {
54
+ if (retries > 10) {
55
+ throw err;
56
+ }
57
+ await new Promise((resolve) => {
58
+ setTimeout(resolve, 1000);
59
+ });
60
+ return callFunctionWithRetry(payload, retries + 1);
61
+ }
62
+ }
63
+ };
42
64
  const innerLaunchHandler = async (params, options) => {
43
65
  var _a, _b;
44
66
  if (params.type !== constants_1.LambdaRoutines.launch) {
@@ -46,7 +68,7 @@ const innerLaunchHandler = async (params, options) => {
46
68
  }
47
69
  const startedDate = Date.now();
48
70
  const [browserInstance, optimization] = await Promise.all([
49
- (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'), params.chromiumOptions),
71
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
50
72
  (0, s3_optimization_file_1.getOptimization)({
51
73
  bucketName: params.bucketName,
52
74
  siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
@@ -55,6 +77,7 @@ const innerLaunchHandler = async (params, options) => {
55
77
  expectedBucketOwner: options.expectedBucketOwner,
56
78
  }),
57
79
  ]);
80
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
58
81
  const comp = await (0, validate_composition_1.validateComposition)({
59
82
  serveUrl: params.serveUrl,
60
83
  composition: params.composition,
@@ -62,19 +85,22 @@ const innerLaunchHandler = async (params, options) => {
62
85
  inputProps: params.inputProps,
63
86
  envVariables: params.envVariables,
64
87
  ffmpegExecutable: null,
88
+ ffprobeExecutable: null,
65
89
  timeoutInMilliseconds: params.timeoutInMilliseconds,
66
90
  chromiumOptions: params.chromiumOptions,
67
91
  port: null,
92
+ downloadMap,
68
93
  });
69
- remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to <Component />');
70
- remotion_1.Internals.validateFps(comp.fps, 'passed to <Component />');
71
- remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to <Component />');
72
- remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to <Component />');
94
+ remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
95
+ remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
96
+ remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
97
+ remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
98
+ renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
73
99
  const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(comp.durationInFrames, params.frameRange);
74
- const frameCount = renderer_1.RenderInternals.getDurationFromFrameRange(realFrameRange, 0);
75
- const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount);
100
+ const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
101
+ const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
76
102
  (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
77
- const chunkCount = Math.ceil(frameCount / framesPerLambda);
103
+ const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
78
104
  if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
79
105
  throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency for how this parameter is calculated.`);
80
106
  }
@@ -82,12 +108,12 @@ const innerLaunchHandler = async (params, options) => {
82
108
  (0, validate_privacy_1.validatePrivacy)(params.privacy);
83
109
  renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
84
110
  const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
85
- chunkCount,
86
111
  framesPerLambda,
87
112
  optimization,
88
113
  // TODO: Re-enable chunk optimization later
89
114
  shouldUseOptimization: false,
90
115
  frameRange: realFrameRange,
116
+ everyNthFrame: params.everyNthFrame,
91
117
  });
92
118
  const sortedChunks = chunks.slice().sort((a, b) => a[0] - b[0]);
93
119
  const invokers = Math.round(Math.sqrt(chunks.length));
@@ -109,18 +135,21 @@ const innerLaunchHandler = async (params, options) => {
109
135
  inputProps: params.inputProps,
110
136
  renderId: params.renderId,
111
137
  imageFormat: params.imageFormat,
112
- codec: params.codec,
138
+ codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
113
139
  crf: params.crf,
114
140
  envVariables: params.envVariables,
115
141
  pixelFormat: params.pixelFormat,
116
142
  proResProfile: params.proResProfile,
117
143
  quality: params.quality,
118
144
  privacy: params.privacy,
119
- logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
145
+ logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
120
146
  attempt: 1,
121
147
  timeoutInMilliseconds: params.timeoutInMilliseconds,
122
148
  chromiumOptions: params.chromiumOptions,
123
149
  scale: params.scale,
150
+ everyNthFrame: params.everyNthFrame,
151
+ concurrencyPerLambda: params.concurrencyPerLambda,
152
+ muted: params.muted,
124
153
  };
125
154
  return payload;
126
155
  });
@@ -143,7 +172,7 @@ const innerLaunchHandler = async (params, options) => {
143
172
  type: 'video',
144
173
  imageFormat: params.imageFormat,
145
174
  inputProps: params.inputProps,
146
- lambdaVersion: constants_1.CURRENT_VERSION,
175
+ lambdaVersion: version_1.VERSION,
147
176
  framesPerLambda,
148
177
  memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
149
178
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
@@ -157,22 +186,18 @@ const innerLaunchHandler = async (params, options) => {
157
186
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
158
187
  privacy: 'private',
159
188
  expectedBucketOwner: options.expectedBucketOwner,
189
+ downloadBehavior: null,
160
190
  });
161
191
  await Promise.all(lambdaPayloads.map(async (payload, index) => {
162
192
  const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
163
- await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
164
- FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
165
- // @ts-expect-error
166
- Payload: JSON.stringify(payload),
167
- InvocationType: 'Event',
168
- }), {});
193
+ await callFunctionWithRetry(payload);
169
194
  callingLambdaTimer.end();
170
195
  }));
171
196
  reqSend.end();
172
197
  let lastProgressUploaded = 0;
173
198
  let encodingStop = null;
174
199
  const onProgress = (framesEncoded, start) => {
175
- const relativeProgress = framesEncoded / frameCount;
200
+ const relativeProgress = framesEncoded / frameCount.length;
176
201
  const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
177
202
  if (relativeProgress === 1) {
178
203
  encodingStop = Date.now();
@@ -183,7 +208,7 @@ const innerLaunchHandler = async (params, options) => {
183
208
  lastProgressUploaded = relativeProgress;
184
209
  const encodingProgress = {
185
210
  framesEncoded,
186
- totalFrames: frameCount,
211
+ totalFrames: frameCount.length,
187
212
  doneIn: encodingStop ? encodingStop - start : null,
188
213
  timeToInvoke: null,
189
214
  };
@@ -194,6 +219,7 @@ const innerLaunchHandler = async (params, options) => {
194
219
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
195
220
  privacy: 'private',
196
221
  expectedBucketOwner: options.expectedBucketOwner,
222
+ downloadBehavior: null,
197
223
  }).catch((err) => {
198
224
  (0, write_lambda_error_1.writeLambdaError)({
199
225
  bucketName: params.bucketName,
@@ -215,16 +241,18 @@ const innerLaunchHandler = async (params, options) => {
215
241
  });
216
242
  });
217
243
  };
244
+ const fps = comp.fps / params.everyNthFrame;
218
245
  const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
219
246
  bucket: params.bucketName,
220
247
  expectedFiles: chunkCount,
221
248
  onProgress,
222
- numberOfFrames: frameCount,
249
+ numberOfFrames: frameCount.length,
223
250
  renderId: params.renderId,
224
251
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
225
252
  codec: params.codec,
226
253
  expectedBucketOwner: options.expectedBucketOwner,
227
- fps: comp.fps,
254
+ fps,
255
+ numberOfGifLoops: params.numberOfGifLoops,
228
256
  });
229
257
  if (!encodingStop) {
230
258
  encodingStop = Date.now();
@@ -238,6 +266,7 @@ const innerLaunchHandler = async (params, options) => {
238
266
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
239
267
  privacy: params.privacy,
240
268
  expectedBucketOwner: options.expectedBucketOwner,
269
+ downloadBehavior: params.downloadBehavior,
241
270
  });
242
271
  let chunkProm = Promise.resolve();
243
272
  // TODO: Enable in a later release
@@ -260,8 +289,9 @@ const innerLaunchHandler = async (params, options) => {
260
289
  newTiming: (0, get_profile_duration_1.getProfileDuration)(optimizedProfile),
261
290
  createdFromRenderId: params.renderId,
262
291
  framesPerLambda,
263
- lambdaVersion: constants_1.CURRENT_VERSION,
292
+ lambdaVersion: version_1.VERSION,
264
293
  frameRange: realFrameRange,
294
+ everyNthFrame: params.everyNthFrame,
265
295
  },
266
296
  expectedBucketOwner: options.expectedBucketOwner,
267
297
  compositionId: params.composition,
@@ -280,10 +310,16 @@ const innerLaunchHandler = async (params, options) => {
280
310
  }),
281
311
  ]);
282
312
  const finalEncodingProgress = {
283
- framesEncoded: frameCount,
284
- totalFrames: frameCount,
313
+ framesEncoded: frameCount.length,
314
+ totalFrames: frameCount.length,
285
315
  doneIn: encodingStop ? encodingStop - encodingStart : null,
286
- timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, params.renderId, renderMetadata.estimatedRenderLambdaInvokations, renderMetadata.startedDate).timeToInvokeLambdas,
316
+ timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
317
+ contents,
318
+ renderId: params.renderId,
319
+ estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
320
+ checkIfAllLambdasWereInvoked: false,
321
+ startDate: renderMetadata.startedDate,
322
+ }).timeToInvokeLambdas,
287
323
  };
288
324
  const finalEncodingProgressProm = (0, io_1.lambdaWriteFile)({
289
325
  bucketName: params.bucketName,
@@ -292,6 +328,7 @@ const innerLaunchHandler = async (params, options) => {
292
328
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
293
329
  privacy: 'private',
294
330
  expectedBucketOwner: options.expectedBucketOwner,
331
+ downloadBehavior: null,
295
332
  });
296
333
  const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
297
334
  contents,
@@ -310,7 +347,7 @@ const innerLaunchHandler = async (params, options) => {
310
347
  contents,
311
348
  jobs,
312
349
  });
313
- const postRenderData = await (0, create_post_render_data_1.createPostRenderData)({
350
+ const postRenderData = (0, create_post_render_data_1.createPostRenderData)({
314
351
  expectedBucketOwner: options.expectedBucketOwner,
315
352
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
316
353
  renderId: params.renderId,
@@ -334,6 +371,11 @@ const innerLaunchHandler = async (params, options) => {
334
371
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
335
372
  renderId: params.renderId,
336
373
  });
374
+ await (0, io_1.lambdaDeleteFile)({
375
+ bucketName: params.bucketName,
376
+ key: (0, constants_1.initalizedMetadataKey)(params.renderId),
377
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
378
+ });
337
379
  await Promise.all([cleanupChunksProm, fs_1.default.promises.rm(outfile)]);
338
380
  };
339
381
  const launchHandler = async (params, options) => {
@@ -1,4 +1,4 @@
1
- import { LambdaPayload, RenderProgress } from '../shared/constants';
1
+ import type { LambdaPayload, RenderProgress } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  timeoutInMiliseconds: number;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.progressHandler = void 0;
4
+ const version_1 = require("remotion/version");
4
5
  const constants_1 = require("../shared/constants");
5
6
  const get_current_region_1 = require("./helpers/get-current-region");
6
7
  const get_progress_1 = require("./helpers/get-progress");
@@ -8,6 +9,12 @@ const progressHandler = (lambdaParams, options) => {
8
9
  if (lambdaParams.type !== constants_1.LambdaRoutines.status) {
9
10
  throw new TypeError('Expected status type');
10
11
  }
12
+ if (lambdaParams.version !== version_1.VERSION) {
13
+ if (!lambdaParams.version) {
14
+ throw new Error(`Version mismatch: When calling getRenderProgress(), the deployed Lambda function had version ${version_1.VERSION} but the @remotion/lambda package is an older version. Align the versions.`);
15
+ }
16
+ throw new Error(`Version mismatch: When calling getRenderProgress(), get deployed Lambda function had version ${version_1.VERSION} and the @remotion/lambda package has version ${lambdaParams.version}. Align the versions.`);
17
+ }
11
18
  return (0, get_progress_1.getProgress)({
12
19
  bucketName: lambdaParams.bucketName,
13
20
  renderId: lambdaParams.renderId,
@@ -1,4 +1,4 @@
1
- import { LambdaPayload } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
4
  isWarm: boolean;