@remotion/lambda 4.0.0-preload.17 → 4.0.0-reorg.27

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 (352) hide show
  1. package/dist/admin/bundle-lambda.d.ts +0 -0
  2. package/dist/admin/bundle-lambda.js +1 -0
  3. package/dist/admin/make-layer-public.d.ts +0 -0
  4. package/dist/admin/make-layer-public.js +3 -3
  5. package/dist/api/bucket-exists.d.ts +1 -1
  6. package/dist/api/bucket-exists.js +0 -0
  7. package/dist/api/clean-items.d.ts +1 -1
  8. package/dist/api/clean-items.js +0 -0
  9. package/dist/api/create-bucket.d.ts +1 -1
  10. package/dist/api/create-bucket.js +0 -0
  11. package/dist/api/create-function.d.ts +4 -3
  12. package/dist/api/create-function.js +3 -2
  13. package/dist/api/delete-function.d.ts +1 -1
  14. package/dist/api/delete-function.js +0 -0
  15. package/dist/api/delete-site.d.ts +1 -1
  16. package/dist/api/delete-site.js +0 -0
  17. package/dist/api/deploy-function.d.ts +3 -2
  18. package/dist/api/deploy-function.js +3 -0
  19. package/dist/api/deploy-site.d.ts +3 -3
  20. package/dist/api/deploy-site.js +2 -3
  21. package/dist/api/download-media.d.ts +2 -2
  22. package/dist/api/download-media.js +0 -0
  23. package/dist/api/enable-s3-website.d.ts +1 -1
  24. package/dist/api/enable-s3-website.js +0 -0
  25. package/dist/api/estimate-price.d.ts +2 -2
  26. package/dist/api/estimate-price.js +0 -0
  27. package/dist/api/get-aws-client.d.ts +2 -2
  28. package/dist/api/get-aws-client.js +5 -1
  29. package/dist/api/get-buckets.d.ts +1 -1
  30. package/dist/api/get-buckets.js +0 -0
  31. package/dist/api/get-function-info.d.ts +2 -2
  32. package/dist/api/get-function-info.js +0 -0
  33. package/dist/api/get-functions.d.ts +2 -2
  34. package/dist/api/get-functions.js +0 -0
  35. package/dist/api/get-or-create-bucket.d.ts +1 -1
  36. package/dist/api/get-or-create-bucket.js +0 -0
  37. package/dist/api/get-regions.d.ts +1 -1
  38. package/dist/api/get-regions.js +0 -0
  39. package/dist/api/get-render-progress.d.ts +2 -2
  40. package/dist/api/get-render-progress.js +0 -0
  41. package/dist/api/get-sites.d.ts +2 -2
  42. package/dist/api/get-sites.js +0 -0
  43. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  44. package/dist/api/iam-validation/role-permissions.js +0 -0
  45. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  46. package/dist/api/iam-validation/simulate-rule.js +0 -0
  47. package/dist/api/iam-validation/simulate.d.ts +2 -2
  48. package/dist/api/iam-validation/simulate.js +0 -0
  49. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  50. package/dist/api/iam-validation/suggested-policy.js +0 -0
  51. package/dist/api/iam-validation/user-permissions.d.ts +0 -0
  52. package/dist/api/iam-validation/user-permissions.js +0 -0
  53. package/dist/api/mock-functions.d.ts +3 -3
  54. package/dist/api/mock-functions.js +0 -0
  55. package/dist/api/presign-url.d.ts +3 -2
  56. package/dist/api/presign-url.js +0 -0
  57. package/dist/api/render-media-on-lambda.d.ts +13 -8
  58. package/dist/api/render-media-on-lambda.js +12 -5
  59. package/dist/api/render-still-on-lambda.d.ts +7 -6
  60. package/dist/api/render-still-on-lambda.js +4 -4
  61. package/dist/api/upload-dir.d.ts +2 -2
  62. package/dist/api/upload-dir.js +2 -1
  63. package/dist/cli/args.d.ts +5 -3
  64. package/dist/cli/args.js +0 -0
  65. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  66. package/dist/cli/commands/functions/deploy.js +6 -2
  67. package/dist/cli/commands/functions/index.d.ts +0 -0
  68. package/dist/cli/commands/functions/index.js +0 -0
  69. package/dist/cli/commands/functions/ls.d.ts +0 -0
  70. package/dist/cli/commands/functions/ls.js +0 -0
  71. package/dist/cli/commands/functions/rm.d.ts +0 -0
  72. package/dist/cli/commands/functions/rm.js +0 -0
  73. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  74. package/dist/cli/commands/functions/rmall.js +0 -0
  75. package/dist/cli/commands/policies/policies.d.ts +0 -0
  76. package/dist/cli/commands/policies/policies.js +0 -0
  77. package/dist/cli/commands/policies/role.d.ts +0 -0
  78. package/dist/cli/commands/policies/role.js +0 -0
  79. package/dist/cli/commands/policies/user.d.ts +0 -0
  80. package/dist/cli/commands/policies/user.js +0 -0
  81. package/dist/cli/commands/policies/validate.d.ts +0 -0
  82. package/dist/cli/commands/policies/validate.js +0 -0
  83. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  84. package/dist/cli/commands/quotas/increase.js +0 -0
  85. package/dist/cli/commands/quotas/index.d.ts +0 -0
  86. package/dist/cli/commands/quotas/index.js +0 -0
  87. package/dist/cli/commands/quotas/list.d.ts +0 -0
  88. package/dist/cli/commands/quotas/list.js +0 -0
  89. package/dist/cli/commands/regions.d.ts +0 -0
  90. package/dist/cli/commands/regions.js +0 -0
  91. package/dist/cli/commands/render/progress.d.ts +4 -4
  92. package/dist/cli/commands/render/progress.js +11 -3
  93. package/dist/cli/commands/render/render.d.ts +0 -0
  94. package/dist/cli/commands/render/render.js +13 -3
  95. package/dist/cli/commands/sites/create.d.ts +0 -0
  96. package/dist/cli/commands/sites/create.js +2 -3
  97. package/dist/cli/commands/sites/index.d.ts +0 -0
  98. package/dist/cli/commands/sites/index.js +0 -0
  99. package/dist/cli/commands/sites/ls.d.ts +0 -0
  100. package/dist/cli/commands/sites/ls.js +1 -2
  101. package/dist/cli/commands/sites/rm.d.ts +0 -0
  102. package/dist/cli/commands/sites/rm.js +2 -3
  103. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  104. package/dist/cli/commands/sites/rmall.js +2 -3
  105. package/dist/cli/commands/still.d.ts +0 -0
  106. package/dist/cli/commands/still.js +1 -2
  107. package/dist/cli/get-aws-region.d.ts +1 -1
  108. package/dist/cli/get-aws-region.js +0 -0
  109. package/dist/cli/help.d.ts +0 -0
  110. package/dist/cli/help.js +0 -0
  111. package/dist/cli/helpers/confirm.d.ts +0 -0
  112. package/dist/cli/helpers/confirm.js +0 -0
  113. package/dist/cli/helpers/date-string.d.ts +0 -0
  114. package/dist/cli/helpers/date-string.js +0 -0
  115. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  116. package/dist/cli/helpers/find-function-name.js +0 -0
  117. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
  118. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -0
  119. package/dist/cli/helpers/progress-bar.d.ts +0 -0
  120. package/dist/cli/helpers/progress-bar.js +1 -2
  121. package/dist/cli/helpers/quit.d.ts +0 -0
  122. package/dist/cli/helpers/quit.js +0 -0
  123. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  124. package/dist/cli/helpers/yes-or-no.js +0 -0
  125. package/dist/cli/index.d.ts +0 -0
  126. package/dist/cli/index.js +10 -0
  127. package/dist/cli/is-cli.d.ts +0 -0
  128. package/dist/cli/is-cli.js +0 -0
  129. package/dist/cli/log.d.ts +0 -0
  130. package/dist/cli/log.js +0 -0
  131. package/dist/client.d.ts +0 -0
  132. package/dist/client.js +0 -0
  133. package/dist/defaults.d.ts +0 -0
  134. package/dist/defaults.js +5 -1
  135. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
  136. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -0
  137. package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
  138. package/dist/functions/chunk-optimization/collect-data.js +0 -0
  139. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +1 -1
  140. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -0
  141. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
  142. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -0
  143. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
  144. package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
  145. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
  146. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -0
  147. package/dist/functions/chunk-optimization/optimize-profile.d.ts +1 -1
  148. package/dist/functions/chunk-optimization/optimize-profile.js +0 -0
  149. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
  150. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
  151. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
  152. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  153. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +1 -1
  154. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -0
  155. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
  156. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -0
  157. package/dist/functions/chunk-optimization/types.d.ts +2 -1
  158. package/dist/functions/chunk-optimization/types.js +0 -0
  159. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  160. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  161. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  162. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  163. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  164. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  165. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  166. package/dist/functions/helpers/clean-tmpdir.js +0 -0
  167. package/dist/functions/helpers/concat-videos.d.ts +6 -4
  168. package/dist/functions/helpers/concat-videos.js +8 -2
  169. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  170. package/dist/functions/helpers/create-post-render-data.js +5 -5
  171. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  172. package/dist/functions/helpers/delete-chunks.js +0 -0
  173. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  174. package/dist/functions/helpers/expected-out-name.js +0 -0
  175. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
  176. package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
  177. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  178. package/dist/functions/helpers/format-costs-info.js +0 -0
  179. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  180. package/dist/functions/helpers/get-browser-instance.js +0 -0
  181. package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
  182. package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
  183. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  184. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  185. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  186. package/dist/functions/helpers/get-current-architecture.js +0 -0
  187. package/dist/functions/helpers/get-current-region.d.ts +0 -0
  188. package/dist/functions/helpers/get-current-region.js +0 -0
  189. package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
  190. package/dist/functions/helpers/get-encoding-metadata.js +0 -0
  191. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  192. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  193. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  194. package/dist/functions/helpers/get-files-to-delete.js +2 -2
  195. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
  196. package/dist/functions/helpers/get-final-encoding-status.js +0 -0
  197. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  198. package/dist/functions/helpers/get-folder-size.js +0 -0
  199. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +1 -1
  200. package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -0
  201. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
  202. package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
  203. package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
  204. package/dist/functions/helpers/get-overall-progress.js +0 -0
  205. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  206. package/dist/functions/helpers/get-post-render-data.js +0 -0
  207. package/dist/functions/helpers/get-progress.d.ts +2 -2
  208. package/dist/functions/helpers/get-progress.js +12 -10
  209. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  210. package/dist/functions/helpers/get-render-metadata.js +0 -0
  211. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  212. package/dist/functions/helpers/get-retry-stats.js +0 -0
  213. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  214. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  215. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  216. package/dist/functions/helpers/inspect-errors.js +0 -0
  217. package/dist/functions/helpers/io.d.ts +8 -6
  218. package/dist/functions/helpers/io.js +3 -1
  219. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  220. package/dist/functions/helpers/is-enosp-err.js +0 -0
  221. package/dist/functions/helpers/is-warm.d.ts +0 -0
  222. package/dist/functions/helpers/is-warm.js +0 -0
  223. package/dist/functions/helpers/min-max.d.ts +0 -0
  224. package/dist/functions/helpers/min-max.js +0 -0
  225. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  226. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  227. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  228. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  229. package/dist/functions/helpers/read-with-progress.d.ts +3 -2
  230. package/dist/functions/helpers/read-with-progress.js +13 -1
  231. package/dist/functions/helpers/timer.d.ts +0 -0
  232. package/dist/functions/helpers/timer.js +0 -0
  233. package/dist/functions/helpers/validate-composition.d.ts +5 -4
  234. package/dist/functions/helpers/validate-composition.js +2 -1
  235. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  236. package/dist/functions/helpers/write-lambda-error.js +1 -0
  237. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  238. package/dist/functions/helpers/write-post-render-data.js +1 -0
  239. package/dist/functions/index.d.ts +3 -2
  240. package/dist/functions/index.js +4 -4
  241. package/dist/functions/info.d.ts +1 -1
  242. package/dist/functions/info.js +0 -0
  243. package/dist/functions/launch.d.ts +1 -1
  244. package/dist/functions/launch.js +28 -16
  245. package/dist/functions/progress.d.ts +1 -1
  246. package/dist/functions/progress.js +0 -0
  247. package/dist/functions/renderer.d.ts +1 -1
  248. package/dist/functions/renderer.js +16 -11
  249. package/dist/functions/start.d.ts +1 -1
  250. package/dist/functions/start.js +5 -2
  251. package/dist/functions/still.d.ts +1 -1
  252. package/dist/functions/still.js +10 -6
  253. package/dist/index.d.ts +33 -18
  254. package/dist/index.js +0 -0
  255. package/dist/internals.d.ts +0 -0
  256. package/dist/internals.js +0 -0
  257. package/dist/pricing/aws-regions.d.ts +0 -0
  258. package/dist/pricing/aws-regions.js +0 -0
  259. package/dist/pricing/price-per-1-s.d.ts +1 -1
  260. package/dist/pricing/price-per-1-s.js +0 -0
  261. package/dist/regions.d.ts +0 -0
  262. package/dist/regions.js +0 -0
  263. package/dist/shared/await.d.ts +0 -0
  264. package/dist/shared/await.js +0 -0
  265. package/dist/shared/aws-clients.d.ts +1 -1
  266. package/dist/shared/aws-clients.js +0 -0
  267. package/dist/shared/bundle-site.d.ts +1 -1
  268. package/dist/shared/bundle-site.js +0 -0
  269. package/dist/shared/call-lambda.d.ts +3 -3
  270. package/dist/shared/call-lambda.js +0 -0
  271. package/dist/shared/check-credentials.d.ts +0 -0
  272. package/dist/shared/check-credentials.js +2 -2
  273. package/dist/shared/constants.d.ts +27 -11
  274. package/dist/shared/constants.js +1 -1
  275. package/dist/shared/content-disposition-header.d.ts +7 -0
  276. package/dist/shared/content-disposition-header.js +19 -0
  277. package/dist/shared/convert-to-serve-url.d.ts +1 -1
  278. package/dist/shared/convert-to-serve-url.js +0 -0
  279. package/dist/shared/docs-url.d.ts +0 -0
  280. package/dist/shared/docs-url.js +0 -0
  281. package/dist/shared/function-zip-path.d.ts +0 -0
  282. package/dist/shared/function-zip-path.js +0 -0
  283. package/dist/shared/get-account-id.d.ts +1 -1
  284. package/dist/shared/get-account-id.js +0 -0
  285. package/dist/shared/get-function-version.d.ts +2 -2
  286. package/dist/shared/get-function-version.js +0 -0
  287. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  288. package/dist/shared/get-most-expensive-chunks.js +25 -0
  289. package/dist/shared/hosted-layers.d.ts +2 -2
  290. package/dist/shared/hosted-layers.js +80 -80
  291. package/dist/shared/is-in-lambda.d.ts +0 -0
  292. package/dist/shared/is-in-lambda.js +0 -0
  293. package/dist/shared/make-s3-key.d.ts +1 -0
  294. package/dist/shared/make-s3-key.js +11 -0
  295. package/dist/shared/make-s3-url.d.ts +1 -1
  296. package/dist/shared/make-s3-url.js +0 -0
  297. package/dist/shared/p-limit.d.ts +0 -0
  298. package/dist/shared/p-limit.js +0 -0
  299. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  300. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  301. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  302. package/dist/shared/parse-lambda-timings-key.js +0 -0
  303. package/dist/shared/random-hash.d.ts +2 -2
  304. package/dist/shared/random-hash.js +1 -1
  305. package/dist/shared/return-values.d.ts +7 -7
  306. package/dist/shared/return-values.js +0 -1
  307. package/dist/shared/sleep.d.ts +0 -0
  308. package/dist/shared/sleep.js +0 -0
  309. package/dist/shared/stream-to-string.d.ts +2 -1
  310. package/dist/shared/stream-to-string.js +0 -0
  311. package/dist/shared/truthy.d.ts +3 -0
  312. package/dist/shared/truthy.js +7 -0
  313. package/dist/shared/validate-architecture.d.ts +0 -0
  314. package/dist/shared/validate-architecture.js +0 -0
  315. package/dist/shared/validate-aws-region.d.ts +1 -1
  316. package/dist/shared/validate-aws-region.js +0 -0
  317. package/dist/shared/validate-bucketname.d.ts +0 -0
  318. package/dist/shared/validate-bucketname.js +0 -0
  319. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  320. package/dist/shared/validate-custom-role-arn.js +11 -0
  321. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  322. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  323. package/dist/shared/validate-download-behavior.d.ts +1 -0
  324. package/dist/shared/validate-download-behavior.js +21 -0
  325. package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
  326. package/dist/shared/validate-frames-per-lambda.js +0 -0
  327. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  328. package/dist/shared/validate-lambda-codec.js +29 -0
  329. package/dist/shared/validate-memory-size.d.ts +0 -0
  330. package/dist/shared/validate-memory-size.js +0 -0
  331. package/dist/shared/validate-outname.d.ts +1 -1
  332. package/dist/shared/validate-outname.js +0 -0
  333. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  334. package/dist/shared/validate-presign-expiration.js +7 -7
  335. package/dist/shared/validate-privacy.d.ts +1 -1
  336. package/dist/shared/validate-privacy.js +0 -0
  337. package/dist/shared/validate-retention-period.d.ts +0 -0
  338. package/dist/shared/validate-retention-period.js +0 -0
  339. package/dist/shared/validate-retries.d.ts +0 -0
  340. package/dist/shared/validate-retries.js +0 -0
  341. package/dist/shared/validate-serveurl.d.ts +0 -0
  342. package/dist/shared/validate-serveurl.js +0 -0
  343. package/dist/shared/validate-site-name.d.ts +0 -0
  344. package/dist/shared/validate-site-name.js +0 -0
  345. package/dist/shared/validate-timeout.d.ts +0 -0
  346. package/dist/shared/validate-timeout.js +0 -0
  347. package/package.json +9 -12
  348. package/remotionlambda.zip +0 -0
  349. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  350. package/dist/cli/helpers/format-bytes.js +0 -103
  351. package/dist/shared/chunk.d.ts +0 -1
  352. package/dist/shared/chunk.js +0 -11
