@remotion/cloudrun 4.0.424 → 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.
- package/dist/api/render-media-on-cloudrun.d.ts +15 -11
- package/dist/api/render-media-on-cloudrun.js +6 -2
- package/dist/api/render-still-on-cloudrun.d.ts +2 -0
- package/dist/api/render-still-on-cloudrun.js +21 -17
- package/dist/cli/commands/render/index.js +28 -3
- package/dist/cli/commands/still.js +18 -2
- package/dist/functions/helpers/get-composition-from-body.d.ts +4 -0
- package/dist/functions/helpers/payloads.d.ts +12 -0
- package/dist/functions/helpers/payloads.js +4 -0
- package/dist/functions/render-media-single-thread.d.ts +4 -0
- package/dist/functions/render-media-single-thread.js +12 -10
- package/dist/functions/render-still-single-thread.d.ts +4 -0
- package/dist/functions/render-still-single-thread.js +5 -3
- package/dist/index.d.ts +8 -8
- package/package.json +7 -7
|
@@ -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,14 @@ 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
|
-
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, logLevel, delayRenderTimeoutInMilliseconds, concurrency, enforceAudioTrack, preferLossless, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, downloadBehavior, metadata, mediaCacheSizeInBytes, }: InternalRenderMediaOnCloudrun) => Promise<{
|
|
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
|
+
} | {
|
|
75
86
|
type: "success";
|
|
76
87
|
publicUrl?: string | null | undefined;
|
|
77
88
|
cloudStorageUri: string;
|
|
@@ -79,15 +90,15 @@ export declare const internalRenderMediaOnCloudrun: ({ cloudRunUrl, serviceName,
|
|
|
79
90
|
bucketName: string;
|
|
80
91
|
renderId: string;
|
|
81
92
|
privacy: "project-private" | "public-read";
|
|
82
|
-
}
|
|
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<{
|
|
83
95
|
type: "crash";
|
|
84
96
|
cloudRunEndpoint: string;
|
|
85
97
|
message: "Service crashed without sending a response. Check the logs in GCP console.";
|
|
86
98
|
requestStartTime: string;
|
|
87
99
|
requestCrashTime: string;
|
|
88
100
|
requestElapsedTimeInSeconds: number;
|
|
89
|
-
}
|
|
90
|
-
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<{
|
|
101
|
+
} | {
|
|
91
102
|
type: "success";
|
|
92
103
|
publicUrl?: string | null | undefined;
|
|
93
104
|
cloudStorageUri: string;
|
|
@@ -95,12 +106,5 @@ export declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region,
|
|
|
95
106
|
bucketName: string;
|
|
96
107
|
renderId: string;
|
|
97
108
|
privacy: "project-private" | "public-read";
|
|
98
|
-
} | {
|
|
99
|
-
type: "crash";
|
|
100
|
-
cloudRunEndpoint: string;
|
|
101
|
-
message: "Service crashed without sending a response. Check the logs in GCP console.";
|
|
102
|
-
requestStartTime: string;
|
|
103
|
-
requestCrashTime: string;
|
|
104
|
-
requestElapsedTimeInSeconds: number;
|
|
105
109
|
}>;
|
|
106
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'];
|
|
@@ -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
|
-
|
|
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: (
|
|
149
|
-
inputProps: (
|
|
150
|
-
jpegQuality: (
|
|
151
|
-
logLevel: (
|
|
152
|
-
offthreadVideoCacheSizeInBytes: (
|
|
153
|
-
offthreadVideoThreads: (
|
|
154
|
-
outName: (
|
|
155
|
-
privacy: (
|
|
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: (
|
|
161
|
+
scale: (_u = options.scale) !== null && _u !== void 0 ? _u : 1,
|
|
158
162
|
serveUrl: options.serveUrl,
|
|
159
|
-
serviceName: (
|
|
160
|
-
downloadBehavior: (
|
|
161
|
-
renderIdOverride: (
|
|
162
|
-
renderStatusWebhook: (
|
|
163
|
-
mediaCacheSizeInBytes: (
|
|
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;
|
|
@@ -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);
|
|
@@ -33,11 +33,32 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
|
|
|
33
33
|
const audioCodec = client_1.BrowserSafeApis.options.audioCodecOption.getValue({
|
|
34
34
|
commandLine: cli_1.CliInternals.parsedCli,
|
|
35
35
|
}).value;
|
|
36
|
-
const { envVariables, frameRange, inputProps,
|
|
36
|
+
const { envVariables, frameRange, inputProps, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
|
|
37
37
|
isStill: false,
|
|
38
38
|
logLevel,
|
|
39
39
|
indent: false,
|
|
40
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;
|
|
41
62
|
const offthreadVideoCacheSizeInBytes = offthreadVideoCacheSizeInBytesOption.getValue({
|
|
42
63
|
commandLine: cli_1.CliInternals.parsedCli,
|
|
43
64
|
}).value;
|
|
@@ -98,13 +119,15 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
|
|
|
98
119
|
chromiumOptions,
|
|
99
120
|
envVariables,
|
|
100
121
|
height,
|
|
122
|
+
width,
|
|
123
|
+
fps,
|
|
124
|
+
durationInFrames,
|
|
101
125
|
indent,
|
|
102
126
|
port: config_1.ConfigInternals.getRendererPortFromConfigFileAndCliFlag(),
|
|
103
127
|
puppeteerInstance: undefined,
|
|
104
128
|
serveUrlOrWebpackUrl: serveUrl,
|
|
105
129
|
timeoutInMilliseconds: puppeteerTimeout,
|
|
106
130
|
logLevel,
|
|
107
|
-
width,
|
|
108
131
|
server: await server,
|
|
109
132
|
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
110
133
|
data: inputProps,
|
|
@@ -242,6 +265,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
|
|
|
242
265
|
muted,
|
|
243
266
|
forceWidth: width,
|
|
244
267
|
forceHeight: height,
|
|
268
|
+
forceFps: fps,
|
|
269
|
+
forceDurationInFrames: durationInFrames,
|
|
245
270
|
logLevel,
|
|
246
271
|
delayRenderTimeoutInMilliseconds: puppeteerTimeout,
|
|
247
272
|
// Special case: Should not use default local concurrency, or from
|
|
@@ -13,14 +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
18
|
const { serveUrl, cloudRunUrl, outName, forceBucketName, privacy, downloadName, region, } = await (0, renderArgsCheck_1.renderArgsCheck)(exports.STILL_COMMAND, args, logLevel);
|
|
19
|
-
const { envVariables, inputProps, stillFrame, height, width,
|
|
19
|
+
const { envVariables, inputProps, stillFrame, height, width, fps, durationInFrames, } = cli_1.CliInternals.getCliOptions({
|
|
20
20
|
isStill: false,
|
|
21
21
|
logLevel,
|
|
22
22
|
indent: false,
|
|
23
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;
|
|
24
36
|
let composition = args[1];
|
|
25
37
|
const enableMultiProcessOnLinux = enableMultiprocessOnLinuxOption.getValue({
|
|
26
38
|
commandLine: cli_1.CliInternals.parsedCli,
|
|
@@ -90,6 +102,8 @@ const stillCommand = async (args, remotionRoot, logLevel) => {
|
|
|
90
102
|
timeoutInMilliseconds: puppeteerTimeout,
|
|
91
103
|
height,
|
|
92
104
|
width,
|
|
105
|
+
fps,
|
|
106
|
+
durationInFrames,
|
|
93
107
|
server: await server,
|
|
94
108
|
offthreadVideoCacheSizeInBytes,
|
|
95
109
|
binariesDirectory,
|
|
@@ -163,6 +177,8 @@ ${downloadName ? ` Downloaded File = ${downloadName}` : ''}
|
|
|
163
177
|
scale,
|
|
164
178
|
forceHeight: height,
|
|
165
179
|
forceWidth: width,
|
|
180
|
+
forceFps: fps,
|
|
181
|
+
forceDurationInFrames: durationInFrames,
|
|
166
182
|
forceBucketName,
|
|
167
183
|
outName,
|
|
168
184
|
logLevel,
|
|
@@ -4,6 +4,8 @@ export declare const getCompositionFromBody: (body: {
|
|
|
4
4
|
composition: string;
|
|
5
5
|
forceHeight?: number | null | undefined;
|
|
6
6
|
forceWidth?: number | null | undefined;
|
|
7
|
+
forceFps?: number | null | undefined;
|
|
8
|
+
forceDurationInFrames?: number | null | undefined;
|
|
7
9
|
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
8
10
|
serializedInputPropsWithCustomSchema: string;
|
|
9
11
|
jpegQuality: number | null;
|
|
@@ -64,6 +66,8 @@ export declare const getCompositionFromBody: (body: {
|
|
|
64
66
|
composition: string;
|
|
65
67
|
forceHeight?: number | null | undefined;
|
|
66
68
|
forceWidth?: number | null | undefined;
|
|
69
|
+
forceFps?: number | null | undefined;
|
|
70
|
+
forceDurationInFrames?: number | null | undefined;
|
|
67
71
|
serializedInputPropsWithCustomSchema: string;
|
|
68
72
|
jpegQuality?: number | undefined;
|
|
69
73
|
imageFormat: "jpeg" | "pdf" | "png" | "webp";
|
|
@@ -22,6 +22,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
22
22
|
composition: z.ZodString;
|
|
23
23
|
forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
24
24
|
forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
25
|
+
forceFps: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
26
|
+
forceDurationInFrames: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
25
27
|
codec: z.ZodEnum<["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"]>;
|
|
26
28
|
serializedInputPropsWithCustomSchema: z.ZodString;
|
|
27
29
|
jpegQuality: z.ZodNullable<z.ZodNumber>;
|
|
@@ -116,6 +118,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
116
118
|
composition: string;
|
|
117
119
|
forceHeight?: number | null | undefined;
|
|
118
120
|
forceWidth?: number | null | undefined;
|
|
121
|
+
forceFps?: number | null | undefined;
|
|
122
|
+
forceDurationInFrames?: number | null | undefined;
|
|
119
123
|
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
120
124
|
serializedInputPropsWithCustomSchema: string;
|
|
121
125
|
jpegQuality: number | null;
|
|
@@ -176,6 +180,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
176
180
|
composition: string;
|
|
177
181
|
forceHeight?: number | null | undefined;
|
|
178
182
|
forceWidth?: number | null | undefined;
|
|
183
|
+
forceFps?: number | null | undefined;
|
|
184
|
+
forceDurationInFrames?: number | null | undefined;
|
|
179
185
|
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
180
186
|
serializedInputPropsWithCustomSchema: string;
|
|
181
187
|
jpegQuality: number | null;
|
|
@@ -236,6 +242,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
236
242
|
composition: z.ZodString;
|
|
237
243
|
forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
238
244
|
forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
245
|
+
forceFps: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
246
|
+
forceDurationInFrames: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
239
247
|
serializedInputPropsWithCustomSchema: z.ZodString;
|
|
240
248
|
jpegQuality: z.ZodOptional<z.ZodNumber>;
|
|
241
249
|
imageFormat: z.ZodEnum<["png", "jpeg", "pdf", "webp"]>;
|
|
@@ -313,6 +321,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
313
321
|
composition: string;
|
|
314
322
|
forceHeight?: number | null | undefined;
|
|
315
323
|
forceWidth?: number | null | undefined;
|
|
324
|
+
forceFps?: number | null | undefined;
|
|
325
|
+
forceDurationInFrames?: number | null | undefined;
|
|
316
326
|
serializedInputPropsWithCustomSchema: string;
|
|
317
327
|
jpegQuality?: number | undefined;
|
|
318
328
|
imageFormat: "jpeg" | "pdf" | "png" | "webp";
|
|
@@ -356,6 +366,8 @@ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
356
366
|
composition: string;
|
|
357
367
|
forceHeight?: number | null | undefined;
|
|
358
368
|
forceWidth?: number | null | undefined;
|
|
369
|
+
forceFps?: number | null | undefined;
|
|
370
|
+
forceDurationInFrames?: number | null | undefined;
|
|
359
371
|
serializedInputPropsWithCustomSchema: string;
|
|
360
372
|
jpegQuality?: number | undefined;
|
|
361
373
|
imageFormat: "jpeg" | "pdf" | "png" | "webp";
|
|
@@ -35,6 +35,8 @@ exports.CloudRunPayload = zod_1.z.discriminatedUnion('type', [
|
|
|
35
35
|
composition: zod_1.z.string(),
|
|
36
36
|
forceHeight: zod_1.z.number().optional().nullable(),
|
|
37
37
|
forceWidth: zod_1.z.number().optional().nullable(),
|
|
38
|
+
forceFps: zod_1.z.number().optional().nullable(),
|
|
39
|
+
forceDurationInFrames: zod_1.z.number().optional().nullable(),
|
|
38
40
|
codec,
|
|
39
41
|
serializedInputPropsWithCustomSchema: zod_1.z.string(),
|
|
40
42
|
jpegQuality: zod_1.z.number().nullable(),
|
|
@@ -90,6 +92,8 @@ exports.CloudRunPayload = zod_1.z.discriminatedUnion('type', [
|
|
|
90
92
|
composition: zod_1.z.string(),
|
|
91
93
|
forceHeight: zod_1.z.number().optional().nullable(),
|
|
92
94
|
forceWidth: zod_1.z.number().optional().nullable(),
|
|
95
|
+
forceFps: zod_1.z.number().optional().nullable(),
|
|
96
|
+
forceDurationInFrames: zod_1.z.number().optional().nullable(),
|
|
93
97
|
serializedInputPropsWithCustomSchema: zod_1.z.string(),
|
|
94
98
|
jpegQuality: zod_1.z.number().optional(),
|
|
95
99
|
imageFormat: stillImageFormat,
|
|
@@ -5,6 +5,8 @@ export declare const renderMediaSingleThread: (body: {
|
|
|
5
5
|
composition: string;
|
|
6
6
|
forceHeight?: number | null | undefined;
|
|
7
7
|
forceWidth?: number | null | undefined;
|
|
8
|
+
forceFps?: number | null | undefined;
|
|
9
|
+
forceDurationInFrames?: number | null | undefined;
|
|
8
10
|
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
9
11
|
serializedInputPropsWithCustomSchema: string;
|
|
10
12
|
jpegQuality: number | null;
|
|
@@ -65,6 +67,8 @@ export declare const renderMediaSingleThread: (body: {
|
|
|
65
67
|
composition: string;
|
|
66
68
|
forceHeight?: number | null | undefined;
|
|
67
69
|
forceWidth?: number | null | undefined;
|
|
70
|
+
forceFps?: number | null | undefined;
|
|
71
|
+
forceDurationInFrames?: number | null | undefined;
|
|
68
72
|
serializedInputPropsWithCustomSchema: string;
|
|
69
73
|
jpegQuality?: number | undefined;
|
|
70
74
|
imageFormat: "jpeg" | "pdf" | "png" | "webp";
|
|
@@ -11,7 +11,7 @@ const get_download_behavior_setting_1 = require("./helpers/get-download-behavior
|
|
|
11
11
|
const write_cloudrun_error_1 = require("./helpers/write-cloudrun-error");
|
|
12
12
|
const renderMediaSingleThread = async (body, res) => {
|
|
13
13
|
var _a, _b, _c, _d, _e, _f;
|
|
14
|
-
var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
14
|
+
var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
15
15
|
if (body.type !== 'media') {
|
|
16
16
|
throw new Error('expected type media');
|
|
17
17
|
}
|
|
@@ -88,6 +88,8 @@ const renderMediaSingleThread = async (body, res) => {
|
|
|
88
88
|
...composition,
|
|
89
89
|
height: (_p = body.forceHeight) !== null && _p !== void 0 ? _p : composition.height,
|
|
90
90
|
width: (_q = body.forceWidth) !== null && _q !== void 0 ? _q : composition.width,
|
|
91
|
+
fps: (_r = body.forceFps) !== null && _r !== void 0 ? _r : composition.fps,
|
|
92
|
+
durationInFrames: (_s = body.forceDurationInFrames) !== null && _s !== void 0 ? _s : composition.durationInFrames,
|
|
91
93
|
},
|
|
92
94
|
serveUrl: body.serveUrl,
|
|
93
95
|
codec: body.codec,
|
|
@@ -98,17 +100,17 @@ const renderMediaSingleThread = async (body, res) => {
|
|
|
98
100
|
indent: undefined,
|
|
99
101
|
staticBase: null,
|
|
100
102
|
}).serializedString,
|
|
101
|
-
jpegQuality: (
|
|
103
|
+
jpegQuality: (_t = body.jpegQuality) !== null && _t !== void 0 ? _t : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
|
|
102
104
|
audioCodec: body.audioCodec,
|
|
103
|
-
audioBitrate: (
|
|
105
|
+
audioBitrate: (_u = body.audioBitrate) !== null && _u !== void 0 ? _u : null,
|
|
104
106
|
videoBitrate: body.videoBitrate,
|
|
105
107
|
encodingMaxRate: body.encodingMaxRate,
|
|
106
108
|
encodingBufferSize: body.encodingBufferSize,
|
|
107
109
|
crf: body.crf,
|
|
108
|
-
pixelFormat: (
|
|
109
|
-
imageFormat: (
|
|
110
|
+
pixelFormat: (_v = body.pixelFormat) !== null && _v !== void 0 ? _v : renderer_1.RenderInternals.DEFAULT_PIXEL_FORMAT,
|
|
111
|
+
imageFormat: (_w = body.imageFormat) !== null && _w !== void 0 ? _w : renderer_1.RenderInternals.DEFAULT_VIDEO_IMAGE_FORMAT,
|
|
110
112
|
scale: body.scale,
|
|
111
|
-
proResProfile: (
|
|
113
|
+
proResProfile: (_x = body.proResProfile) !== null && _x !== void 0 ? _x : undefined,
|
|
112
114
|
x264Preset: body.x264Preset,
|
|
113
115
|
everyNthFrame: body.everyNthFrame,
|
|
114
116
|
numberOfGifLoops: body.numberOfGifLoops,
|
|
@@ -119,9 +121,9 @@ const renderMediaSingleThread = async (body, res) => {
|
|
|
119
121
|
muted: body.muted,
|
|
120
122
|
logLevel: body.logLevel,
|
|
121
123
|
browserExecutable: null,
|
|
122
|
-
timeoutInMilliseconds: (
|
|
124
|
+
timeoutInMilliseconds: (_y = body.delayRenderTimeoutInMilliseconds) !== null && _y !== void 0 ? _y : renderer_1.RenderInternals.DEFAULT_TIMEOUT,
|
|
123
125
|
cancelSignal: undefined,
|
|
124
|
-
concurrency: (
|
|
126
|
+
concurrency: (_z = body.concurrency) !== null && _z !== void 0 ? _z : null,
|
|
125
127
|
disallowParallelEncoding: false,
|
|
126
128
|
enforceAudioTrack: body.enforceAudioTrack,
|
|
127
129
|
ffmpegOverride: undefined,
|
|
@@ -148,7 +150,7 @@ const renderMediaSingleThread = async (body, res) => {
|
|
|
148
150
|
throw new Error('Should not download a browser in Cloud Run');
|
|
149
151
|
},
|
|
150
152
|
onArtifact,
|
|
151
|
-
metadata: (
|
|
153
|
+
metadata: (_0 = body.metadata) !== null && _0 !== void 0 ? _0 : null,
|
|
152
154
|
hardwareAcceleration: 'disable',
|
|
153
155
|
chromeMode: 'headless-shell',
|
|
154
156
|
onLog: renderer_1.RenderInternals.defaultOnLog,
|
|
@@ -160,7 +162,7 @@ const renderMediaSingleThread = async (body, res) => {
|
|
|
160
162
|
const uploadedResponse = await storage
|
|
161
163
|
.bucket(body.outputBucket)
|
|
162
164
|
.upload(tempFilePath, {
|
|
163
|
-
destination: `renders/${renderId}/${(
|
|
165
|
+
destination: `renders/${renderId}/${(_1 = body.outName) !== null && _1 !== void 0 ? _1 : defaultOutName}`,
|
|
164
166
|
predefinedAcl: publicUpload ? 'publicRead' : 'projectPrivate',
|
|
165
167
|
metadata: (0, get_download_behavior_setting_1.getDownloadBehaviorSetting)(body.downloadBehavior),
|
|
166
168
|
});
|
|
@@ -5,6 +5,8 @@ export declare const renderStillSingleThread: (body: {
|
|
|
5
5
|
composition: string;
|
|
6
6
|
forceHeight?: number | null | undefined;
|
|
7
7
|
forceWidth?: number | null | undefined;
|
|
8
|
+
forceFps?: number | null | undefined;
|
|
9
|
+
forceDurationInFrames?: number | null | undefined;
|
|
8
10
|
codec: "aac" | "gif" | "h264" | "h264-mkv" | "h264-ts" | "h265" | "mp3" | "prores" | "vp8" | "vp9" | "wav";
|
|
9
11
|
serializedInputPropsWithCustomSchema: string;
|
|
10
12
|
jpegQuality: number | null;
|
|
@@ -65,6 +67,8 @@ export declare const renderStillSingleThread: (body: {
|
|
|
65
67
|
composition: string;
|
|
66
68
|
forceHeight?: number | null | undefined;
|
|
67
69
|
forceWidth?: number | null | undefined;
|
|
70
|
+
forceFps?: number | null | undefined;
|
|
71
|
+
forceDurationInFrames?: number | null | undefined;
|
|
68
72
|
serializedInputPropsWithCustomSchema: string;
|
|
69
73
|
jpegQuality?: number | undefined;
|
|
70
74
|
imageFormat: "jpeg" | "pdf" | "png" | "webp";
|
|
@@ -12,7 +12,7 @@ const get_download_behavior_setting_1 = require("./helpers/get-download-behavior
|
|
|
12
12
|
const write_cloudrun_error_1 = require("./helpers/write-cloudrun-error");
|
|
13
13
|
const renderStillSingleThread = async (body, res) => {
|
|
14
14
|
var _a, _b, _c, _d, _e, _f;
|
|
15
|
-
var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
15
|
+
var _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
16
16
|
if (body.type !== 'still') {
|
|
17
17
|
throw new Error('expected type still');
|
|
18
18
|
}
|
|
@@ -44,6 +44,8 @@ const renderStillSingleThread = async (body, res) => {
|
|
|
44
44
|
...composition,
|
|
45
45
|
height: (_p = body.forceHeight) !== null && _p !== void 0 ? _p : composition.height,
|
|
46
46
|
width: (_q = body.forceWidth) !== null && _q !== void 0 ? _q : composition.width,
|
|
47
|
+
fps: (_r = body.forceFps) !== null && _r !== void 0 ? _r : composition.fps,
|
|
48
|
+
durationInFrames: (_s = body.forceDurationInFrames) !== null && _s !== void 0 ? _s : composition.durationInFrames,
|
|
47
49
|
},
|
|
48
50
|
serveUrl: body.serveUrl,
|
|
49
51
|
output: tempFilePath,
|
|
@@ -53,7 +55,7 @@ const renderStillSingleThread = async (body, res) => {
|
|
|
53
55
|
indent: undefined,
|
|
54
56
|
staticBase: null,
|
|
55
57
|
}).serializedString,
|
|
56
|
-
jpegQuality: (
|
|
58
|
+
jpegQuality: (_t = body.jpegQuality) !== null && _t !== void 0 ? _t : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
|
|
57
59
|
imageFormat: body.imageFormat,
|
|
58
60
|
scale: body.scale,
|
|
59
61
|
envVariables: body.envVariables,
|
|
@@ -91,7 +93,7 @@ const renderStillSingleThread = async (body, res) => {
|
|
|
91
93
|
const uploadedResponse = await storage
|
|
92
94
|
.bucket(body.outputBucket)
|
|
93
95
|
.upload(tempFilePath, {
|
|
94
|
-
destination: `renders/${renderId}/${(
|
|
96
|
+
destination: `renders/${renderId}/${(_u = body.outName) !== null && _u !== void 0 ? _u : 'out.png'}`,
|
|
95
97
|
predefinedAcl: publicUpload ? 'publicRead' : 'projectPrivate',
|
|
96
98
|
metadata: (0, get_download_behavior_setting_1.getDownloadBehaviorSetting)(body.downloadBehavior),
|
|
97
99
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,14 @@ import type { GcpRegion } from './pricing/gcp-regions';
|
|
|
16
16
|
/**
|
|
17
17
|
* @deprecated Import this from `@remotion/cloudrun/client` instead
|
|
18
18
|
*/
|
|
19
|
-
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<{
|
|
19
|
+
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<{
|
|
20
|
+
type: "crash";
|
|
21
|
+
cloudRunEndpoint: string;
|
|
22
|
+
message: "Service crashed without sending a response. Check the logs in GCP console.";
|
|
23
|
+
requestStartTime: string;
|
|
24
|
+
requestCrashTime: string;
|
|
25
|
+
requestElapsedTimeInSeconds: number;
|
|
26
|
+
} | {
|
|
20
27
|
type: "success";
|
|
21
28
|
publicUrl?: string | null | undefined;
|
|
22
29
|
cloudStorageUri: string;
|
|
@@ -24,13 +31,6 @@ declare const renderMediaOnCloudrun: ({ cloudRunUrl, serviceName, region, serveU
|
|
|
24
31
|
bucketName: string;
|
|
25
32
|
renderId: string;
|
|
26
33
|
privacy: "project-private" | "public-read";
|
|
27
|
-
} | {
|
|
28
|
-
type: "crash";
|
|
29
|
-
cloudRunEndpoint: string;
|
|
30
|
-
message: "Service crashed without sending a response. Check the logs in GCP console.";
|
|
31
|
-
requestStartTime: string;
|
|
32
|
-
requestCrashTime: string;
|
|
33
|
-
requestElapsedTimeInSeconds: number;
|
|
34
34
|
}>;
|
|
35
35
|
/**
|
|
36
36
|
* @deprecated Import this from `@remotion/cloudrun/client` instead
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/cloudrun"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/cloudrun",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.425",
|
|
7
7
|
"description": "Render Remotion videos on Google Cloud Run",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
"@google-cloud/storage": "7.15.2",
|
|
22
22
|
"@google-cloud/resource-manager": "5.3.1",
|
|
23
23
|
"@google-cloud/logging": "11.2.0",
|
|
24
|
-
"@remotion/bundler": "4.0.
|
|
25
|
-
"@remotion/cli": "4.0.
|
|
26
|
-
"@remotion/renderer": "4.0.
|
|
24
|
+
"@remotion/bundler": "4.0.425",
|
|
25
|
+
"@remotion/cli": "4.0.425",
|
|
26
|
+
"@remotion/renderer": "4.0.425",
|
|
27
27
|
"google-auth-library": "8.7.0",
|
|
28
|
-
"remotion": "4.0.
|
|
28
|
+
"remotion": "4.0.425",
|
|
29
29
|
"zod": "3.22.3"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
32
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.425",
|
|
33
33
|
"@types/minimist": "1.2.2",
|
|
34
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
34
|
+
"@remotion/eslint-config-internal": "4.0.425",
|
|
35
35
|
"eslint": "9.19.0",
|
|
36
36
|
"@types/node": "20.12.14",
|
|
37
37
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|