@remotion/webcodecs 4.0.428 → 4.0.429
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/README.md +7 -18
- package/dist/auto-select-writer.js +1 -1
- package/dist/esm/index.mjs +57 -57
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
# @remotion/webcodecs
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
Media conversion in the browser
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
[](https://npmcharts.com/compare/@remotion/webcodecs?minimal=true)
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
## Installation
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
```bash
|
|
10
10
|
npm install @remotion/webcodecs --save-exact
|
|
11
11
|
```
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version.
|
|
14
14
|
Remove the `^` character from the version number to use the exact version.
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
See the [documentation](https://remotion.dev/webcodecs) for more information.
|
|
19
|
-
|
|
20
|
-
## License
|
|
21
|
-
This package is licensed under the [Remotion License](/docs/license).
|
|
22
|
-
We consider a team of 4 or more people a "company".
|
|
23
|
-
|
|
24
|
-
**For "companies"**: A Remotion Company license needs to be obtained to use this package.
|
|
25
|
-
In a future version of `@remotion/webcodecs`, this package will also require the purchase of a newly created "WebCodecs Conversion Seat". [Get in touch](https://remotion.dev/contact) with us if you are planning to use this package.
|
|
26
15
|
|
|
27
|
-
|
|
16
|
+
## Usage
|
|
28
17
|
|
|
29
|
-
|
|
18
|
+
See the [documentation](https://remotion.dev/webcodecs) for more information.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.autoSelectWriter = void 0;
|
|
4
|
-
const web_fs_1 = require("./writers/web-fs");
|
|
5
4
|
const with_resolvers_1 = require("./create/with-resolvers");
|
|
6
5
|
const log_1 = require("./log");
|
|
7
6
|
const buffer_1 = require("./writers/buffer");
|
|
7
|
+
const web_fs_1 = require("./writers/web-fs");
|
|
8
8
|
const autoSelectWriter = async (writer, logLevel) => {
|
|
9
9
|
if (writer) {
|
|
10
10
|
log_1.Log.verbose(logLevel, 'Using writer provided by user');
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
|
+
// src/writers/buffer-implementation/writer.ts
|
|
2
|
+
var createContent = ({ filename, mimeType }) => {
|
|
3
|
+
const buf = new ArrayBuffer(0, {
|
|
4
|
+
maxByteLength: 2000000000
|
|
5
|
+
});
|
|
6
|
+
if (!buf.resize) {
|
|
7
|
+
throw new Error("Could not create buffer writer");
|
|
8
|
+
}
|
|
9
|
+
const write = (newData) => {
|
|
10
|
+
const oldLength = buf.byteLength;
|
|
11
|
+
const newLength = oldLength + newData.byteLength;
|
|
12
|
+
buf.resize(newLength);
|
|
13
|
+
const newArray = new Uint8Array(buf);
|
|
14
|
+
newArray.set(newData, oldLength);
|
|
15
|
+
};
|
|
16
|
+
const updateDataAt = (position, newData) => {
|
|
17
|
+
const newArray = new Uint8Array(buf);
|
|
18
|
+
newArray.set(newData, position);
|
|
19
|
+
};
|
|
20
|
+
let writPromise = Promise.resolve();
|
|
21
|
+
let removed = false;
|
|
22
|
+
const writer = {
|
|
23
|
+
write: (arr) => {
|
|
24
|
+
writPromise = writPromise.then(() => write(arr));
|
|
25
|
+
return writPromise;
|
|
26
|
+
},
|
|
27
|
+
finish: async () => {
|
|
28
|
+
await writPromise;
|
|
29
|
+
if (removed) {
|
|
30
|
+
return Promise.reject(new Error("Already called .remove() on the result"));
|
|
31
|
+
}
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
},
|
|
34
|
+
getBlob() {
|
|
35
|
+
const arr = new Uint8Array(buf);
|
|
36
|
+
return Promise.resolve(new File([arr.slice()], filename, { type: mimeType }));
|
|
37
|
+
},
|
|
38
|
+
remove() {
|
|
39
|
+
removed = true;
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
},
|
|
42
|
+
getWrittenByteCount: () => buf.byteLength,
|
|
43
|
+
updateDataAt: (position, newData) => {
|
|
44
|
+
writPromise = writPromise.then(() => updateDataAt(position, newData));
|
|
45
|
+
return writPromise;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return Promise.resolve(writer);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// src/writers/buffer.ts
|
|
52
|
+
var bufferWriter = {
|
|
53
|
+
createContent
|
|
54
|
+
};
|
|
55
|
+
|
|
1
56
|
// src/writers/web-fs.ts
|
|
2
|
-
var
|
|
57
|
+
var createContent2 = async ({ filename }) => {
|
|
3
58
|
const directoryHandle = await navigator.storage.getDirectory();
|
|
4
59
|
const actualFilename = `__remotion_mediaparser:${filename}`;
|
|
5
60
|
const remove = async () => {
|
|
@@ -53,7 +108,7 @@ var createContent = async ({ filename }) => {
|
|
|
53
108
|
return writer;
|
|
54
109
|
};
|
|
55
110
|
var webFsWriter = {
|
|
56
|
-
createContent
|
|
111
|
+
createContent: createContent2
|
|
57
112
|
};
|
|
58
113
|
var canUseWebFsWriter = async () => {
|
|
59
114
|
if (!("storage" in navigator)) {
|
|
@@ -74,61 +129,6 @@ var canUseWebFsWriter = async () => {
|
|
|
74
129
|
}
|
|
75
130
|
};
|
|
76
131
|
|
|
77
|
-
// src/writers/buffer-implementation/writer.ts
|
|
78
|
-
var createContent2 = ({ filename, mimeType }) => {
|
|
79
|
-
const buf = new ArrayBuffer(0, {
|
|
80
|
-
maxByteLength: 2000000000
|
|
81
|
-
});
|
|
82
|
-
if (!buf.resize) {
|
|
83
|
-
throw new Error("Could not create buffer writer");
|
|
84
|
-
}
|
|
85
|
-
const write = (newData) => {
|
|
86
|
-
const oldLength = buf.byteLength;
|
|
87
|
-
const newLength = oldLength + newData.byteLength;
|
|
88
|
-
buf.resize(newLength);
|
|
89
|
-
const newArray = new Uint8Array(buf);
|
|
90
|
-
newArray.set(newData, oldLength);
|
|
91
|
-
};
|
|
92
|
-
const updateDataAt = (position, newData) => {
|
|
93
|
-
const newArray = new Uint8Array(buf);
|
|
94
|
-
newArray.set(newData, position);
|
|
95
|
-
};
|
|
96
|
-
let writPromise = Promise.resolve();
|
|
97
|
-
let removed = false;
|
|
98
|
-
const writer = {
|
|
99
|
-
write: (arr) => {
|
|
100
|
-
writPromise = writPromise.then(() => write(arr));
|
|
101
|
-
return writPromise;
|
|
102
|
-
},
|
|
103
|
-
finish: async () => {
|
|
104
|
-
await writPromise;
|
|
105
|
-
if (removed) {
|
|
106
|
-
return Promise.reject(new Error("Already called .remove() on the result"));
|
|
107
|
-
}
|
|
108
|
-
return Promise.resolve();
|
|
109
|
-
},
|
|
110
|
-
getBlob() {
|
|
111
|
-
const arr = new Uint8Array(buf);
|
|
112
|
-
return Promise.resolve(new File([arr.slice()], filename, { type: mimeType }));
|
|
113
|
-
},
|
|
114
|
-
remove() {
|
|
115
|
-
removed = true;
|
|
116
|
-
return Promise.resolve();
|
|
117
|
-
},
|
|
118
|
-
getWrittenByteCount: () => buf.byteLength,
|
|
119
|
-
updateDataAt: (position, newData) => {
|
|
120
|
-
writPromise = writPromise.then(() => updateDataAt(position, newData));
|
|
121
|
-
return writPromise;
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
return Promise.resolve(writer);
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// src/writers/buffer.ts
|
|
128
|
-
var bufferWriter = {
|
|
129
|
-
createContent: createContent2
|
|
130
|
-
};
|
|
131
|
-
|
|
132
132
|
// src/resizing/calculate-new-size.ts
|
|
133
133
|
var ensureMultipleOfTwo = ({
|
|
134
134
|
dimensions,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/webcodecs",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.429",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/esm/index.mjs",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"formatting": "
|
|
15
|
+
"formatting": "oxfmt src --check",
|
|
16
16
|
"lint": "eslint src",
|
|
17
17
|
"test": "bun test src/test",
|
|
18
18
|
"testwebcodecs": "playwright test src/it-tests",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"author": "Jonny Burger <jonny@remotion.dev>",
|
|
28
28
|
"license": "Remotion License (See https://remotion.dev/docs/webcodecs#license)",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@remotion/media-parser": "4.0.
|
|
30
|
+
"@remotion/media-parser": "4.0.429"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/dom-webcodecs": "0.1.11",
|
|
35
|
-
"@remotion/example-videos": "4.0.
|
|
36
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
35
|
+
"@remotion/example-videos": "4.0.429",
|
|
36
|
+
"@remotion/eslint-config-internal": "4.0.429",
|
|
37
37
|
"playwright": "1.55.1",
|
|
38
38
|
"vite": "5.4.21",
|
|
39
39
|
"@playwright/test": "1.55.1",
|