@@ -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;
File without changes
File without changes
@@ -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, 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,10 @@ 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;
14
15
  };
15
- export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
16
+ export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
16
17
  export {};
@@ -2,12 +2,13 @@
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, }) => {
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,
@@ -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,7 +9,7 @@ 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) => {
@@ -56,10 +56,10 @@ const handler = async (params, context) => {
56
56
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
57
57
  renderId: params.renderId,
58
58
  chunk: String(params.chunk),
59
- dumpLogs: String(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
59
+ dumpLogs: String(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')),
60
60
  inputProps: JSON.stringify(params.inputProps),
61
61
  });
62
- return (0, renderer_1.rendererHandler)(params, {
62
+ return (0, renderer_2.rendererHandler)(params, {
63
63
  expectedBucketOwner: currentUserId,
64
64
  isWarm,
65
65
  });
@@ -1,4 +1,4 @@
1
- import { LambdaPayload, LambdaVersions } from '../shared/constants';
1
+ import type { LambdaPayload, LambdaVersions } from '../shared/constants';
2
2
  export declare const infoHandler: (lambdaParams: LambdaPayload) => Promise<{
3
3
  version: LambdaVersions;
4
4
  }>;
File without changes
@@ -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
  };
@@ -46,7 +46,7 @@ const innerLaunchHandler = async (params, options) => {
46
46
  }
47
47
  const startedDate = Date.now();
48
48
  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),
49
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
50
50
  (0, s3_optimization_file_1.getOptimization)({
51
51
  bucketName: params.bucketName,
52
52
  siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
@@ -62,19 +62,21 @@ const innerLaunchHandler = async (params, options) => {
62
62
  inputProps: params.inputProps,
63
63
  envVariables: params.envVariables,
64
64
  ffmpegExecutable: null,
65
+ ffprobeExecutable: null,
65
66
  timeoutInMilliseconds: params.timeoutInMilliseconds,
66
67
  chromiumOptions: params.chromiumOptions,
67
68
  port: null,
68
69
  });
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 />');
70
+ remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
71
+ remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
72
+ remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
73
+ remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
74
+ renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
73
75
  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);
76
+ const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
77
+ const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
76
78
  (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
77
- const chunkCount = Math.ceil(frameCount / framesPerLambda);
79
+ const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
78
80
  if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
79
81
  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
82
  }
@@ -82,12 +84,12 @@ const innerLaunchHandler = async (params, options) => {
82
84
  (0, validate_privacy_1.validatePrivacy)(params.privacy);
83
85
  renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
84
86
  const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
85
- chunkCount,
86
87
  framesPerLambda,
87
88
  optimization,
88
89
  // TODO: Re-enable chunk optimization later
89
90
  shouldUseOptimization: false,
90
91
  frameRange: realFrameRange,
92
+ everyNthFrame: params.everyNthFrame,
91
93
  });
92
94
  const sortedChunks = chunks.slice().sort((a, b) => a[0] - b[0]);
93
95
  const invokers = Math.round(Math.sqrt(chunks.length));
@@ -109,18 +111,20 @@ const innerLaunchHandler = async (params, options) => {
109
111
  inputProps: params.inputProps,
110
112
  renderId: params.renderId,
111
113
  imageFormat: params.imageFormat,
112
- codec: params.codec,
114
+ codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
113
115
  crf: params.crf,
114
116
  envVariables: params.envVariables,
115
117
  pixelFormat: params.pixelFormat,
116
118
  proResProfile: params.proResProfile,
117
119
  quality: params.quality,
118
120
  privacy: params.privacy,
119
- logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
121
+ logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
120
122
  attempt: 1,
121
123
  timeoutInMilliseconds: params.timeoutInMilliseconds,
122
124
  chromiumOptions: params.chromiumOptions,
123
125
  scale: params.scale,
126
+ everyNthFrame: params.everyNthFrame,
127
+ concurrencyPerLambda: params.concurrencyPerLambda,
124
128
  };
125
129
  return payload;
126
130
  });
