@remotion/cloudrun 4.0.27 → 4.0.29

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.
@@ -1,13 +1,13 @@
1
1
 
2
- > @remotion/cloudrun@4.0.26 build /Users/jonathanburger/remotion/packages/cloudrun
2
+ > @remotion/cloudrun@4.0.28 build /Users/jonathanburger/remotion/packages/cloudrun
3
3
  > tsc -d && cp src/shared/sa-permissions.json dist/shared/sa-permissions.json && pnpm run buildContainer && pnpm run tarInstaller
4
4
 
5
5
 
6
- > @remotion/cloudrun@4.0.26 buildContainer /Users/jonathanburger/remotion/packages/cloudrun
6
+ > @remotion/cloudrun@4.0.28 buildContainer /Users/jonathanburger/remotion/packages/cloudrun
7
7
  > ts-node src/admin/bundle-renderLogic.ts
8
8
 
9
9
  distribution bundled.
10
10
 
11
- > @remotion/cloudrun@4.0.26 tarInstaller /Users/jonathanburger/remotion/packages/cloudrun
11
+ > @remotion/cloudrun@4.0.28 tarInstaller /Users/jonathanburger/remotion/packages/cloudrun
12
12
  > ts-node src/admin/bundle-installer.ts
13
13
 
@@ -1,4 +1,4 @@
1
- import type { AudioCodec, ChromiumOptions, FrameRange, LogLevel, PixelFormat, ProResProfile, ToOptions, VideoImageFormat, X264Preset } from '@remotion/renderer';
1
+ import type { AudioCodec, ChromiumOptions, ColorSpace, FrameRange, LogLevel, PixelFormat, ProResProfile, ToOptions, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import type { BrowserSafeApis } from '@remotion/renderer/client';
3
3
  import type { CloudRunCrashResponse, RenderMediaOnCloudrunOutput } from '../functions/helpers/payloads';
4
4
  import type { GcpRegion } from '../pricing/gcp-regions';
@@ -38,6 +38,7 @@ export type RenderMediaOnCloudrunInput = {
38
38
  concurrency?: number | string | null;
39
39
  enforceAudioTrack?: boolean;
40
40
  preferLossless?: boolean;
41
+ colorSpace?: ColorSpace;
41
42
  } & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnLambda>>;
42
43
  /**
43
44
  * @description Triggers a render on a GCP Cloud Run service given a composition and a Cloud Run URL.
@@ -78,4 +79,4 @@ export type RenderMediaOnCloudrunInput = {
78
79
  * @param params.preferLossless Uses a lossless audio codec, if one is available for the codec. If you set audioCodec, it takes priority over preferLossless.
79
80
  * @returns {Promise<RenderMediaOnCloudrunOutput>} See documentation for detailed structure
80
81
  */
81
- export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, }: RenderMediaOnCloudrunInput) => Promise<RenderMediaOnCloudrunOutput | CloudRunCrashResponse>;
82
+ export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, }: RenderMediaOnCloudrunInput) => Promise<RenderMediaOnCloudrunOutput | CloudRunCrashResponse>;
@@ -10,7 +10,7 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
10
10
  const get_or_create_bucket_1 = require("./get-or-create-bucket");
11
11
  const get_auth_client_for_url_1 = require("./helpers/get-auth-client-for-url");
12
12
  const get_cloudrun_endpoint_1 = require("./helpers/get-cloudrun-endpoint");
