@remotion/renderer 4.0.210 → 4.0.212
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/browser/NetworkEventManager.d.ts +3 -2
- package/dist/browser/NetworkEventManager.js +12 -8
- package/dist/browser/NetworkManager.d.ts +0 -1
- package/dist/browser/NetworkManager.js +18 -19
- package/dist/browser/handle-failed-resource.d.ts +10 -0
- package/dist/browser/handle-failed-resource.js +21 -0
- package/dist/client.d.ts +5 -5
- package/dist/create-ffmpeg-complex-filter.d.ts +1 -4
- package/dist/index.d.ts +5 -5
- package/dist/options/gl.d.ts +3 -3
- package/dist/options/index.d.ts +3 -3
- package/dist/options/mute.js +2 -1
- package/dist/pixel-format.d.ts +1 -1
- package/dist/port-config.d.ts +2 -2
- package/dist/serve-handler/index.js +1 -0
- package/ensure-browser.mjs +1 -1
- package/package.json +10 -10
- package/dist/streaming.d.ts +0 -11
- package/dist/streaming.js +0 -140
|
@@ -14,11 +14,12 @@ type RedirectInfo = {
|
|
|
14
14
|
export declare class NetworkEventManager {
|
|
15
15
|
#private;
|
|
16
16
|
forget(networkRequestId: NetworkRequestId): void;
|
|
17
|
-
|
|
17
|
+
queueFailedLoadInfo(networkRequestId: NetworkRequestId, event: LoadingFailedEvent): void;
|
|
18
|
+
getFailedLoadInfo(networkRequestId: NetworkRequestId): LoadingFailedEvent | undefined;
|
|
19
|
+
getResponseExtraInfo(networkRequestId: NetworkRequestId): ResponseReceivedExtraInfoEvent[];
|
|
18
20
|
private queuedRedirectInfo;
|
|
19
21
|
queueRedirectInfo(fetchRequestId: FetchRequestId, redirectInfo: RedirectInfo): void;
|
|
20
22
|
takeQueuedRedirectInfo(fetchRequestId: FetchRequestId): RedirectInfo | undefined;
|
|
21
|
-
numRequestsInProgress(): number;
|
|
22
23
|
storeRequestWillBeSent(networkRequestId: NetworkRequestId, event: RequestWillBeSentEvent): void;
|
|
23
24
|
getRequestWillBeSent(networkRequestId: NetworkRequestId): RequestWillBeSentEvent | undefined;
|
|
24
25
|
forgetRequestWillBeSent(networkRequestId: NetworkRequestId): void;
|
|
@@ -4,7 +4,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
4
4
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
5
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
6
|
};
|
|
7
|
-
var _NetworkEventManager_requestWillBeSentMap, _NetworkEventManager_requestPausedMap, _NetworkEventManager_httpRequestsMap, _NetworkEventManager_responseReceivedExtraInfoMap, _NetworkEventManager_queuedRedirectInfoMap, _NetworkEventManager_queuedEventGroupMap;
|
|
7
|
+
var _NetworkEventManager_requestWillBeSentMap, _NetworkEventManager_requestPausedMap, _NetworkEventManager_httpRequestsMap, _NetworkEventManager_responseReceivedExtraInfoMap, _NetworkEventManager_queuedRedirectInfoMap, _NetworkEventManager_queuedEventGroupMap, _NetworkEventManager_failedLoadInfoMap;
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.NetworkEventManager = void 0;
|
|
10
10
|
class NetworkEventManager {
|
|
@@ -15,6 +15,7 @@ class NetworkEventManager {
|
|
|
15
15
|
_NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
|
|
16
16
|
_NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
|
|
17
17
|
_NetworkEventManager_queuedEventGroupMap.set(this, new Map());
|
|
18
|
+
_NetworkEventManager_failedLoadInfoMap.set(this, new Map());
|
|
18
19
|
}
|
|
19
20
|
forget(networkRequestId) {
|
|
20
21
|
__classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
|
|
@@ -22,8 +23,16 @@ class NetworkEventManager {
|
|
|
22
23
|
__classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").delete(networkRequestId);
|
|
23
24
|
__classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").delete(networkRequestId);
|
|
24
25
|
__classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").delete(networkRequestId);
|
|
26
|
+
__classPrivateFieldGet(this, _NetworkEventManager_failedLoadInfoMap, "f").delete(networkRequestId);
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
queueFailedLoadInfo(networkRequestId, event) {
|
|
29
|
+
__classPrivateFieldGet(this, _NetworkEventManager_failedLoadInfoMap, "f").set(networkRequestId, { event });
|
|
30
|
+
}
|
|
31
|
+
getFailedLoadInfo(networkRequestId) {
|
|
32
|
+
var _a;
|
|
33
|
+
return (_a = __classPrivateFieldGet(this, _NetworkEventManager_failedLoadInfoMap, "f").get(networkRequestId)) === null || _a === void 0 ? void 0 : _a.event;
|
|
34
|
+
}
|
|
35
|
+
getResponseExtraInfo(networkRequestId) {
|
|
27
36
|
if (!__classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").has(networkRequestId)) {
|
|
28
37
|
__classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").set(networkRequestId, []);
|
|
29
38
|
}
|
|
@@ -41,11 +50,6 @@ class NetworkEventManager {
|
|
|
41
50
|
takeQueuedRedirectInfo(fetchRequestId) {
|
|
42
51
|
return this.queuedRedirectInfo(fetchRequestId).shift();
|
|
43
52
|
}
|
|
44
|
-
numRequestsInProgress() {
|
|
45
|
-
return [...__classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f")].filter(([, request]) => {
|
|
46
|
-
return !request.response();
|
|
47
|
-
}).length;
|
|
48
|
-
}
|
|
49
53
|
storeRequestWillBeSent(networkRequestId, event) {
|
|
50
54
|
__classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").set(networkRequestId, event);
|
|
51
55
|
}
|
|
@@ -78,4 +82,4 @@ class NetworkEventManager {
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
exports.NetworkEventManager = NetworkEventManager;
|
|
81
|
-
_NetworkEventManager_requestWillBeSentMap = new WeakMap(), _NetworkEventManager_requestPausedMap = new WeakMap(), _NetworkEventManager_httpRequestsMap = new WeakMap(), _NetworkEventManager_responseReceivedExtraInfoMap = new WeakMap(), _NetworkEventManager_queuedRedirectInfoMap = new WeakMap(), _NetworkEventManager_queuedEventGroupMap = new WeakMap();
|
|
85
|
+
_NetworkEventManager_requestWillBeSentMap = new WeakMap(), _NetworkEventManager_requestPausedMap = new WeakMap(), _NetworkEventManager_httpRequestsMap = new WeakMap(), _NetworkEventManager_responseReceivedExtraInfoMap = new WeakMap(), _NetworkEventManager_queuedRedirectInfoMap = new WeakMap(), _NetworkEventManager_queuedEventGroupMap = new WeakMap(), _NetworkEventManager_failedLoadInfoMap = new WeakMap();
|
|
@@ -28,8 +28,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
28
28
|
var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_indent, _NetworkManager_logLevel, _NetworkManager_onRequestWillBeSent, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
|
|
31
|
-
const logger_1 = require("../logger");
|
|
32
31
|
const EventEmitter_1 = require("./EventEmitter");
|
|
32
|
+
const handle_failed_resource_1 = require("./handle-failed-resource");
|
|
33
33
|
const HTTPRequest_1 = require("./HTTPRequest");
|
|
34
34
|
const HTTPResponse_1 = require("./HTTPResponse");
|
|
35
35
|
const NetworkEventManager_1 = require("./NetworkEventManager");
|
|
@@ -60,9 +60,6 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
|
|
|
60
60
|
async initialize() {
|
|
61
61
|
await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
|
|
62
62
|
}
|
|
63
|
-
numRequestsInProgress() {
|
|
64
|
-
return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
|
|
65
|
-
}
|
|
66
63
|
}
|
|
67
64
|
exports.NetworkManager = NetworkManager;
|
|
68
65
|
_NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_indent = new WeakMap(), _NetworkManager_logLevel = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
|
|
@@ -108,7 +105,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
108
105
|
let redirectResponseExtraInfo = null;
|
|
109
106
|
if (event.redirectHasExtraInfo) {
|
|
110
107
|
redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
111
|
-
.
|
|
108
|
+
.getResponseExtraInfo(event.requestId)
|
|
112
109
|
.shift();
|
|
113
110
|
if (!redirectResponseExtraInfo) {
|
|
114
111
|
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
|
|
@@ -146,7 +143,6 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
146
143
|
if (!request) {
|
|
147
144
|
return;
|
|
148
145
|
}
|
|
149
|
-
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(responseReceived.requestId);
|
|
150
146
|
const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
|
|
151
147
|
request._response = response;
|
|
152
148
|
}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
|
|
@@ -154,7 +150,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
154
150
|
let extraInfo = null;
|
|
155
151
|
if (request && !request._fromMemoryCache && event.hasExtraInfo) {
|
|
156
152
|
extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
157
|
-
.
|
|
153
|
+
.getResponseExtraInfo(event.requestId)
|
|
158
154
|
.shift();
|
|
159
155
|
if (!extraInfo) {
|
|
160
156
|
// Wait until we get the corresponding ExtraInfo event.
|
|
@@ -171,7 +167,9 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
171
167
|
// request.
|
|
172
168
|
const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
|
|
173
169
|
if (redirectInfo) {
|
|
174
|
-
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
170
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
|
|
171
|
+
.getResponseExtraInfo(event.requestId)
|
|
172
|
+
.push(event);
|
|
175
173
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
|
|
176
174
|
return;
|
|
177
175
|
}
|
|
@@ -190,7 +188,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
190
188
|
return;
|
|
191
189
|
}
|
|
192
190
|
// Wait until we get another event that can use this ExtraInfo event.
|
|
193
|
-
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").
|
|
191
|
+
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getResponseExtraInfo(event.requestId).push(event);
|
|
194
192
|
}, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
|
|
195
193
|
const requestId = request._requestId;
|
|
196
194
|
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
|
|
@@ -226,22 +224,23 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
226
224
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
|
|
227
225
|
}
|
|
228
226
|
}, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
|
|
229
|
-
var _a;
|
|
230
227
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
231
228
|
// For certain requestIds we never receive requestWillBeSent event.
|
|
232
229
|
// @see https://crbug.com/750469
|
|
233
230
|
if (!request) {
|
|
234
231
|
return;
|
|
235
232
|
}
|
|
236
|
-
if (
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
event.type === 'Fetch' &&
|
|
240
|
-
((_a = request._url) === null || _a === void 0 ? void 0 : _a.includes('/proxy'))) {
|
|
241
|
-
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
242
|
-
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
243
|
-
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'Consider increasing the disk size of your Lambda function.');
|
|
244
|
-
}
|
|
233
|
+
if (event.canceled) {
|
|
234
|
+
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
235
|
+
return;
|
|
245
236
|
}
|
|
237
|
+
const extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getResponseExtraInfo(event.requestId);
|
|
238
|
+
(0, handle_failed_resource_1.handleFailedResource)({
|
|
239
|
+
extraInfo,
|
|
240
|
+
event,
|
|
241
|
+
indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"),
|
|
242
|
+
logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f"),
|
|
243
|
+
request,
|
|
244
|
+
});
|
|
246
245
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
247
246
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LogLevel } from '../log-level';
|
|
2
|
+
import type { HTTPRequest } from './HTTPRequest';
|
|
3
|
+
import type { LoadingFailedEvent, ResponseReceivedExtraInfoEvent } from './devtools-types';
|
|
4
|
+
export declare const handleFailedResource: ({ extraInfo, logLevel, indent, request, event, }: {
|
|
5
|
+
extraInfo: ResponseReceivedExtraInfoEvent[];
|
|
6
|
+
logLevel: LogLevel;
|
|
7
|
+
indent: boolean;
|
|
8
|
+
request: HTTPRequest;
|
|
9
|
+
event: LoadingFailedEvent;
|
|
10
|
+
}) => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleFailedResource = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
const handleFailedResource = ({ extraInfo, logLevel, indent, request, event, }) => {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
const firstExtraInfo = (_a = extraInfo[0]) !== null && _a !== void 0 ? _a : null;
|
|
8
|
+
logger_1.Log.warn({ indent, logLevel }, `Browser failed to load ${request._url} (${event.type}): ${event.errorText}`);
|
|
9
|
+
if (firstExtraInfo) {
|
|
10
|
+
logger_1.Log.warn({ indent, logLevel }, `HTTP status code: ${firstExtraInfo.statusCode}, headers:`);
|
|
11
|
+
logger_1.Log.warn({ indent, logLevel }, JSON.stringify(firstExtraInfo.headers, null, 2));
|
|
12
|
+
}
|
|
13
|
+
if (event.errorText === 'net::ERR_FAILED' &&
|
|
14
|
+
event.type === 'Fetch' &&
|
|
15
|
+
((_b = request._url) === null || _b === void 0 ? void 0 : _b.includes('/proxy'))) {
|
|
16
|
+
logger_1.Log.warn({ indent, logLevel }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
17
|
+
logger_1.Log.warn({ indent, logLevel }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
18
|
+
logger_1.Log.warn({ indent, logLevel }, 'Consider increasing the disk size of your Lambda function.');
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.handleFailedResource = handleFailedResource;
|
package/dist/client.d.ts
CHANGED
|
@@ -10,10 +10,10 @@ export declare const BrowserSafeApis: {
|
|
|
10
10
|
x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
|
|
11
11
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
12
12
|
validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
13
|
-
validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "
|
|
13
|
+
validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
|
|
14
14
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
15
15
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
16
|
-
DEFAULT_PIXEL_FORMAT: "yuv420p" | "
|
|
16
|
+
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
17
17
|
DEFAULT_TIMEOUT: number;
|
|
18
18
|
DEFAULT_JPEG_QUALITY: number;
|
|
19
19
|
DEFAULT_COLOR_SPACE: "default";
|
|
@@ -467,19 +467,19 @@ export declare const BrowserSafeApis: {
|
|
|
467
467
|
cliFlag: "gl";
|
|
468
468
|
docLink: string;
|
|
469
469
|
name: string;
|
|
470
|
-
type: "
|
|
470
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
471
471
|
ssrName: string;
|
|
472
472
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
473
473
|
getValue: ({ commandLine }: {
|
|
474
474
|
commandLine: Record<string, unknown>;
|
|
475
475
|
}) => {
|
|
476
|
-
value: "
|
|
476
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
477
477
|
source: string;
|
|
478
478
|
} | {
|
|
479
479
|
value: null;
|
|
480
480
|
source: string;
|
|
481
481
|
};
|
|
482
|
-
setConfig: (value: "
|
|
482
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
483
483
|
};
|
|
484
484
|
enableLambdaInsights: {
|
|
485
485
|
name: string;
|
|
@@ -4,9 +4,6 @@ export declare const createFfmpegComplexFilter: ({ filters, downloadMap, }: {
|
|
|
4
4
|
filters: PreprocessedAudioTrack[];
|
|
5
5
|
downloadMap: DownloadMap;
|
|
6
6
|
}) => Promise<{
|
|
7
|
-
complexFilterFlag: [
|
|
8
|
-
string,
|
|
9
|
-
string
|
|
10
|
-
] | null;
|
|
7
|
+
complexFilterFlag: [string, string] | null;
|
|
11
8
|
cleanup: () => void;
|
|
12
9
|
}>;
|
package/dist/index.d.ts
CHANGED
|
@@ -141,10 +141,10 @@ export declare const RenderInternals: {
|
|
|
141
141
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
142
142
|
DEFAULT_BROWSER: "chrome";
|
|
143
143
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
144
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
145
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
144
|
+
DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
145
|
+
validateOpenGlRenderer: (option: unknown) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
146
146
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
147
|
-
DEFAULT_PIXEL_FORMAT: "yuv420p" | "
|
|
147
|
+
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
148
148
|
validateJpegQuality: (q: unknown) => void;
|
|
149
149
|
DEFAULT_TIMEOUT: number;
|
|
150
150
|
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif";
|
|
@@ -338,7 +338,7 @@ export declare const RenderInternals: {
|
|
|
338
338
|
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
339
339
|
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
|
|
340
340
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
341
|
-
type: "
|
|
341
|
+
type: "ffmpeg" | "ffprobe" | "compositor";
|
|
342
342
|
indent: boolean;
|
|
343
343
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
344
344
|
binariesDirectory: string | null;
|
|
@@ -767,7 +767,7 @@ export declare const RenderInternals: {
|
|
|
767
767
|
scale: number;
|
|
768
768
|
port: number | null;
|
|
769
769
|
cancelSignal: import("./make-cancel-signal").CancelSignal | undefined;
|
|
770
|
-
composition: Omit<import("remotion").VideoConfig, "
|
|
770
|
+
composition: Omit<import("remotion").VideoConfig, "defaultProps" | "props">;
|
|
771
771
|
indent: boolean;
|
|
772
772
|
server: import("./prepare-server").RemotionServer | undefined;
|
|
773
773
|
muted: boolean;
|
package/dist/options/gl.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
2
2
|
export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
|
|
3
3
|
export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
|
|
4
|
-
export declare const getChromiumOpenGlRenderer: () => "
|
|
4
|
+
export declare const getChromiumOpenGlRenderer: () => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
5
5
|
export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
|
|
6
6
|
export declare const glOption: {
|
|
7
7
|
cliFlag: "gl";
|
|
8
8
|
docLink: string;
|
|
9
9
|
name: string;
|
|
10
|
-
type: "
|
|
10
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
11
11
|
ssrName: string;
|
|
12
12
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
getValue: ({ commandLine }: {
|
|
14
14
|
commandLine: Record<string, unknown>;
|
|
15
15
|
}) => {
|
|
16
|
-
value: "
|
|
16
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
17
17
|
source: string;
|
|
18
18
|
} | {
|
|
19
19
|
value: null;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -245,19 +245,19 @@ export declare const allOptions: {
|
|
|
245
245
|
cliFlag: "gl";
|
|
246
246
|
docLink: string;
|
|
247
247
|
name: string;
|
|
248
|
-
type: "
|
|
248
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
249
249
|
ssrName: string;
|
|
250
250
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
251
251
|
getValue: ({ commandLine }: {
|
|
252
252
|
commandLine: Record<string, unknown>;
|
|
253
253
|
}) => {
|
|
254
|
-
value: "
|
|
254
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
255
255
|
source: string;
|
|
256
256
|
} | {
|
|
257
257
|
value: null;
|
|
258
258
|
source: string;
|
|
259
259
|
};
|
|
260
|
-
setConfig: (value: "
|
|
260
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
261
261
|
};
|
|
262
262
|
enableLambdaInsights: {
|
|
263
263
|
name: string;
|
package/dist/options/mute.js
CHANGED
|
@@ -13,7 +13,8 @@ exports.mutedOption = {
|
|
|
13
13
|
docLink: 'https://www.remotion.dev/docs/using-audio/#muted-property',
|
|
14
14
|
type: false,
|
|
15
15
|
getValue: ({ commandLine }) => {
|
|
16
|
-
|
|
16
|
+
// we set in minimist `muted` default as null
|
|
17
|
+
if (commandLine[cliFlag] !== null) {
|
|
17
18
|
return {
|
|
18
19
|
source: 'cli',
|
|
19
20
|
value: commandLine[cliFlag],
|
package/dist/pixel-format.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { Codec } from './codec';
|
|
|
2
2
|
export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
3
3
|
export type PixelFormat = (typeof validPixelFormats)[number];
|
|
4
4
|
export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
|
|
5
|
-
export declare const validPixelFormatsForCodec: (codec: Codec) => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "
|
|
5
|
+
export declare const validPixelFormatsForCodec: (codec: Codec) => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
|
|
6
6
|
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
|
package/dist/port-config.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
/// <reference types="bun-types" />
|
|
3
2
|
/// <reference types="node" />
|
|
4
3
|
/// <reference types="node" />
|
|
@@ -7,6 +6,7 @@
|
|
|
7
6
|
/// <reference types="node" />
|
|
8
7
|
/// <reference types="bun-types" />
|
|
9
8
|
/// <reference types="bun-types" />
|
|
9
|
+
/// <reference types="node" />
|
|
10
10
|
import type { NetworkInterfaceInfo } from 'os';
|
|
11
11
|
import os from 'os';
|
|
12
12
|
type PortConfig = {
|
|
@@ -14,7 +14,7 @@ type PortConfig = {
|
|
|
14
14
|
hostsToTry: string[];
|
|
15
15
|
};
|
|
16
16
|
export declare const getPortConfig: (preferIpv4: boolean) => PortConfig;
|
|
17
|
-
export declare const getHostToBind: (flattened: os.NetworkInterfaceInfo[], preferIpv4: boolean) => "
|
|
17
|
+
export declare const getHostToBind: (flattened: os.NetworkInterfaceInfo[], preferIpv4: boolean) => "0.0.0.0" | "::";
|
|
18
18
|
export declare const getHostsToTry: (flattened: os.NetworkInterfaceInfo[]) => string[];
|
|
19
19
|
export declare const flattenNetworkInterfaces: (networkInterfaces: NodeJS.Dict<NetworkInterfaceInfo[]>) => NetworkInterfaceInfo[];
|
|
20
20
|
export declare const isIpV6Supported: (flattened: os.NetworkInterfaceInfo[]) => boolean;
|
|
@@ -201,6 +201,7 @@ const serveHandler = async (request, response, config) => {
|
|
|
201
201
|
`bytes ${streamOpts.start}-${streamOpts.end}/${stats.size}`;
|
|
202
202
|
headers['Content-Length'] = String(streamOpts.end - streamOpts.start + 1);
|
|
203
203
|
}
|
|
204
|
+
headers['Cache-Control'] = 'no-cache, no-store, must-revalidate';
|
|
204
205
|
response.writeHead(response.statusCode || 200, headers);
|
|
205
206
|
stream.pipe(response);
|
|
206
207
|
};
|
package/ensure-browser.mjs
CHANGED
|
@@ -3161,9 +3161,9 @@ var defaultBrowserDownloadProgress = ({
|
|
|
3161
3161
|
}) => () => {
|
|
3162
3162
|
Log.info({ indent, logLevel }, "Downloading Chrome Headless Shell https://www.remotion.dev/docs/miscellaneous/chrome-headless-shell");
|
|
3163
3163
|
Log.info({ indent, logLevel }, `Customize this behavior by adding a onBrowserDownload function to ${api}.`);
|
|
3164
|
+
let lastProgress = 0;
|
|
3164
3165
|
return {
|
|
3165
3166
|
onProgress: (progress) => {
|
|
3166
|
-
let lastProgress = 0;
|
|
3167
3167
|
if (progress.downloadedBytes > lastProgress + 1e7) {
|
|
3168
3168
|
lastProgress = progress.downloadedBytes;
|
|
3169
3169
|
Log.info({ indent, logLevel }, `Downloading Chrome Headless Shell - ${toMegabytes(progress.downloadedBytes)}/${toMegabytes(progress.totalSizeInBytes)}`);
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.212",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.17.1",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/streaming": "4.0.
|
|
21
|
+
"remotion": "4.0.212",
|
|
22
|
+
"@remotion/streaming": "4.0.212"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"@types/ws": "8.5.10"
|
|
35
35
|
},
|
|
36
36
|
"optionalDependencies": {
|
|
37
|
-
"@remotion/compositor-darwin-
|
|
38
|
-
"@remotion/compositor-darwin-
|
|
39
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
40
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
41
|
-
"@remotion/compositor-
|
|
42
|
-
"@remotion/compositor-linux-x64-
|
|
43
|
-
"@remotion/compositor-
|
|
37
|
+
"@remotion/compositor-darwin-x64": "4.0.212",
|
|
38
|
+
"@remotion/compositor-darwin-arm64": "4.0.212",
|
|
39
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.212",
|
|
40
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.212",
|
|
41
|
+
"@remotion/compositor-linux-x64-musl": "4.0.212",
|
|
42
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.212",
|
|
43
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.212"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
46
|
"remotion",
|
package/dist/streaming.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const streamingKey = "remotion_buffer:";
|
|
2
|
-
export declare const makeStreamer: (onMessage: (statusType: 'success' | 'error', nonce: string, data: Uint8Array) => void) => {
|
|
3
|
-
onData: (data: Uint8Array) => void;
|
|
4
|
-
getOutputBuffer: () => Uint8Array;
|
|
5
|
-
clear: () => void;
|
|
6
|
-
};
|
|
7
|
-
export declare const makeStreamPayloadMessage: ({ status, body, nonce, }: {
|
|
8
|
-
nonce: string;
|
|
9
|
-
status: 0 | 1;
|
|
10
|
-
body: Uint8Array;
|
|
11
|
-
}) => Uint8Array;
|
package/dist/streaming.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeStreamPayloadMessage = exports.makeStreamer = exports.streamingKey = void 0;
|
|
4
|
-
exports.streamingKey = 'remotion_buffer:';
|
|
5
|
-
const magicWordStr = 'remotion_buffer:';
|
|
6
|
-
const makeStreamer = (onMessage) => {
|
|
7
|
-
const separator = new Uint8Array(magicWordStr.length);
|
|
8
|
-
for (let i = 0; i < magicWordStr.length; i++) {
|
|
9
|
-
separator[i] = magicWordStr.charCodeAt(i);
|
|
10
|
-
}
|
|
11
|
-
let unprocessedBuffers = [];
|
|
12
|
-
let outputBuffer = new Uint8Array(0);
|
|
13
|
-
let missingData = null;
|
|
14
|
-
const processInput = () => {
|
|
15
|
-
let separatorIndex = outputBuffer.indexOf(separator[0]); // Start checking for the first byte of the separator
|
|
16
|
-
if (separatorIndex === -1 ||
|
|
17
|
-
outputBuffer
|
|
18
|
-
.subarray(separatorIndex, separatorIndex + separator.length)
|
|
19
|
-
.toString() !== separator.toString()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
separatorIndex += separator.length;
|
|
23
|
-
let nonceString = '';
|
|
24
|
-
let lengthString = '';
|
|
25
|
-
let statusString = '';
|
|
26
|
-
// eslint-disable-next-line no-constant-condition
|
|
27
|
-
while (true) {
|
|
28
|
-
if (separatorIndex > outputBuffer.length - 1) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const nextDigit = outputBuffer[separatorIndex];
|
|
32
|
-
separatorIndex++;
|
|
33
|
-
if (nextDigit === 0x3a) {
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
nonceString += String.fromCharCode(nextDigit);
|
|
37
|
-
}
|
|
38
|
-
// eslint-disable-next-line no-constant-condition
|
|
39
|
-
while (true) {
|
|
40
|
-
if (separatorIndex > outputBuffer.length - 1) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const nextDigit = outputBuffer[separatorIndex];
|
|
44
|
-
separatorIndex++;
|
|
45
|
-
if (nextDigit === 0x3a) {
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
lengthString += String.fromCharCode(nextDigit);
|
|
49
|
-
}
|
|
50
|
-
// eslint-disable-next-line no-constant-condition
|
|
51
|
-
while (true) {
|
|
52
|
-
if (separatorIndex > outputBuffer.length - 1) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const nextDigit = outputBuffer[separatorIndex];
|
|
56
|
-
if (nextDigit === 0x3a) {
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
separatorIndex++;
|
|
60
|
-
statusString += String.fromCharCode(nextDigit);
|
|
61
|
-
}
|
|
62
|
-
const length = Number(lengthString);
|
|
63
|
-
const status = Number(statusString);
|
|
64
|
-
const dataLength = outputBuffer.length - separatorIndex - 1;
|
|
65
|
-
if (dataLength < length) {
|
|
66
|
-
missingData = {
|
|
67
|
-
dataMissing: length - dataLength,
|
|
68
|
-
};
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const data = outputBuffer.subarray(separatorIndex + 1, separatorIndex + 1 + Number(lengthString));
|
|
72
|
-
onMessage(status === 1 ? 'error' : 'success', nonceString, data);
|
|
73
|
-
missingData = null;
|
|
74
|
-
outputBuffer = outputBuffer.subarray(separatorIndex + Number(lengthString) + 1);
|
|
75
|
-
processInput();
|
|
76
|
-
};
|
|
77
|
-
const onData = (data) => {
|
|
78
|
-
unprocessedBuffers.push(data);
|
|
79
|
-
const separatorIndex = data.indexOf(separator[0]);
|
|
80
|
-
if (separatorIndex === -1) {
|
|
81
|
-
if (missingData) {
|
|
82
|
-
missingData.dataMissing -= data.length;
|
|
83
|
-
}
|
|
84
|
-
if (!missingData || missingData.dataMissing > 0) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
unprocessedBuffers.unshift(outputBuffer);
|
|
89
|
-
outputBuffer = new Uint8Array(unprocessedBuffers.reduce((acc, val) => acc + val.length, 0));
|
|
90
|
-
let offset = 0;
|
|
91
|
-
for (const buf of unprocessedBuffers) {
|
|
92
|
-
outputBuffer.set(buf, offset);
|
|
93
|
-
offset += buf.length;
|
|
94
|
-
}
|
|
95
|
-
unprocessedBuffers = [];
|
|
96
|
-
processInput();
|
|
97
|
-
};
|
|
98
|
-
return {
|
|
99
|
-
onData,
|
|
100
|
-
getOutputBuffer: () => outputBuffer,
|
|
101
|
-
clear: () => {
|
|
102
|
-
unprocessedBuffers = [];
|
|
103
|
-
outputBuffer = new Uint8Array(0);
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
exports.makeStreamer = makeStreamer;
|
|
108
|
-
const makeStreamPayloadMessage = ({ status, body, nonce, }) => {
|
|
109
|
-
const nonceArr = new TextEncoder().encode(nonce);
|
|
110
|
-
const magicWordArr = new TextEncoder().encode(magicWordStr);
|
|
111
|
-
const separatorArr = new TextEncoder().encode(':');
|
|
112
|
-
const bodyLengthArr = new TextEncoder().encode(body.length.toString());
|
|
113
|
-
const statusArr = new TextEncoder().encode(String(status));
|
|
114
|
-
// Calculate total length of new Uint8Array
|
|
115
|
-
const totalLength = nonceArr.length +
|
|
116
|
-
magicWordArr.length +
|
|
117
|
-
separatorArr.length * 3 +
|
|
118
|
-
bodyLengthArr.length +
|
|
119
|
-
statusArr.length +
|
|
120
|
-
body.length;
|
|
121
|
-
// Create a new Uint8Array to hold all combined parts
|
|
122
|
-
const concat = new Uint8Array(totalLength);
|
|
123
|
-
let offset = 0;
|
|
124
|
-
// Function to append data to concat
|
|
125
|
-
const appendToConcat = (data) => {
|
|
126
|
-
concat.set(data, offset);
|
|
127
|
-
offset += data.length;
|
|
128
|
-
};
|
|
129
|
-
// Building the final Uint8Array
|
|
130
|
-
appendToConcat(magicWordArr);
|
|
131
|
-
appendToConcat(nonceArr);
|
|
132
|
-
appendToConcat(separatorArr);
|
|
133
|
-
appendToConcat(bodyLengthArr);
|
|
134
|
-
appendToConcat(separatorArr);
|
|
135
|
-
appendToConcat(statusArr);
|
|
136
|
-
appendToConcat(separatorArr);
|
|
137
|
-
appendToConcat(body);
|
|
138
|
-
return concat;
|
|
139
|
-
};
|
|
140
|
-
exports.makeStreamPayloadMessage = makeStreamPayloadMessage;
|