@@ -157,6 +161,7 @@ const innerLaunchHandler = async (params, options) => {
157
161
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
158
162
  privacy: 'private',
159
163
  expectedBucketOwner: options.expectedBucketOwner,
164
+ downloadBehavior: null,
160
165
  });
161
166
  await Promise.all(lambdaPayloads.map(async (payload, index) => {
162
167
  const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
@@ -172,7 +177,7 @@ const innerLaunchHandler = async (params, options) => {
172
177
  let lastProgressUploaded = 0;
173
178
  let encodingStop = null;
174
179
  const onProgress = (framesEncoded, start) => {
175
- const relativeProgress = framesEncoded / frameCount;
180
+ const relativeProgress = framesEncoded / frameCount.length;
176
181
  const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
177
182
  if (relativeProgress === 1) {
178
183
  encodingStop = Date.now();
@@ -183,7 +188,7 @@ const innerLaunchHandler = async (params, options) => {
183
188
  lastProgressUploaded = relativeProgress;
184
189
  const encodingProgress = {
185
190
  framesEncoded,
186
- totalFrames: frameCount,
191
+ totalFrames: frameCount.length,
187
192
  doneIn: encodingStop ? encodingStop - start : null,
188
193
  timeToInvoke: null,
189
194
  };
@@ -194,6 +199,7 @@ const innerLaunchHandler = async (params, options) => {
194
199
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
195
200
  privacy: 'private',
196
201
  expectedBucketOwner: options.expectedBucketOwner,
202
+ downloadBehavior: null,
197
203
  }).catch((err) => {
198
204
  (0, write_lambda_error_1.writeLambdaError)({
199
205
  bucketName: params.bucketName,
@@ -215,15 +221,18 @@ const innerLaunchHandler = async (params, options) => {
215
221
  });
216
222
  });
217
223
  };
224
+ const fps = comp.fps / params.everyNthFrame;
218
225
  const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
219
226
  bucket: params.bucketName,
220
227
  expectedFiles: chunkCount,
221
228
  onProgress,
222
- numberOfFrames: frameCount,
229
+ numberOfFrames: frameCount.length,
223
230
  renderId: params.renderId,
224
231
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
225
232
  codec: params.codec,
226
233
  expectedBucketOwner: options.expectedBucketOwner,
234
+ fps,
235
+ numberOfGifLoops: params.numberOfGifLoops,
227
236
  });
228
237
  if (!encodingStop) {
229
238
  encodingStop = Date.now();
@@ -237,6 +246,7 @@ const innerLaunchHandler = async (params, options) => {
237
246
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
238
247
  privacy: params.privacy,
239
248
  expectedBucketOwner: options.expectedBucketOwner,
249
+ downloadBehavior: params.downloadBehavior,
240
250
  });
241
251
  let chunkProm = Promise.resolve();
242
252
  // TODO: Enable in a later release
@@ -261,6 +271,7 @@ const innerLaunchHandler = async (params, options) => {
261
271
  framesPerLambda,
262
272
  lambdaVersion: constants_1.CURRENT_VERSION,
263
273
  frameRange: realFrameRange,
274
+ everyNthFrame: params.everyNthFrame,
264
275
  },
265
276
  expectedBucketOwner: options.expectedBucketOwner,
266
277
  compositionId: params.composition,
@@ -279,8 +290,8 @@ const innerLaunchHandler = async (params, options) => {
279
290
  }),
280
291
  ]);
281
292
  const finalEncodingProgress = {
282
- framesEncoded: frameCount,
283
- totalFrames: frameCount,
293
+ framesEncoded: frameCount.length,
294
+ totalFrames: frameCount.length,
284
295
  doneIn: encodingStop ? encodingStop - encodingStart : null,
285
296
  timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, params.renderId, renderMetadata.estimatedRenderLambdaInvokations, renderMetadata.startedDate).timeToInvokeLambdas,
286
297
  };
