@remotion/cloudrun 4.0.423 → 4.0.425

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 (52) hide show
  1. package/dist/api/get-buckets.d.ts +1 -2
  2. package/dist/api/get-buckets.js +4 -1
  3. package/dist/api/get-regions.d.ts +1 -2
  4. package/dist/api/get-sites.d.ts +1 -1
  5. package/dist/api/helpers/parse-service-name.d.ts +3 -4
  6. package/dist/api/iam-validation/testPermissions.d.ts +1 -1
  7. package/dist/api/render-media-on-cloudrun.d.ts +37 -4
  8. package/dist/api/render-media-on-cloudrun.js +6 -2
  9. package/dist/api/render-still-on-cloudrun.d.ts +8 -6
  10. package/dist/api/render-still-on-cloudrun.js +21 -17
  11. package/dist/cli/commands/permissions.d.ts +1 -2
  12. package/dist/cli/commands/regions.d.ts +1 -2
  13. package/dist/cli/commands/render/helpers/renderArgsCheck.d.ts +2 -3
  14. package/dist/cli/commands/render/index.d.ts +1 -2
  15. package/dist/cli/commands/render/index.js +36 -7
  16. package/dist/cli/commands/services/deploy.d.ts +1 -2
  17. package/dist/cli/commands/services/index.d.ts +1 -2
  18. package/dist/cli/commands/services/ls.d.ts +1 -2
  19. package/dist/cli/commands/services/rm.d.ts +1 -2
  20. package/dist/cli/commands/services/rmall.d.ts +1 -2
  21. package/dist/cli/commands/sites/create.d.ts +1 -2
  22. package/dist/cli/commands/sites/index.d.ts +1 -2
  23. package/dist/cli/commands/sites/ls.d.ts +1 -2
  24. package/dist/cli/commands/sites/rm.d.ts +1 -2
  25. package/dist/cli/commands/sites/rmall.d.ts +1 -2
  26. package/dist/cli/commands/still.d.ts +1 -2
  27. package/dist/cli/commands/still.js +22 -5
  28. package/dist/cli/get-gcp-region.d.ts +1 -2
  29. package/dist/cli/help.d.ts +1 -2
  30. package/dist/cli/helpers/cloudrun-crash-logs.d.ts +8 -3
  31. package/dist/cli/helpers/make-console-url.d.ts +1 -2
  32. package/dist/cli/index.d.ts +1 -2
  33. package/dist/cli/index.js +2 -1
  34. package/dist/cli/log.js +1 -1
  35. package/dist/client.js +10 -10
  36. package/dist/functions/helpers/get-composition-from-body.d.ts +108 -2
  37. package/dist/functions/helpers/get-download-behavior-setting.d.ts +6 -2
  38. package/dist/functions/helpers/payloads.d.ts +107 -95
  39. package/dist/functions/helpers/payloads.js +4 -0
  40. package/dist/functions/index.d.ts +1 -1
  41. package/dist/functions/render-media-single-thread.d.ts +108 -2
  42. package/dist/functions/render-media-single-thread.js +20 -17
  43. package/dist/functions/render-still-single-thread.d.ts +108 -2
  44. package/dist/functions/render-still-single-thread.js +13 -10
  45. package/dist/index.d.ts +30 -15
  46. package/dist/internals.d.ts +1 -1
  47. package/dist/shared/random-hash.d.ts +1 -1
  48. package/dist/shared/read-dir.d.ts +1 -1
  49. package/dist/shared/validate-bucketname.d.ts +1 -2
  50. package/dist/shared/validate-gcp-codec.d.ts +1 -1
  51. package/dist/shared/validate-region.d.ts +1 -2
  52. package/package.json +10 -9
@@ -1,10 +1,9 @@
1
1
  import type { Bucket } from '@google-cloud/storage';
2
- import type { GcpRegion } from '../pricing/gcp-regions';
3
2
  /**
4
3
  * @description Get a list of all buckets that were created by Remotion.
5
4
  * @param params.region GCP region to check. If not passed, all regions will be checked.
6
5
  * @returns {Promise<Bucket[]>} List of buckets returned by GCP.
7
6
  */
