Release v0.10.0
This commit is contained in:
parent
a4938281aa
commit
5cafc73545
@ -47,7 +47,7 @@ $ node --experimental-wasm-threads --experimental-wasm-bulk-memory transcode.js
|
|||||||
Or, using a script tag in the browser (only works in some browsers, see list below):
|
Or, using a script tag in the browser (only works in some browsers, see list below):
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<script src="https://unpkg.com/@ffmpeg/ffmpeg@0.9.8/dist/ffmpeg.min.js"></script>
|
<script src="https://unpkg.com/@ffmpeg/ffmpeg@0.10.0/dist/ffmpeg.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const { createFFmpeg } = FFmpeg;
|
const { createFFmpeg } = FFmpeg;
|
||||||
...
|
...
|
||||||
@ -99,7 +99,7 @@ const ffmpeg = createFFmpeg({
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const ffmpeg = createFFmpeg({
|
const ffmpeg = createFFmpeg({
|
||||||
corePath: 'https://unpkg.com/@ffmpeg/core@0.9.0/dist/ffmpeg-core.js',
|
corePath: 'https://unpkg.com/@ffmpeg/core@0.10.0/dist/ffmpeg-core.js',
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
18
docs/api.md
18
docs/api.md
@ -4,6 +4,7 @@
|
|||||||
- [ffmpeg.load()](#ffmpeg-load)
|
- [ffmpeg.load()](#ffmpeg-load)
|
||||||
- [ffmpeg.run()](#ffmpeg-run)
|
- [ffmpeg.run()](#ffmpeg-run)
|
||||||
- [ffmpeg.FS()](#ffmpeg-fs)
|
- [ffmpeg.FS()](#ffmpeg-fs)
|
||||||
|
- [ffmpeg.exit()](#ffmpeg-exit)
|
||||||
- [ffmpeg.setLogging()](#ffmpeg-setlogging)
|
- [ffmpeg.setLogging()](#ffmpeg-setlogging)
|
||||||
- [ffmpeg.setLogger()](#ffmpeg-setlogger)
|
- [ffmpeg.setLogger()](#ffmpeg-setlogger)
|
||||||
- [ffmpeg.setProgress()](#ffmpeg-setProgress)
|
- [ffmpeg.setProgress()](#ffmpeg-setProgress)
|
||||||
@ -98,6 +99,23 @@ ffmpeg.FS('readFile', 'video.mp4');
|
|||||||
ffmpeg.FS('unlink', 'video.mp4');
|
ffmpeg.FS('unlink', 'video.mp4');
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<a name="ffmpeg-exit"></a>
|
||||||
|
|
||||||
|
### ffmpeg.exit()
|
||||||
|
|
||||||
|
Kill the execution of the program, also remove MEMFS to free memory
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const ffmpeg = createFFmpeg({ log: true });
|
||||||
|
await ffmpeg.load(...);
|
||||||
|
setTimeout(() => {
|
||||||
|
ffmpeg.exit(); // ffmpeg.exit() is callable only after load() stage.
|
||||||
|
}, 1000);
|
||||||
|
await ffmpeg.run(...);
|
||||||
|
```
|
||||||
|
|
||||||
<a name="ffmpeg-setlogging"></a>
|
<a name="ffmpeg-setlogging"></a>
|
||||||
|
|
||||||
### ffmpeg.setLogging(logging)
|
### ffmpeg.setLogging(logging)
|
||||||
|
@ -18,16 +18,22 @@
|
|||||||
<h3>Upload a video to transcode to mp4 (x264) and play!</h3>
|
<h3>Upload a video to transcode to mp4 (x264) and play!</h3>
|
||||||
<video id="output-video" controls></video><br/>
|
<video id="output-video" controls></video><br/>
|
||||||
<input type="file" id="uploader">
|
<input type="file" id="uploader">
|
||||||
|
<button onClick="cancel()">Cancel</button>
|
||||||
<p id="message"></p>
|
<p id="message"></p>
|
||||||
<script>
|
<script>
|
||||||
const { createFFmpeg, fetchFile } = FFmpeg;
|
const { createFFmpeg, fetchFile } = FFmpeg;
|
||||||
const ffmpeg = createFFmpeg({ log: true });
|
let ffmpeg = null;
|
||||||
|
|
||||||
const transcode = async ({ target: { files } }) => {
|
const transcode = async ({ target: { files } }) => {
|
||||||
|
if (ffmpeg === null) {
|
||||||
|
ffmpeg = createFFmpeg({ log: true });
|
||||||
|
}
|
||||||
const message = document.getElementById('message');
|
const message = document.getElementById('message');
|
||||||
const { name } = files[0];
|
const { name } = files[0];
|
||||||
message.innerHTML = 'Loading ffmpeg-core.js';
|
message.innerHTML = 'Loading ffmpeg-core.js';
|
||||||
|
if (!ffmpeg.isLoaded()) {
|
||||||
await ffmpeg.load();
|
await ffmpeg.load();
|
||||||
|
}
|
||||||
ffmpeg.FS('writeFile', name, await fetchFile(files[0]));
|
ffmpeg.FS('writeFile', name, await fetchFile(files[0]));
|
||||||
message.innerHTML = 'Start transcoding';
|
message.innerHTML = 'Start transcoding';
|
||||||
await ffmpeg.run('-i', name, 'output.mp4');
|
await ffmpeg.run('-i', name, 'output.mp4');
|
||||||
@ -39,6 +45,13 @@
|
|||||||
}
|
}
|
||||||
const elm = document.getElementById('uploader');
|
const elm = document.getElementById('uploader');
|
||||||
elm.addEventListener('change', transcode);
|
elm.addEventListener('change', transcode);
|
||||||
|
|
||||||
|
const cancel = () => {
|
||||||
|
try {
|
||||||
|
ffmpeg.exit();
|
||||||
|
} catch(e) {}
|
||||||
|
ffmpeg = null;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
8
package-lock.json
generated
8
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ffmpeg/ffmpeg",
|
"name": "@ffmpeg/ffmpeg",
|
||||||
"version": "0.9.8",
|
"version": "0.10.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -2065,9 +2065,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ffmpeg/core": {
|
"@ffmpeg/core": {
|
||||||
"version": "0.9.0",
|
"version": "0.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.10.0.tgz",
|
||||||
"integrity": "sha512-d931yzQpb8GRgTZr+T7+BMqglPZ1R8FPH3W3UA8I21RzuasRHsMwQ4MQTlS9twjfqvUGIkD8p/8mNToUVN/Yrw==",
|
"integrity": "sha512-qunWJl5PezpXEm31tb8Qu5z37B5KVA1VYZCpXchMhuAb3X9T7PuE3SlhOwphEoRhzaOa3lpofDfzihAUMFaVPQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@hapi/hoek": {
|
"@hapi/hoek": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ffmpeg/ffmpeg",
|
"name": "@ffmpeg/ffmpeg",
|
||||||
"version": "0.9.8",
|
"version": "0.10.0",
|
||||||
"description": "FFmpeg WebAssembly version",
|
"description": "FFmpeg WebAssembly version",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"types": "src/index.d.ts",
|
"types": "src/index.d.ts",
|
||||||
@ -50,7 +50,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.12.3",
|
"@babel/core": "^7.12.3",
|
||||||
"@babel/preset-env": "^7.12.1",
|
"@babel/preset-env": "^7.12.1",
|
||||||
"@ffmpeg/core": "^0.9.0",
|
"@ffmpeg/core": "^0.10.0",
|
||||||
"@types/emscripten": "^1.39.4",
|
"@types/emscripten": "^1.39.4",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
|
Loading…
Reference in New Issue
Block a user