@@ -291,6 +302,7 @@ const innerLaunchHandler = async (params, options) => {
291
302
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
292
303
  privacy: 'private',
293
304
  expectedBucketOwner: options.expectedBucketOwner,
305
+ downloadBehavior: null,
294
306
  });
295
307
  const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
296
308
  contents,
@@ -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;
File without changes
@@ -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;
@@ -8,7 +8,6 @@ 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 path_1 = __importDefault(require("path"));
11
- const remotion_1 = require("remotion");
12
11
  const aws_clients_1 = require("../shared/aws-clients");
13
12
  const constants_1 = require("../shared/constants");
14
13
  const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
@@ -23,8 +22,7 @@ const renderHandler = async (params, options, logs) => {
23
22
  if (params.type !== constants_1.LambdaRoutines.renderer) {
24
23
  throw new Error('Params must be renderer');
25
24
  }
26
- remotion_1.Internals.Logging.setLogLevel(params.logLevel);
27
- const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
25
+ const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), (_a = params.chromiumOptions) !== null && _a !== void 0 ? _a : {});
28
26
  const outputPath = renderer_1.RenderInternals.tmpDir('remotion-render-');
29
27
  if (typeof params.chunk !== 'number') {
30
28
  throw new Error('must pass chunk');
@@ -41,6 +39,7 @@ const renderHandler = async (params, options, logs) => {
41
39
  };
42
40
  const outdir = renderer_1.RenderInternals.tmpDir(constants_1.RENDERER_PATH_TOKEN);
43
41
  const outputLocation = path_1.default.join(outdir, `localchunk-${String(params.chunk).padStart(8, '0')}.${renderer_1.RenderInternals.getFileExtensionFromCodec(params.codec, 'chunk')}`);
42
+ const chunkCodec = params.codec === 'gif' ? 'h264-mkv' : params.codec;
44
43
  await (0, renderer_1.renderMedia)({
45
44
  composition: {
46
45
  id: params.composition,
@@ -54,16 +53,16 @@ const renderHandler = async (params, options, logs) => {
54
53
  frameRange: params.frameRange,
55
54
  onProgress: ({ renderedFrames, encodedFrames, stitchStage }) => {
56
55
  if (renderedFrames % 10 === 0 &&
57
- remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
56
+ renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose')) {
58
57
  console.log(`Rendered ${renderedFrames} frames, encoded ${encodedFrames} frames, stage = ${stitchStage}`);
59
58
  }
60
- const duration = renderer_1.RenderInternals.getDurationFromFrameRange(params.frameRange, params.durationInFrames);
61
- if (renderedFrames === duration) {
59
+ const allFrames = renderer_1.RenderInternals.getFramesToRender(params.frameRange, params.everyNthFrame);
60
+ if (renderedFrames === allFrames.length) {
62
61
  console.log('Rendered all frames!');
63
62
  }
64
63
  chunkTimingData.timings[renderedFrames] = Date.now() - start;
65
64
  },
66
- parallelism: 1,
65
+ parallelism: params.concurrencyPerLambda,
67
66
  onStart: () => {
68
67
  (0, io_1.lambdaWriteFile)({
69
68
  privacy: 'private',
@@ -83,18 +82,20 @@ const renderHandler = async (params, options, logs) => {
83
82
  }),
84
83
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
85
84
  expectedBucketOwner: options.expectedBucketOwner,
85
+ downloadBehavior: null,
86
86
  });
87
87
  },
88
88
  puppeteerInstance: browserInstance,
89
89
  serveUrl: params.serveUrl,
90
90
  quality: params.quality,
91
91
  envVariables: params.envVariables,
92
- dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
92
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
93
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'),
93
94
  onBrowserLog: (log) => {
94
95
  logs.push(log);
95
96
  },
96
97
  outputLocation,
97
- codec: params.codec,
98
+ codec: chunkCodec,
98
99
  crf: (_b = params.crf) !== null && _b !== void 0 ? _b : undefined,
99
100
  ffmpegExecutable: process.env.NODE_ENV === 'test' ? null : '/opt/bin/ffmpeg',
100
101
  pixelFormat: params.pixelFormat,
@@ -108,6 +109,8 @@ const renderHandler = async (params, options, logs) => {
108
109
  scale: params.scale,
109
110
  timeoutInMilliseconds: params.timeoutInMilliseconds,
110
111
  port: null,
112
+ everyNthFrame: params.everyNthFrame,
113
+ numberOfGifLoops: null,
111
114
  });
112
115
  const endRendered = Date.now();
113
116
  console.log('Adding silent audio, chunk', params.chunk);
@@ -125,6 +128,7 @@ const renderHandler = async (params, options, logs) => {
125
128
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
126
129
  privacy: params.privacy,
127
130
  expectedBucketOwner: options.expectedBucketOwner,
131
+ downloadBehavior: null,
128
132
  });
129
133
  await Promise.all([
130
134
  fs_1.default.promises.rm(outputLocation, { recursive: true }),
@@ -132,15 +136,16 @@ const renderHandler = async (params, options, logs) => {
132
136
  (0, io_1.lambdaWriteFile)({
133
137
  bucketName: params.bucketName,
134
138
  body: JSON.stringify(condensedTimingData, null, 2),
135
- key: `${(0, constants_1.lambdaTimingsKey)({
139
+ key: (0, constants_1.lambdaTimingsKey)({
136
140
  renderId: params.renderId,
137
141
  chunk: params.chunk,
138
142
  rendered: endRendered,
139
143
  start,
140
- })}`,
144
+ }),
141
145
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
142
146
  privacy: 'private',
143
147
  expectedBucketOwner: options.expectedBucketOwner,
148
+ downloadBehavior: null,
144
149
  }),
145
150
  ]);
146
151
  };
@@ -1,4 +1,4 @@
1
- import { LambdaPayload } from '../shared/constants';
1
+ import type { LambdaPayload } from '../shared/constants';
2
2
  export declare const startHandler: (params: LambdaPayload) => Promise<{
3
3
  bucketName: string;
4
4
  renderId: string;
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startHandler = void 0;
4
4
  const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const remotion_1 = require("remotion");
6
5
  const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
7
6
  const aws_clients_1 = require("../shared/aws-clients");
8
7
  const constants_1 = require("../shared/constants");
@@ -34,12 +33,16 @@ const startHandler = async (params) => {
34
33
  quality: params.quality,
35
34
  maxRetries: params.maxRetries,
36
35
  privacy: params.privacy,
37
- logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL,
36
+ logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
38
37
  frameRange: params.frameRange,
39
38
  outName: params.outName,
40
39
  timeoutInMilliseconds: params.timeoutInMilliseconds,
41
40
  chromiumOptions: params.chromiumOptions,
42
41
  scale: params.scale,
42
+ numberOfGifLoops: params.numberOfGifLoops,
43
+ everyNthFrame: params.everyNthFrame,
44
+ concurrencyPerLambda: params.concurrencyPerLambda,
45
+ downloadBehavior: params.downloadBehavior,
43
46
  };
44
47
  await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
45
48
  FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
@@ -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,13 +8,13 @@ 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 path_1 = __importDefault(require("path"));
11
- const remotion_1 = require("remotion");
12
11
  const estimate_price_1 = require("../api/estimate-price");
13
12
  const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
14
13
  const aws_clients_1 = require("../shared/aws-clients");
15
14
  const constants_1 = require("../shared/constants");
16
15
  const make_s3_url_1 = require("../shared/make-s3-url");
17
16
  const random_hash_1 = require("../shared/random-hash");
17
+ const validate_download_behavior_1 = require("../shared/validate-download-behavior");
18
18
  const validate_outname_1 = require("../shared/validate-outname");
19
19
  const validate_privacy_1 = require("../shared/validate-privacy");
20
20
  const expected_out_name_1 = require("./helpers/expected-out-name");
@@ -27,10 +27,11 @@ const io_1 = require("./helpers/io");
27
27
  const validate_composition_1 = require("./helpers/validate-composition");
28
28
  const write_lambda_error_1 = require("./helpers/write-lambda-error");
29
29
  const innerStillHandler = async (lambdaParams, renderId, options) => {
30
- var _a, _b, _c;
30
+ var _a, _b;
31
31
  if (lambdaParams.type !== constants_1.LambdaRoutines.still) {
32
32
  throw new TypeError('Expected still type');
33
33
  }
34
+ (0, validate_download_behavior_1.validateDownloadBehavior)(lambdaParams.downloadBehavior);
34
35
  (0, validate_privacy_1.validatePrivacy)(lambdaParams.privacy);
35
36
  (0, validate_outname_1.validateOutname)(lambdaParams.outName);
36
37
  const start = Date.now();
@@ -38,7 +39,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
38
39
  (0, get_or_create_bucket_1.getOrCreateBucket)({
39
40
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
40
41
  }),
41
- (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel((_a = lambdaParams.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL, 'verbose'), (_b = lambdaParams.chromiumOptions) !== null && _b !== void 0 ? _b : {}),
42
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_a = lambdaParams.chromiumOptions) !== null && _a !== void 0 ? _a : {}),
42
43
  ]);