8
- export declare const getRemotionStorageBuckets: (region: GcpRegion | "all regions") => Promise<{
7
+ export declare const getRemotionStorageBuckets: (region: "all regions" | "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4") => Promise<{
9
8
  remotionBuckets: Bucket[];
10
9
  }>;
@@ -14,7 +14,10 @@ const getRemotionStorageBuckets = async (region) => {
14
14
  if (!buckets) {
15
15
  return { remotionBuckets: [] };
16
16
  }
17
- let remotionBuckets = buckets.filter((b) => { var _a; return (_a = b.name) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.REMOTION_BUCKET_PREFIX); });
17
+ let remotionBuckets = buckets.filter((b) => {
18
+ var _a;
19
+ return (_a = b.name) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.REMOTION_BUCKET_PREFIX);
20
+ });
18
21
  if (region !== 'all regions') {
19
22
  remotionBuckets = buckets.filter((b) => {
20
23
  var _a;
@@ -1,2 +1 @@
1
- import type { GcpRegion } from '../pricing/gcp-regions';
2
- export declare const getRegions: () => readonly GcpRegion[];
1
+ export declare const getRegions: () => readonly ("asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4")[];
@@ -14,4 +14,4 @@ export type GetSitesOutput = {
14
14
  sites: Site[];
15
15
  buckets: BucketWithLocation[];
16
16
  };
17
- export declare const getSites: (region: GcpRegion | "all regions") => Promise<GetSitesOutput>;
17
+ export declare const getSites: (region: "all regions" | "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4") => Promise<GetSitesOutput>;
@@ -1,8 +1,7 @@
1
- import type { GcpRegion } from '../../pricing/gcp-regions';
2
- export declare const getGcpParent: (region: GcpRegion) => string;
3
- export declare const parseServiceName: (fullServiceName: string, region: GcpRegion) => {
1
+ export declare const getGcpParent: (region: "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4") => string;
2
+ export declare const parseServiceName: (fullServiceName: string, region: "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4") => {
4
3
  serviceName: string;
5
4
  remotionVersion: string;
6
- region: GcpRegion;
5
+ region: "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4";
7
6
  consoleUrl: string;
8
7
  };
@@ -9,5 +9,5 @@ type TestPermissionsInput = {
9
9
  type TestPermissionsOutput = {
10
10
  results: TestResult[];
11
11
  };
12
- export declare const testPermissions: (params?: TestPermissionsInput) => Promise<TestPermissionsOutput>;
12
+ export declare const testPermissions: (params?: TestPermissionsInput | undefined) => Promise<TestPermissionsOutput>;
13
13
  export {};
@@ -3,7 +3,7 @@ import { BrowserSafeApis } from '@remotion/renderer/client';
3
3
  import type { _InternalTypes } from 'remotion';
4
4
  import type { z } from 'zod';
5
5
  import type { Privacy } from '../defaults';
6
- import type { CloudRunCrashResponse, CloudRunPayload, DownloadBehavior, RenderMediaOnCloudrunOutput } from '../functions/helpers/payloads';
6
+ import type { CloudRunPayload, DownloadBehavior } from '../functions/helpers/payloads';
7
7
  import type { GcpRegion } from '../pricing/gcp-regions';
8
8
  import type { CloudrunCodec } from '../shared/validate-gcp-codec';
9
9
  type InternalRenderMediaOnCloudrun = {
@@ -29,6 +29,8 @@ type InternalRenderMediaOnCloudrun = {
29
29
  chromiumOptions: ChromiumOptions | undefined;
30
30
  forceWidth: number | null;
31
31
  forceHeight?: number | null;
32
+ forceFps?: number | null;
33
+ forceDurationInFrames?: number | null;
32
34
  concurrency: number | string | null;
33
35
  preferLossless: boolean | undefined;
34
36
  indent: boolean;
@@ -64,6 +66,8 @@ export type RenderMediaOnCloudrunInput = {
64
66
  chromiumOptions?: ChromiumOptions;
65
67
  forceWidth?: number | null;
66
68
  forceHeight?: number | null;
69
+ forceFps?: number | null;
70
+ forceDurationInFrames?: number | null;
67
71
  concurrency?: number | string | null;
68
72
  preferLossless?: boolean;
69
73
  downloadBehavior?: DownloadBehavior;
@@ -71,7 +75,36 @@ export type RenderMediaOnCloudrunInput = {
71
75
  renderIdOverride?: z.infer<typeof CloudRunPayload>['renderIdOverride'];
72
76
  renderStatusWebhook?: z.infer<typeof CloudRunPayload>['renderStatusWebhook'];
73
77
  } & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnCloudRun>>;
74
- declare const internalRenderMediaOnCloudrunRaw: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }: InternalRenderMediaOnCloudrun) => Promise<RenderMediaOnCloudrunOutput | CloudRunCrashResponse>;
75
- export declare const internalRenderMediaOnCloudrun: typeof internalRenderMediaOnCloudrunRaw;
76
- export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<RenderMediaOnCloudrunOutput | CloudRunCrashResponse>;
78
+ export declare const internalRenderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }: InternalRenderMediaOnCloudrun) => Promise<{
79
+ type: "crash";
80
+ cloudRunEndpoint: string;
81
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
82
+ requestStartTime: string;
83
+ requestCrashTime: string;
84
+ requestElapsedTimeInSeconds: number;
85
+ } | {
86
+ type: "success";
87
+ publicUrl?: string | null | undefined;
88
+ cloudStorageUri: string;
89
+ size: number;
90
+ bucketName: string;
91
+ renderId: string;
92
+ privacy: "project-private" | "public-read";
93
+ }>;
94
+ export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<{
95
+ type: "crash";
96
+ cloudRunEndpoint: string;
97
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
98
+ requestStartTime: string;
99
+ requestCrashTime: string;
100
+ requestElapsedTimeInSeconds: number;
101
+ } | {
102
+ type: "success";
103
+ publicUrl?: string | null | undefined;
104
+ cloudStorageUri: string;
105
+ size: number;
106
+ bucketName: string;
107
+ renderId: string;
108
+ privacy: "project-private" | "public-read";
109
+ }>;
77
110
  export {};
@@ -11,7 +11,7 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
11
11
  const get_or_create_bucket_1 = require("./get-or-create-bucket");
12
12
  const get_auth_client_for_url_1 = require("./helpers/get-auth-client-for-url");
13
13
  const get_cloudrun_endpoint_1 = require("./helpers/get-cloudrun-endpoint");
14
- const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }) => {
14
+ const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, renderIdOverride, renderStatusWebhook, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }) => {
15
15
  const actualCodec = (0, validate_gcp_codec_1.validateCloudrunCodec)(codec);
16
16
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
17
17
  if (privacy)
@@ -54,6 +54,8 @@ const internalRenderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, regi
54
54
  outName,
55
55
  forceWidth,
56
56
  forceHeight,
57
+ forceFps,
58
+ forceDurationInFrames,
57
59
  type: 'media',
58
60
  logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
59
61
  delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds !== null && delayRenderTimeoutInMilliseconds !== void 0 ? delayRenderTimeoutInMilliseconds : null,
@@ -138,7 +140,7 @@ exports.internalRenderMediaOnCloudrun = (0, error_handling_1.wrapWithErrorHandli
138
140
  * @description Initiates a media rendering process on the Remotion Cloud Run service, facilitating configurations like service region, project composition, and output settings.
139
141
  * @see [Documentation](https://remotion.dev/docs/cloudrun/rendermediaoncloudrun)
140
142
  */
141
- const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }) => {
143
+ const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, downloadBehavior, metadata, renderIdOverride, renderStatusWebhook, offthreadVideoThreads, mediaCacheSizeInBytes, }) => {
142
144
  return (0, exports.internalRenderMediaOnCloudrun)({
143
145
  cloudRunUrl: cloudRunUrl !== null && cloudRunUrl !== void 0 ? cloudRunUrl : undefined,
144
146
  serviceName: serviceName !== null && serviceName !== void 0 ? serviceName : undefined,
@@ -171,6 +173,8 @@ const renderMediaOnCloudrun = ({ cloudRunUrl, serviceName, region, serveUrl, com
171
173
  muted: muted !== null && muted !== void 0 ? muted : false,
172
174
  forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
173
175
  forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
176
+ forceFps: forceFps !== null && forceFps !== void 0 ? forceFps : null,
177
+ forceDurationInFrames: forceDurationInFrames !== null && forceDurationInFrames !== void 0 ? forceDurationInFrames : null,
174
178
  logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
175
179
  delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds !== null && delayRenderTimeoutInMilliseconds !== void 0 ? delayRenderTimeoutInMilliseconds : client_1.BrowserSafeApis.DEFAULT_TIMEOUT,
176
180
  concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : null,
@@ -22,6 +22,8 @@ type OptionalParameters = {
22
22
  chromiumOptions: ChromiumOptions;
23
23
  forceWidth: number | null;
24
24
  forceHeight: number | null;
25
+ forceFps: number | null;
26
+ forceDurationInFrames: number | null;
25
27
  indent: boolean;
26
28
  downloadBehavior: DownloadBehavior;
27
29
  renderIdOverride: z.infer<typeof CloudRunPayload>['renderIdOverride'];
@@ -29,22 +31,22 @@ type OptionalParameters = {
29
31
  } & ToOptions<typeof BrowserSafeApis.optionsMap.renderStillOnCloudRun>;
30
32
  export type RenderStillOnCloudrunInput = Partial<OptionalParameters> & MandatoryParameters;
31
33
  export declare const renderStillOnCloudrun: (options: RenderStillOnCloudrunInput) => Promise<{
32
- name: string;
33
- message: string;
34
34
  type: "error";
35
+ message: string;
36
+ name: string;
35
37
  stack: string;
36
38
  } | {
37
- bucketName: string;
38
39
  type: "success";
39
- privacy: "public-read" | "project-private";
40
+ publicUrl?: string | null | undefined;
40
41
  cloudStorageUri: string;
41
42
  size: number;
43
+ bucketName: string;
42
44
  renderId: string;
43
- publicUrl?: string | null | undefined;
45
+ privacy: "project-private" | "public-read";
44
46
  } | {
45
- message: "Service crashed without sending a response. Check the logs in GCP console.";
46
47
  type: "crash";
47
48
  cloudRunEndpoint: string;
49
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
48
50
  requestStartTime: string;
49
51
  requestCrashTime: string;
50
52
  requestElapsedTimeInSeconds: number;
@@ -35,7 +35,7 @@ const get_cloudrun_endpoint_1 = require("./helpers/get-cloudrun-endpoint");
35
35
  * @param params.metadata Metadata to be attached to the output file.
36
36
  * @returns {Promise<RenderStillOnCloudrunOutput>} See documentation for detailed structure
37
37
  */
38
- const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, forceBucketName, privacy, outName, imageFormat, envVariables, frame, jpegQuality, chromiumOptions, scale, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, downloadBehavior, renderIdOverride, renderStatusWebhook, mediaCacheSizeInBytes, }) => {
38
+ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, forceBucketName, privacy, outName, imageFormat, envVariables, frame, jpegQuality, chromiumOptions, scale, forceWidth, forceHeight, forceFps, forceDurationInFrames, logLevel, delayRenderTimeoutInMilliseconds, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, downloadBehavior, renderIdOverride, renderStatusWebhook, mediaCacheSizeInBytes, }) => {
39
39
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
40
40
  if (privacy)
41
41
  (0, validate_privacy_1.validatePrivacy)(privacy);
@@ -63,6 +63,8 @@ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region,
63
63
  scale,
64
64
  forceWidth,
65
65
  forceHeight,
66
+ forceFps,
67
+ forceDurationInFrames,
66
68
  frame,
67
69
  type: 'still',
68
70
  logLevel,
@@ -133,7 +135,7 @@ const internalRenderStillOnCloudRun = async ({ cloudRunUrl, serviceName, region,
133
135
  };
134
136
  const errorHandled = (0, error_handling_1.wrapWithErrorHandling)(internalRenderStillOnCloudRun);
135
137
  const renderStillOnCloudrun = (options) => {
136
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
138
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
137
139
  return errorHandled({
138
140
  chromiumOptions: (_a = options.chromiumOptions) !== null && _a !== void 0 ? _a : {},
139
141
  cloudRunUrl: (_b = options.cloudRunUrl) !== null && _b !== void 0 ? _b : null,
@@ -143,24 +145,26 @@ const renderStillOnCloudrun = (options) => {
143
145
  forceBucketName: (_e = options.forceBucketName) !== null && _e !== void 0 ? _e : null,
144
146
  forceHeight: (_f = options.forceHeight) !== null && _f !== void 0 ? _f : null,
145
147
  forceWidth: (_g = options.forceWidth) !== null && _g !== void 0 ? _g : null,
146
- frame: (_h = options.frame) !== null && _h !== void 0 ? _h : 0,
148
+ forceFps: (_h = options.forceFps) !== null && _h !== void 0 ? _h : null,
149
+ forceDurationInFrames: (_j = options.forceDurationInFrames) !== null && _j !== void 0 ? _j : null,
150
+ frame: (_k = options.frame) !== null && _k !== void 0 ? _k : 0,
147
151
  imageFormat: options.imageFormat,
148
- indent: (_j = options.indent) !== null && _j !== void 0 ? _j : false,
149
- inputProps: (_k = options.inputProps) !== null && _k !== void 0 ? _k : {},
150
- jpegQuality: (_l = options.jpegQuality) !== null && _l !== void 0 ? _l : client_1.BrowserSafeApis.DEFAULT_JPEG_QUALITY,
151
- logLevel: (_m = options.logLevel) !== null && _m !== void 0 ? _m : 'info',
152
- offthreadVideoCacheSizeInBytes: (_o = options.offthreadVideoCacheSizeInBytes) !== null && _o !== void 0 ? _o : null,
153
- offthreadVideoThreads: (_p = options.offthreadVideoThreads) !== null && _p !== void 0 ? _p : null,
154
- outName: (_q = options.outName) !== null && _q !== void 0 ? _q : null,
155
- privacy: (_r = options.privacy) !== null && _r !== void 0 ? _r : 'public',
152
+ indent: (_l = options.indent) !== null && _l !== void 0 ? _l : false,
153
+ inputProps: (_m = options.inputProps) !== null && _m !== void 0 ? _m : {},
154
+ jpegQuality: (_o = options.jpegQuality) !== null && _o !== void 0 ? _o : client_1.BrowserSafeApis.DEFAULT_JPEG_QUALITY,
155
+ logLevel: (_p = options.logLevel) !== null && _p !== void 0 ? _p : 'info',
156
+ offthreadVideoCacheSizeInBytes: (_q = options.offthreadVideoCacheSizeInBytes) !== null && _q !== void 0 ? _q : null,
157
+ offthreadVideoThreads: (_r = options.offthreadVideoThreads) !== null && _r !== void 0 ? _r : null,
158
+ outName: (_s = options.outName) !== null && _s !== void 0 ? _s : null,
159
+ privacy: (_t = options.privacy) !== null && _t !== void 0 ? _t : 'public',
156
160
  region: options.region,
157
- scale: (_s = options.scale) !== null && _s !== void 0 ? _s : 1,
161
+ scale: (_u = options.scale) !== null && _u !== void 0 ? _u : 1,
158
162
  serveUrl: options.serveUrl,
159
- serviceName: (_t = options.serviceName) !== null && _t !== void 0 ? _t : null,
160
- downloadBehavior: (_u = options.downloadBehavior) !== null && _u !== void 0 ? _u : { type: 'play-in-browser' },
161
- renderIdOverride: (_v = options.renderIdOverride) !== null && _v !== void 0 ? _v : undefined,
162
- renderStatusWebhook: (_w = options.renderStatusWebhook) !== null && _w !== void 0 ? _w : undefined,
163
- mediaCacheSizeInBytes: (_x = options.mediaCacheSizeInBytes) !== null && _x !== void 0 ? _x : null,
163
+ serviceName: (_v = options.serviceName) !== null && _v !== void 0 ? _v : null,
164
+ downloadBehavior: (_w = options.downloadBehavior) !== null && _w !== void 0 ? _w : { type: 'play-in-browser' },
165
+ renderIdOverride: (_x = options.renderIdOverride) !== null && _x !== void 0 ? _x : undefined,
166
+ renderStatusWebhook: (_y = options.renderStatusWebhook) !== null && _y !== void 0 ? _y : undefined,
167
+ mediaCacheSizeInBytes: (_z = options.mediaCacheSizeInBytes) !== null && _z !== void 0 ? _z : null,
164
168
  });
165
169
  };
166
170
  exports.renderStillOnCloudrun = renderStillOnCloudrun;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const PERMISSIONS_COMMAND = "permissions";
3
- export declare const permissionsCommand: (logLevel: LogLevel) => Promise<void>;
2
+ export declare const permissionsCommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const REGIONS_COMMAND = "regions";
3
- export declare const regionsCommand: (logLevel: LogLevel) => void;
2
+ export declare const regionsCommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
@@ -1,10 +1,9 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
- export declare const renderArgsCheck: (subcommand: string, args: string[], logLevel: LogLevel) => Promise<{
1
+ export declare const renderArgsCheck: (subcommand: string, args: string[], logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<{
3
2
  serveUrl: string;
4
3
  cloudRunUrl: any;
5
4
  outName: string | undefined;
6
5
  forceBucketName: any;
7
- privacy: import("../../../../shared/constants").Privacy;
6
+ privacy: import("../../../../defaults").Privacy;
8
7
  downloadName: string;
9
8
  region: "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4";
10
9
  }>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const RENDER_COMMAND = "render";
3
- export declare const renderCommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<void>;
2
+ export declare const renderCommand: (args: string[], remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -14,7 +14,7 @@ const cloudrun_crash_logs_1 = require("../../helpers/cloudrun-crash-logs");
14
14
  const log_1 = require("../../log");
15
15
  const renderArgsCheck_1 = require("./helpers/renderArgsCheck");
16
16
  exports.RENDER_COMMAND = 'render';
17
- const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, numberOfGifLoopsOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, metadataOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
17
+ const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, numberOfGifLoopsOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, metadataOption, mediaCacheSizeInBytesOption, darkModeOption, pixelFormatOption, browserExecutableOption, everyNthFrameOption, proResProfileOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, } = client_1.BrowserSafeApis.options;
18
18
  const renderCommand = async (args, remotionRoot, logLevel) => {
19
19
  var _a, _b, _c, _d;
20
20
  const { serveUrl, cloudRunUrl, outName, forceBucketName, downloadName, privacy, region, } = await (0, renderArgsCheck_1.renderArgsCheck)(exports.RENDER_COMMAND, args, logLevel);
@@ -27,13 +27,38 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
27
27
  uiCodec: null,
28
28
  compositionCodec: null,
29
29
  });
30
- const imageFormat = args_1.parsedCloudrunCli['image-format'];
31
- const audioCodec = args_1.parsedCloudrunCli['audio-codec'];
32
- const { envVariables, frameRange, inputProps, pixelFormat, proResProfile, everyNthFrame, height, width, browserExecutable, disableWebSecurity, ignoreCertificateErrors, userAgent, } = cli_1.CliInternals.getCliOptions({
30
+ const imageFormat = client_1.BrowserSafeApis.options.videoImageFormatOption.getValue({
31
+ commandLine: cli_1.CliInternals.parsedCli,
32
+ }).value;
33
+ const audioCodec = client_1.BrowserSafeApis.options.audioCodecOption.getValue({
34
+ commandLine: cli_1.CliInternals.parsedCli,
35
+ }).value;
36
+ const { envVariables, frameRange, inputProps, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
33
37
  isStill: false,
34
38
  logLevel,
35
39
  indent: false,
36
40
  });
41
+ const pixelFormat = pixelFormatOption.getValue({
42
+ commandLine: cli_1.CliInternals.parsedCli,
43
+ }).value;
44
+ const browserExecutable = browserExecutableOption.getValue({
45
+ commandLine: cli_1.CliInternals.parsedCli,
46
+ }).value;
47
+ const everyNthFrame = everyNthFrameOption.getValue({
48
+ commandLine: cli_1.CliInternals.parsedCli,
49
+ }).value;
50
+ const proResProfile = proResProfileOption.getValue({
51
+ commandLine: cli_1.CliInternals.parsedCli,
52
+ }).value;
53
+ const userAgent = userAgentOption.getValue({
54
+ commandLine: cli_1.CliInternals.parsedCli,
55
+ }).value;
56
+ const disableWebSecurity = disableWebSecurityOption.getValue({
57
+ commandLine: cli_1.CliInternals.parsedCli,
58
+ }).value;
59
+ const ignoreCertificateErrors = ignoreCertificateErrorsOption.getValue({
60
+ commandLine: cli_1.CliInternals.parsedCli,
61
+ }).value;
37
62
  const offthreadVideoCacheSizeInBytes = offthreadVideoCacheSizeInBytesOption.getValue({
38
63
  commandLine: cli_1.CliInternals.parsedCli,
39
64
  }).value;
@@ -94,13 +119,15 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
94
119
  chromiumOptions,
95
120
  envVariables,
96
121
  height,
122
+ width,
123
+ fps,
124
+ durationInFrames,
97
125
  indent,
98
126
  port: config_1.ConfigInternals.getRendererPortFromConfigFileAndCliFlag(),
99
127
  puppeteerInstance: undefined,
100
128
  serveUrlOrWebpackUrl: serveUrl,
101
129
  timeoutInMilliseconds: puppeteerTimeout,
102
130
  logLevel,
103
- width,
104
131
  server: await server,
105
132
  serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
106
133
  data: inputProps,
@@ -219,7 +246,7 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
219
246
  outName,
220
247
  updateRenderProgress,
221
248
  jpegQuality,
222
- audioCodec,
249
+ audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : undefined,
223
250
  audioBitrate,
224
251
  videoBitrate,
225
252
  encodingMaxRate,
@@ -228,7 +255,7 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
228
255
  x264Preset,
229
256
  crf,
230
257
  pixelFormat,
231
- imageFormat,
258
+ imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : undefined,
232
259
  scale,
233
260
  everyNthFrame,
234
261
  numberOfGifLoops,
@@ -238,6 +265,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
238
265
  muted,
239
266
  forceWidth: width,
240
267
  forceHeight: height,
268
+ forceFps: fps,
269
+ forceDurationInFrames: durationInFrames,
241
270
  logLevel,
242
271
  delayRenderTimeoutInMilliseconds: puppeteerTimeout,
243
272
  // Special case: Should not use default local concurrency, or from
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const CLOUD_RUN_DEPLOY_SUBCOMMAND = "deploy";
3
- export declare const cloudRunDeploySubcommand: (logLevel: LogLevel) => Promise<void>;
2
+ export declare const cloudRunDeploySubcommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,6 +1,5 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { ServiceInfo } from '../../../api/get-service-info';
3
2
  export declare const SERVICES_COMMAND = "services";
4
3
  export declare const LEFT_COL = 20;
5
4
  export declare const displayServiceInfo: (service: ServiceInfo) => string;
6
- export declare const servicesCommand: (args: string[], logLevel: LogLevel) => Promise<void> | undefined;
5
+ export declare const servicesCommand: (args: string[], logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void> | undefined;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SERVICES_LS_SUBCOMMAND = "ls";
3
- export declare const servicesLsCommand: (logLevel: LogLevel) => Promise<void>;
2
+ export declare const servicesLsCommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SERVICES_RM_SUBCOMMAND = "rm";
3
- export declare const servicesRmCommand: (args: string[], logLevel: LogLevel) => Promise<void>;
2
+ export declare const servicesRmCommand: (args: string[], logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SERVICES_RMALL_SUBCOMMAND = "rmall";
3
- export declare const servicesRmallCommand: (logLevel: LogLevel) => Promise<void>;
2
+ export declare const servicesRmallCommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SITES_CREATE_SUBCOMMAND = "create";
3
- export declare const sitesCreateSubcommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<void>;
2
+ export declare const sitesCreateSubcommand: (args: string[], remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,5 +1,4 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { Site } from '../../../api/get-sites';
3
2
  export declare const SITES_COMMAND = "sites";
4
3
  export declare const displaySiteInfo: (site: Site) => string;
5
- export declare const sitesCommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<boolean | void> | undefined;
4
+ export declare const sitesCommand: (args: string[], remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void | boolean> | undefined;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SITES_LS_SUBCOMMAND = "ls";
3
- export declare const sitesLsSubcommand: (logLevel: LogLevel) => Promise<boolean | void>;
2
+ export declare const sitesLsSubcommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void | boolean>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SITES_RM_COMMAND = "rm";
3
- export declare const sitesRmSubcommand: (args: string[], logLevel: LogLevel) => Promise<void>;
2
+ export declare const sitesRmSubcommand: (args: string[], logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const SITES_RMALL_COMMAND = "rmall";
3
- export declare const sitesRmallSubcommand: (logLevel: LogLevel) => Promise<void>;
2
+ export declare const sitesRmallSubcommand: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const STILL_COMMAND = "still";
3
- export declare const stillCommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<void>;
2
+ export declare const stillCommand: (args: string[], remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -13,15 +13,26 @@ const cloudrun_crash_logs_1 = require("../helpers/cloudrun-crash-logs");
13
13
  const log_1 = require("../log");
14
14
  const renderArgsCheck_1 = require("./render/helpers/renderArgsCheck");
15
15
  exports.STILL_COMMAND = 'still';
16
- const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, binariesDirectoryOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
16
+ const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, binariesDirectoryOption, mediaCacheSizeInBytesOption, darkModeOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, } = client_1.BrowserSafeApis.options;
17
17
  const stillCommand = async (args, remotionRoot, logLevel) => {
18
- var _a, _b;
19
18
  const { serveUrl, cloudRunUrl, outName, forceBucketName, privacy, downloadName, region, } = await (0, renderArgsCheck_1.renderArgsCheck)(exports.STILL_COMMAND, args, logLevel);
20
- const { envVariables, inputProps, stillFrame, height, width, browserExecutable, userAgent, disableWebSecurity, ignoreCertificateErrors, } = cli_1.CliInternals.getCliOptions({
19
+ const { envVariables, inputProps, stillFrame, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
21
20
  isStill: false,
22
21
  logLevel,
23
22
  indent: false,
24
23
  });
24
+ const browserExecutable = browserExecutableOption.getValue({
25
+ commandLine: cli_1.CliInternals.parsedCli,
26
+ }).value;
27
+ const userAgent = userAgentOption.getValue({
28
+ commandLine: cli_1.CliInternals.parsedCli,
29
+ }).value;
30
+ const disableWebSecurity = disableWebSecurityOption.getValue({
31
+ commandLine: cli_1.CliInternals.parsedCli,
32
+ }).value;
33
+ const ignoreCertificateErrors = ignoreCertificateErrorsOption.getValue({
34
+ commandLine: cli_1.CliInternals.parsedCli,
35
+ }).value;
25
36
  let composition = args[1];
26
37
  const enableMultiProcessOnLinux = enableMultiprocessOnLinuxOption.getValue({
27
38
  commandLine: cli_1.CliInternals.parsedCli,
@@ -91,6 +102,8 @@ const stillCommand = async (args, remotionRoot, logLevel) => {
91
102
  timeoutInMilliseconds: puppeteerTimeout,
92
103
  height,
93
104
  width,
105
+ fps,
106
+ durationInFrames,
94
107
  server: await server,
95
108
  offthreadVideoCacheSizeInBytes,
96
109
  binariesDirectory,
@@ -106,13 +119,15 @@ const stillCommand = async (args, remotionRoot, logLevel) => {
106
119
  });
107
120
  composition = compositionId;
108
121
  }
122
+ const { stillImageFormatOption } = client_1.BrowserSafeApis.options;
109
123
  const { format: imageFormat, source: imageFormatReason } = cli_1.CliInternals.determineFinalStillImageFormat({
110
124
  downloadName,
111
125
  outName: outName !== null && outName !== void 0 ? outName : null,
112
- cliFlag: (_a = cli_1.CliInternals.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
126
+ configuredImageFormat: stillImageFormatOption.getValue({
127
+ commandLine: cli_1.CliInternals.parsedCli,
128
+ }).value,
113
129
  isLambda: true,
114
130
  fromUi: null,
115
- configImageFormat: (_b = config_1.ConfigInternals.getUserPreferredStillImageFormat()) !== null && _b !== void 0 ? _b : null,
116
131
  });
117
132
  log_1.Log.verbose({ indent: false, logLevel }, `Image format: (${imageFormat}), ${imageFormatReason}`);
118
133
  // Todo: Check cloudRunUrl is valid, as the error message is obtuse
@@ -162,6 +177,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
162
177
  scale,
163
178
  forceHeight: height,
164
179
  forceWidth: width,
180
+ forceFps: fps,
181
+ forceDurationInFrames: durationInFrames,
165
182
  forceBucketName,
166
183
  outName,
167
184
  logLevel,
@@ -1,2 +1 @@
1
- import type { GcpRegion } from '../pricing/gcp-regions';
2
- export declare const getGcpRegion: () => GcpRegion;
1
+ export declare const getGcpRegion: () => "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4";
@@ -1,2 +1 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
- export declare const printHelp: (logLevel: LogLevel) => void;
1
+ export declare const printHelp: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
@@ -1,3 +1,8 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
- import type { CloudRunCrashResponse } from '../../functions/helpers/payloads';
3
- export declare const displayCrashLogs: (res: CloudRunCrashResponse, logLevel: LogLevel) => Promise<void>;
1
+ export declare const displayCrashLogs: (res: {
2
+ type: "crash";
3
+ cloudRunEndpoint: string;
4
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
5
+ requestStartTime: string;
6
+ requestCrashTime: string;
7
+ requestElapsedTimeInSeconds: number;
8
+ }, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
@@ -1,2 +1 @@
1
- import type { GcpRegion } from '../../pricing/gcp-regions';
2
- export declare const makeConsoleUrl: (region: GcpRegion, shortName: string) => string;
1
+ export declare const makeConsoleUrl: (region: "asia-east1" | "asia-east2" | "asia-northeast1" | "asia-northeast2" | "asia-northeast3" | "asia-south1" | "asia-south2" | "asia-southeast1" | "asia-southeast2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west2" | "europe-west3" | "europe-west4" | "europe-west6" | "europe-west8" | "europe-west9" | "me-west1" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "us-west2" | "us-west3" | "us-west4", shortName: string) => string;
@@ -1,2 +1 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
- export declare const executeCommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<void>;
1
+ export declare const executeCommand: (args: string[], remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<void>;
package/dist/cli/index.js CHANGED
@@ -45,7 +45,8 @@ const matchCommand = (args, remotionRoot, logLevel) => {
45
45
  (0, quit_1.quit)(1);
46
46
  };
47
47
  const executeCommand = async (args, remotionRoot, logLevel) => {
48
- var _a, _b;
48
+ var _a;
49
+ var _b;
49
50
  try {
50
51
  await matchCommand(args, remotionRoot, logLevel);
51
52
  }