13
- const renderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, }) => {
13
+ const renderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serveUrl, composition, inputProps, codec, forceBucketName, privacy, outName, updateRenderProgress, jpegQuality, audioCodec, audioBitrate, videoBitrate, proResProfile, x264Preset, crf, pixelFormat, imageFormat, scale, everyNthFrame, numberOfGifLoops, frameRange, envVariables, chromiumOptions, muted, forceWidth, forceHeight, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, colorSpace, }) => {
14
14
  const actualCodec = (0, validate_gcp_codec_1.validateCloudrunCodec)(codec);
15
15
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
16
16
  if (privacy)
@@ -58,6 +58,7 @@ const renderMediaOnCloudrunRaw = async ({ cloudRunUrl, serviceName, region, serv
58
58
  enforceAudioTrack: enforceAudioTrack !== null && enforceAudioTrack !== void 0 ? enforceAudioTrack : false,
59
59
  preferLossless: preferLossless !== null && preferLossless !== void 0 ? preferLossless : false,
60
60
  offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
61
+ colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : 'default',
61
62
  };
62
63
  const client = await (0, get_auth_client_for_url_1.getAuthClientForUrl)(cloudRunEndpoint);
63
64
  const postResponse = await client.request({
package/dist/cli/log.d.ts CHANGED
@@ -2,24 +2,24 @@ export declare const Log: {
2
2
  verbose: (message?: any, ...optionalParams: any[]) => void;
3
3
  verboseAdvanced: (options: {
4
4
  indent: boolean;
5
- logLevel: "error" | "verbose" | "info" | "warn";
5
+ logLevel: "verbose" | "info" | "warn" | "error";
6
6
  } & {
7
7
  tag?: string | undefined;
8
8
  }, message?: any, ...optionalParams: any[]) => void;
9
9
  info: (message?: any, ...optionalParams: any[]) => void;
10
10
  infoAdvanced: (options: {
11
11
  indent: boolean;
12
- logLevel: "error" | "verbose" | "info" | "warn";
12
+ logLevel: "verbose" | "info" | "warn" | "error";
13
13
  }, message?: any, ...optionalParams: any[]) => void;
14
14
  warn: (message?: any, ...optionalParams: any[]) => void;
15
15
  warnAdvanced: (options: {
16
16
  indent: boolean;
17
- logLevel: "error" | "verbose" | "info" | "warn";
17
+ logLevel: "verbose" | "info" | "warn" | "error";
18
18
  }, message?: any, ...optionalParams: any[]) => void;
19
19
  error: (message?: any, ...optionalParams: any[]) => void;
20
20
  errorAdvanced: (options: {
21
21
  indent: boolean;
22
- logLevel: "error" | "verbose" | "info" | "warn";
22
+ logLevel: "verbose" | "info" | "warn" | "error";
23
23
  } & {
24
24
  tag?: string | undefined;
25
25
  }, message?: any, ...optionalParams: any[]) => void;
@@ -50,34 +50,36 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
50
50
  enforceAudioTrack: z.ZodBoolean;
51
51
  preferLossless: z.ZodBoolean;
52
52
  offthreadVideoCacheSizeInBytes: z.ZodNullable<z.ZodNumber>;
53
+ colorSpace: z.ZodEnum<["default", "bt709"]>;
53
54
  }, "strip", z.ZodTypeAny, {
54
- type: "media";
55
55
  serveUrl: string;
56
+ envVariables: Record<string, string>;
57
+ jpegQuality: number;
58
+ scale: number;
59
+ logLevel: "verbose" | "info" | "warn" | "error";
60
+ offthreadVideoCacheSizeInBytes: number | null;
61
+ type: "media";
56
62
  composition: string;
63
+ imageFormat: "png" | "jpeg" | "none";
64
+ delayRenderTimeoutInMilliseconds: number;
57
65
  codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
58
- serializedInputPropsWithCustomSchema: string;
59
- jpegQuality: number;
60
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
61
- audioBitrate: string | null;
62
- videoBitrate: string | null;
63
66
  crf: number | null;
67
+ frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
64
68
  pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
65
- imageFormat: "png" | "jpeg" | "none";
66
- scale: number;
67
69
  proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | null;
68
- x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
69
70
  everyNthFrame: number;
70
71
  numberOfGifLoops: number | null;
71
- frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
72
- envVariables: Record<string, string>;
73
72
  muted: boolean;
74
- outputBucket: string;
75
- logLevel: "error" | "verbose" | "info" | "warn";
76
- delayRenderTimeoutInMilliseconds: number;
77
- concurrency: string | number | null;
73
+ audioBitrate: string | null;
74
+ videoBitrate: string | null;
78
75
  enforceAudioTrack: boolean;
76
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
77
+ x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
78
+ concurrency: string | number | null;
79
79
  preferLossless: boolean;
80
- offthreadVideoCacheSizeInBytes: number | null;
80
+ colorSpace: "default" | "bt709";
81
+ serializedInputPropsWithCustomSchema: string;
82
+ outputBucket: string;
81
83
  forceHeight?: number | null | undefined;
82
84
  forceWidth?: number | null | undefined;
83
85
  chromiumOptions?: {
@@ -90,33 +92,34 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
90
92
  outName?: string | undefined;
91
93
  privacy?: "public" | "private" | undefined;
92
94
  }, {
93
- type: "media";
94
95
  serveUrl: string;
96
+ envVariables: Record<string, string>;
97
+ jpegQuality: number;
98
+ scale: number;
99
+ logLevel: "verbose" | "info" | "warn" | "error";
100
+ offthreadVideoCacheSizeInBytes: number | null;
101
+ type: "media";
95
102
  composition: string;
103
+ imageFormat: "png" | "jpeg" | "none";
104
+ delayRenderTimeoutInMilliseconds: number;
96
105
  codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
97
- serializedInputPropsWithCustomSchema: string;
98
- jpegQuality: number;
99
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
100
- audioBitrate: string | null;
101
- videoBitrate: string | null;
102
106
  crf: number | null;
107
+ frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
103
108
  pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
104
- imageFormat: "png" | "jpeg" | "none";
105
- scale: number;
106
109
  proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | null;
107
- x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
108
110
  everyNthFrame: number;
109
111
  numberOfGifLoops: number | null;
110
- frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
111
- envVariables: Record<string, string>;
112
112
  muted: boolean;
113
- outputBucket: string;
114
- logLevel: "error" | "verbose" | "info" | "warn";
115
- delayRenderTimeoutInMilliseconds: number;
116
- concurrency: string | number | null;
113
+ audioBitrate: string | null;
114
+ videoBitrate: string | null;
117
115
  enforceAudioTrack: boolean;
116
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
117
+ x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
118
+ concurrency: string | number | null;
118
119
  preferLossless: boolean;
119
- offthreadVideoCacheSizeInBytes: number | null;
120
+ colorSpace: "default" | "bt709";
121
+ serializedInputPropsWithCustomSchema: string;
122
+ outputBucket: string;
120
123
  forceHeight?: number | null | undefined;
121
124
  forceWidth?: number | null | undefined;
122
125
  chromiumOptions?: {
@@ -166,19 +169,19 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
166
169
  logLevel: z.ZodEnum<["verbose", "info", "warn", "error"]>;
167
170
  offthreadVideoCacheSizeInBytes: z.ZodNullable<z.ZodNumber>;
168
171
  }, "strip", z.ZodTypeAny, {
169
- type: "still";
172
+ privacy: "public" | "private";
170
173
  serveUrl: string;
171
- composition: string;
172
- serializedInputPropsWithCustomSchema: string;
173
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
174
- scale: number;
175
174
  envVariables: Record<string, string>;
176
- outputBucket: string;
177
- privacy: "public" | "private";
178
- logLevel: "error" | "verbose" | "info" | "warn";
179
- delayRenderTimeoutInMilliseconds: number;
175
+ scale: number;
176
+ logLevel: "verbose" | "info" | "warn" | "error";
180
177
  offthreadVideoCacheSizeInBytes: number | null;
178
+ type: "still";
179
+ composition: string;
180
+ imageFormat: "png" | "jpeg" | "pdf" | "webp";
181
181
  frame: number;
182
+ delayRenderTimeoutInMilliseconds: number;
183
+ serializedInputPropsWithCustomSchema: string;
184
+ outputBucket: string;
182
185
  forceHeight?: number | null | undefined;
183
186
  forceWidth?: number | null | undefined;
184
187
  jpegQuality?: number | undefined;
@@ -191,19 +194,19 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
191
194
  } | undefined;
192
195
  outName?: string | undefined;
193
196
  }, {
194
- type: "still";
197
+ privacy: "public" | "private";
195
198
  serveUrl: string;
196
- composition: string;
197
- serializedInputPropsWithCustomSchema: string;
198
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
199
- scale: number;
200
199
  envVariables: Record<string, string>;
201
- outputBucket: string;
202
- privacy: "public" | "private";
203
- logLevel: "error" | "verbose" | "info" | "warn";
204
- delayRenderTimeoutInMilliseconds: number;
200
+ scale: number;
201
+ logLevel: "verbose" | "info" | "warn" | "error";
205
202
  offthreadVideoCacheSizeInBytes: number | null;
203
+ type: "still";
204
+ composition: string;
205
+ imageFormat: "png" | "jpeg" | "pdf" | "webp";
206
206
  frame: number;
207
+ delayRenderTimeoutInMilliseconds: number;
208
+ serializedInputPropsWithCustomSchema: string;
209
+ outputBucket: string;
207
210
  forceHeight?: number | null | undefined;
208
211
  forceWidth?: number | null | undefined;
209
212
  jpegQuality?: number | undefined;
@@ -241,16 +244,16 @@ declare const renderStillOnCloudrunResponsePayload: z.ZodObject<{
241
244
  renderId: z.ZodString;
242
245
  privacy: z.ZodEnum<["public-read", "project-private"]>;
243
246
  }, "strip", z.ZodTypeAny, {
244
- type: "success";
245
247
  privacy: "public-read" | "project-private";
248
+ type: "success";
246
249
  cloudStorageUri: string;
247
250
  size: number;
248
251
  bucketName: string;
249
252
  renderId: string;
250
253
  publicUrl?: string | null | undefined;
251
254
  }, {
252
- type: "success";
253
255
  privacy: "public-read" | "project-private";
256
+ type: "success";
254
257
  cloudStorageUri: string;
255
258
  size: number;
256
259
  bucketName: string;
@@ -266,16 +269,16 @@ declare const renderMediaOnCloudrunResponsePayload: z.ZodObject<{
266
269
  renderId: z.ZodString;
267
270
  privacy: z.ZodEnum<["public-read", "project-private"]>;
268
271
  }, "strip", z.ZodTypeAny, {
269
- type: "success";
270
272
  privacy: "public-read" | "project-private";
273
+ type: "success";
271
274
  cloudStorageUri: string;
272
275
  size: number;
273
276
  bucketName: string;
274
277
  renderId: string;
275
278
  publicUrl?: string | null | undefined;
276
279
  }, {
277
- type: "success";
278
280
  privacy: "public-read" | "project-private";
281
+ type: "success";
279
282
  cloudStorageUri: string;
280
283
  size: number;
281
284
  bucketName: string;
@@ -53,6 +53,7 @@ exports.CloudRunPayload = zod_1.z.discriminatedUnion('type', [
53
53
  enforceAudioTrack: zod_1.z.boolean(),
54
54
  preferLossless: zod_1.z.boolean(),
55
55
  offthreadVideoCacheSizeInBytes: zod_1.z.number().nullable(),
56
+ colorSpace: zod_1.z.enum(client_1.BrowserSafeApis.validColorSpaces),
56
57
  }),
57
58
  zod_1.z.object({
58
59
  type: zod_1.z.literal('still'),
@@ -81,6 +81,7 @@ const renderMediaSingleThread = async (body, res) => {
81
81
  puppeteerInstance: undefined,
82
82
  server: undefined,
83
83
  offthreadVideoCacheSizeInBytes: body.offthreadVideoCacheSizeInBytes,
84
+ colorSpace: body.colorSpace,
84
85
  });
85
86
  const storage = new storage_1.Storage();
86
87
  const publicUpload = body.privacy === 'public' || !body.privacy;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cloudrun",
3
- "version": "4.0.27",
3
+ "version": "4.0.29",
4
4
  "description": "GCP Cloud Run alternative to lambda rendering",
5
5
  "main": "dist/index.js",
6
6
  "dependencies": {
@@ -12,10 +12,10 @@
12
12
  "@google-cloud/logging": "^10.5.0",
13
13
  "google-auth-library": "^8.7.0",
14
14
  "zod": "^3.21.4",
15
- "@remotion/bundler": "4.0.27",
16
- "@remotion/renderer": "4.0.27",
17
- "remotion": "4.0.27",
18
- "@remotion/cli": "4.0.27"
15
+ "@remotion/renderer": "4.0.29",
16
+ "@remotion/cli": "4.0.29",
17
+ "remotion": "4.0.29",
18
+ "@remotion/bundler": "4.0.29"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@jonny/eslint-config": "3.0.266",
@@ -26,7 +26,7 @@
26
26
  "prettier-plugin-organize-imports": "^3.2.2",
27
27
  "ts-node": "^10.8.0",
28
28
  "vitest": "0.24.3",
29
- "@remotion/compositor-linux-x64-gnu": "4.0.27"
29
+ "@remotion/compositor-linux-x64-gnu": "4.0.29"
30
30
  },
31
31
  "exports": {
32
32
  "./package.json": "./package.json",