43
44
  const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
44
45
  const outputPath = path_1.default.join(outputDir, 'output');
@@ -49,6 +50,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
49
50
  inputProps: lambdaParams.inputProps,
50
51
  envVariables: lambdaParams.envVariables,
51
52
  ffmpegExecutable: null,
53
+ ffprobeExecutable: null,
52
54
  chromiumOptions: lambdaParams.chromiumOptions,
53
55
  timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
54
56
  port: null,
@@ -71,7 +73,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
71
73
  memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
72
74
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
73
75
  renderId,
74
- outName: (_c = lambdaParams.outName) !== null && _c !== void 0 ? _c : undefined,
76
+ outName: (_b = lambdaParams.outName) !== null && _b !== void 0 ? _b : undefined,
75
77
  };
76
78
  await (0, io_1.lambdaWriteFile)({
77
79
  bucketName,
@@ -80,6 +82,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
80
82
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
81
83
  privacy: 'private',
82
84
  expectedBucketOwner: options.expectedBucketOwner,
85
+ downloadBehavior: null,
83
86
  });
84
87
  await (0, renderer_1.renderStill)({
85
88
  composition,
@@ -97,15 +100,16 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
97
100
  scale: lambdaParams.scale,
98
101
  timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
99
102
  });
100
- const { key: outName, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
103
+ const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
101
104
  const { size } = await fs_1.default.promises.stat(outputPath);
102
105
  await (0, io_1.lambdaWriteFile)({
103
106
  bucketName: renderBucketName,
104
- key: outName,
107
+ key,
105
108
  privacy: lambdaParams.privacy,
106
109
  body: fs_1.default.createReadStream(outputPath),
107
110
  expectedBucketOwner: options.expectedBucketOwner,
108
111
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
112
+ downloadBehavior: lambdaParams.downloadBehavior,
109
113
  });
110
114
  await fs_1.default.promises.rm(outputPath, { recursive: true });
111
115
  const estimatedPrice = (0, estimate_price_1.estimatePrice)({