@remotion/webcodecs 4.0.240 → 4.0.241
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/convert-media.d.ts +2 -1
- package/dist/convert-media.js +11 -1
- package/dist/esm/index.mjs +120 -0
- package/dist/send-telemetry-event.d.ts +4 -0
- package/dist/send-telemetry-event.js +22 -0
- package/package.json +5 -4
package/dist/convert-media.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export type ConvertMediaOnVideoFrame = (options: {
|
|
|
28
28
|
frame: VideoFrame;
|
|
29
29
|
track: VideoTrack;
|
|
30
30
|
}) => Promise<VideoFrame> | VideoFrame;
|
|
31
|
-
export declare const convertMedia: <F extends Options<ParseMediaFields>>({ src, onVideoFrame, onProgress: onProgressDoNotCallDirectly, audioCodec, container, videoCodec, signal: userPassedAbortSignal, onAudioTrack: userAudioResolver, onVideoTrack: userVideoResolver, reader, fields, logLevel, writer, progressIntervalInMs, rotate, ...more }: {
|
|
31
|
+
export declare const convertMedia: <F extends Options<ParseMediaFields>>({ src, onVideoFrame, onProgress: onProgressDoNotCallDirectly, audioCodec, container, videoCodec, signal: userPassedAbortSignal, onAudioTrack: userAudioResolver, onVideoTrack: userVideoResolver, reader, fields, logLevel, writer, progressIntervalInMs, rotate, apiKey, ...more }: {
|
|
32
32
|
src: ParseMediaOptions<F>["src"];
|
|
33
33
|
container: ConvertMediaContainer;
|
|
34
34
|
onVideoFrame?: ConvertMediaOnVideoFrame;
|
|
@@ -43,4 +43,5 @@ export declare const convertMedia: <F extends Options<ParseMediaFields>>({ src,
|
|
|
43
43
|
writer?: WriterInterface;
|
|
44
44
|
progressIntervalInMs?: number;
|
|
45
45
|
rotate?: number;
|
|
46
|
+
apiKey?: string | null;
|
|
46
47
|
} & ParseMediaDynamicOptions<F>) => Promise<ConvertMediaResult>;
|
package/dist/convert-media.js
CHANGED
|
@@ -13,11 +13,13 @@ const auto_select_writer_1 = require("./auto-select-writer");
|
|
|
13
13
|
const calculate_progress_1 = require("./calculate-progress");
|
|
14
14
|
const error_cause_1 = __importDefault(require("./error-cause"));
|
|
15
15
|
const generate_output_filename_1 = require("./generate-output-filename");
|
|
16
|
+
const log_1 = require("./log");
|
|
16
17
|
const on_audio_track_1 = require("./on-audio-track");
|
|
17
18
|
const on_video_track_1 = require("./on-video-track");
|
|
18
19
|
const select_container_creator_1 = require("./select-container-creator");
|
|
20
|
+
const send_telemetry_event_1 = require("./send-telemetry-event");
|
|
19
21
|
const throttled_state_update_1 = require("./throttled-state-update");
|
|
20
|
-
const convertMedia = async function ({ src, onVideoFrame, onProgress: onProgressDoNotCallDirectly, audioCodec, container, videoCodec, signal: userPassedAbortSignal, onAudioTrack: userAudioResolver, onVideoTrack: userVideoResolver, reader, fields, logLevel = 'info', writer, progressIntervalInMs, rotate, ...more }) {
|
|
22
|
+
const convertMedia = async function ({ src, onVideoFrame, onProgress: onProgressDoNotCallDirectly, audioCodec, container, videoCodec, signal: userPassedAbortSignal, onAudioTrack: userAudioResolver, onVideoTrack: userVideoResolver, reader, fields, logLevel = 'info', writer, progressIntervalInMs, rotate, apiKey, ...more }) {
|
|
21
23
|
var _a, _b;
|
|
22
24
|
if (userPassedAbortSignal === null || userPassedAbortSignal === void 0 ? void 0 : userPassedAbortSignal.aborted) {
|
|
23
25
|
return Promise.reject(new error_cause_1.default('Aborted'));
|
|
@@ -145,8 +147,16 @@ const convertMedia = async function ({ src, onVideoFrame, onProgress: onProgress
|
|
|
145
147
|
remove: state.remove,
|
|
146
148
|
finalState: throttledState.get(),
|
|
147
149
|
});
|
|
150
|
+
})
|
|
151
|
+
.then(() => {
|
|
152
|
+
(0, send_telemetry_event_1.sendUsageEvent)({ succeeded: true, apiKey: apiKey !== null && apiKey !== void 0 ? apiKey : null }).catch((err) => {
|
|
153
|
+
log_1.Log.error('Failed to send usage event', err);
|
|
154
|
+
});
|
|
148
155
|
})
|
|
149
156
|
.catch((err) => {
|
|
157
|
+
(0, send_telemetry_event_1.sendUsageEvent)({ succeeded: false, apiKey: apiKey !== null && apiKey !== void 0 ? apiKey : null }).catch((err2) => {
|
|
158
|
+
log_1.Log.error('Failed to send usage event hmm', err2);
|
|
159
|
+
});
|
|
150
160
|
reject(err);
|
|
151
161
|
})
|
|
152
162
|
.finally(() => {
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,3 +1,97 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
7
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
8
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
9
|
+
for (let key of __getOwnPropNames(mod))
|
|
10
|
+
if (!__hasOwnProp.call(to, key))
|
|
11
|
+
__defProp(to, key, {
|
|
12
|
+
get: () => mod[key],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
18
|
+
|
|
19
|
+
// ../licensing/dist/register-usage-point.js
|
|
20
|
+
var require_register_usage_point = __commonJS((exports) => {
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.registerUsageEvent = exports.HOST = undefined;
|
|
23
|
+
exports.HOST = "https://www.remotion.pro";
|
|
24
|
+
var registerUsageEvent = async ({ apiKey, host, succeeded, event }) => {
|
|
25
|
+
const res = await fetch(`${exports.HOST}/api/track/register-usage-point`, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
body: JSON.stringify({
|
|
28
|
+
event,
|
|
29
|
+
apiKey,
|
|
30
|
+
host,
|
|
31
|
+
succeeded
|
|
32
|
+
}),
|
|
33
|
+
headers: {
|
|
34
|
+
"Content-Type": "application/json"
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const json = await res.json();
|
|
38
|
+
if (json.success) {
|
|
39
|
+
return {
|
|
40
|
+
billable: json.billable,
|
|
41
|
+
classification: json.classification
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (!res.ok) {
|
|
45
|
+
throw new Error(json.error);
|
|
46
|
+
}
|
|
47
|
+
const read = await res.json();
|
|
48
|
+
return read;
|
|
49
|
+
};
|
|
50
|
+
exports.registerUsageEvent = registerUsageEvent;
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// ../licensing/dist/get-usage.js
|
|
54
|
+
var require_get_usage = __commonJS((exports) => {
|
|
55
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
+
exports.getUsage = undefined;
|
|
57
|
+
var register_usage_point_1 = require_register_usage_point();
|
|
58
|
+
var getUsage = async ({ apiKey, since }) => {
|
|
59
|
+
const res = await fetch(`${register_usage_point_1.HOST}/api/track/get-usage`, {
|
|
60
|
+
method: "POST",
|
|
61
|
+
body: JSON.stringify({
|
|
62
|
+
apiKey,
|
|
63
|
+
since: since !== null && since !== undefined ? since : null
|
|
64
|
+
}),
|
|
65
|
+
headers: {
|
|
66
|
+
"Content-Type": "application/json"
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
const json = await res.json();
|
|
70
|
+
if (json.success) {
|
|
71
|
+
return {
|
|
72
|
+
cloudRenders: json.cloudRenders,
|
|
73
|
+
webcodecConversions: json.webcodecConversions
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
throw new Error(json.error);
|
|
77
|
+
};
|
|
78
|
+
exports.getUsage = getUsage;
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// ../licensing/dist/index.js
|
|
82
|
+
var require_dist = __commonJS((exports) => {
|
|
83
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
84
|
+
exports.getUsage = exports.registerUsageEvent = undefined;
|
|
85
|
+
var register_usage_point_1 = require_register_usage_point();
|
|
86
|
+
Object.defineProperty(exports, "registerUsageEvent", { enumerable: true, get: function() {
|
|
87
|
+
return register_usage_point_1.registerUsageEvent;
|
|
88
|
+
} });
|
|
89
|
+
var get_usage_1 = require_get_usage();
|
|
90
|
+
Object.defineProperty(exports, "getUsage", { enumerable: true, get: function() {
|
|
91
|
+
return get_usage_1.getUsage;
|
|
92
|
+
} });
|
|
93
|
+
});
|
|
94
|
+
|
|
1
95
|
// src/rotation.ts
|
|
2
96
|
var calculateNewDimensionsFromDimensions = ({
|
|
3
97
|
width,
|
|
@@ -1475,6 +1569,24 @@ var selectContainerCreator = (container) => {
|
|
|
1475
1569
|
throw new Error(`Unsupported container: ${container}`);
|
|
1476
1570
|
};
|
|
1477
1571
|
|
|
1572
|
+
// src/send-telemetry-event.ts
|
|
1573
|
+
var import_licensing = __toESM(require_dist(), 1);
|
|
1574
|
+
var sendUsageEvent = async ({
|
|
1575
|
+
apiKey,
|
|
1576
|
+
succeeded
|
|
1577
|
+
}) => {
|
|
1578
|
+
const host = typeof window === "undefined" ? null : typeof window.location === "undefined" ? null : window.location.origin ?? null;
|
|
1579
|
+
if (host === null) {
|
|
1580
|
+
return;
|
|
1581
|
+
}
|
|
1582
|
+
await import_licensing.registerUsageEvent({
|
|
1583
|
+
apiKey,
|
|
1584
|
+
event: "webcodec-conversion",
|
|
1585
|
+
host,
|
|
1586
|
+
succeeded
|
|
1587
|
+
});
|
|
1588
|
+
};
|
|
1589
|
+
|
|
1478
1590
|
// src/throttled-state-update.ts
|
|
1479
1591
|
var throttledStateUpdate = ({
|
|
1480
1592
|
updateFn,
|
|
@@ -1544,6 +1656,7 @@ var convertMedia = async function({
|
|
|
1544
1656
|
writer,
|
|
1545
1657
|
progressIntervalInMs,
|
|
1546
1658
|
rotate,
|
|
1659
|
+
apiKey,
|
|
1547
1660
|
...more
|
|
1548
1661
|
}) {
|
|
1549
1662
|
if (userPassedAbortSignal?.aborted) {
|
|
@@ -1667,7 +1780,14 @@ var convertMedia = async function({
|
|
|
1667
1780
|
remove: state.remove,
|
|
1668
1781
|
finalState: throttledState.get()
|
|
1669
1782
|
});
|
|
1783
|
+
}).then(() => {
|
|
1784
|
+
sendUsageEvent({ succeeded: true, apiKey: apiKey ?? null }).catch((err) => {
|
|
1785
|
+
Log.error("Failed to send usage event", err);
|
|
1786
|
+
});
|
|
1670
1787
|
}).catch((err) => {
|
|
1788
|
+
sendUsageEvent({ succeeded: false, apiKey: apiKey ?? null }).catch((err2) => {
|
|
1789
|
+
Log.error("Failed to send usage event hmm", err2);
|
|
1790
|
+
});
|
|
1671
1791
|
reject(err);
|
|
1672
1792
|
}).finally(() => {
|
|
1673
1793
|
throttledState.stopAndGetLastProgress();
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendUsageEvent = void 0;
|
|
4
|
+
const licensing_1 = require("@remotion/licensing");
|
|
5
|
+
const sendUsageEvent = async ({ apiKey, succeeded, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
const host = typeof window === 'undefined'
|
|
8
|
+
? null
|
|
9
|
+
: typeof window.location === 'undefined'
|
|
10
|
+
? null
|
|
11
|
+
: ((_a = window.location.origin) !== null && _a !== void 0 ? _a : null);
|
|
12
|
+
if (host === null) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
await (0, licensing_1.registerUsageEvent)({
|
|
16
|
+
apiKey,
|
|
17
|
+
event: 'webcodec-conversion',
|
|
18
|
+
host,
|
|
19
|
+
succeeded,
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
exports.sendUsageEvent = sendUsageEvent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/webcodecs",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.241",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/esm/index.mjs",
|
|
@@ -17,14 +17,15 @@
|
|
|
17
17
|
"author": "Jonny Burger <jonny@remotion.dev>",
|
|
18
18
|
"license": "Remotion License (See https://remotion.dev/docs/webcodecs#license)",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@remotion/media-parser": "4.0.
|
|
20
|
+
"@remotion/media-parser": "4.0.241",
|
|
21
|
+
"@remotion/licensing": "4.0.241"
|
|
21
22
|
},
|
|
22
23
|
"peerDependencies": {},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@types/dom-webcodecs": "0.1.11",
|
|
25
26
|
"eslint": "9.14.0",
|
|
26
|
-
"@remotion/example-videos": "4.0.
|
|
27
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
27
|
+
"@remotion/example-videos": "4.0.241",
|
|
28
|
+
"@remotion/eslint-config-internal": "4.0.241"
|
|
28
29
|
},
|
|
29
30
|
"keywords": [],
|
|
30
31
|
"publishConfig": {
|