Release v0.10.0

This commit is contained in:
Jerome Wu 2021-05-17 17:03:07 +08:00
parent a4938281aa
commit 5cafc73545
5 changed files with 41 additions and 10 deletions

View File

@ -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):
```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>
const { createFFmpeg } = FFmpeg;
...
@ -99,7 +99,7 @@ const ffmpeg = createFFmpeg({
```javascript
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',
});
```

View File

@ -4,6 +4,7 @@
- [ffmpeg.load()](#ffmpeg-load)
- [ffmpeg.run()](#ffmpeg-run)
- [ffmpeg.FS()](#ffmpeg-fs)
- [ffmpeg.exit()](#ffmpeg-exit)
- [ffmpeg.setLogging()](#ffmpeg-setlogging)
- [ffmpeg.setLogger()](#ffmpeg-setlogger)
- [ffmpeg.setProgress()](#ffmpeg-setProgress)
@ -98,6 +99,23 @@ ffmpeg.FS('readFile', '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>
### ffmpeg.setLogging(logging)

View File

@ -18,16 +18,22 @@
<h3>Upload a video to transcode to mp4 (x264) and play!</h3>
<video id="output-video" controls></video><br/>
<input type="file" id="uploader">
<button onClick="cancel()">Cancel</button>
<p id="message"></p>
<script>
const { createFFmpeg, fetchFile } = FFmpeg;
const ffmpeg = createFFmpeg({ log: true });
let ffmpeg = null;
const transcode = async ({ target: { files } }) => {
if (ffmpeg === null) {
ffmpeg = createFFmpeg({ log: true });
}
const message = document.getElementById('message');
const { name } = files[0];
message.innerHTML = 'Loading ffmpeg-core.js';
if (!ffmpeg.isLoaded()) {
await ffmpeg.load();
}
ffmpeg.FS('writeFile', name, await fetchFile(files[0]));
message.innerHTML = 'Start transcoding';
await ffmpeg.run('-i', name, 'output.mp4');
@ -39,6 +45,13 @@
}
const elm = document.getElementById('uploader');
elm.addEventListener('change', transcode);
const cancel = () => {
try {
ffmpeg.exit();
} catch(e) {}
ffmpeg = null;
}
</script>
</body>
</html>

8
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@ffmpeg/ffmpeg",
"version": "0.9.8",
"version": "0.10.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -2065,9 +2065,9 @@
}
},
"@ffmpeg/core": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.9.0.tgz",
"integrity": "sha512-d931yzQpb8GRgTZr+T7+BMqglPZ1R8FPH3W3UA8I21RzuasRHsMwQ4MQTlS9twjfqvUGIkD8p/8mNToUVN/Yrw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.10.0.tgz",
"integrity": "sha512-qunWJl5PezpXEm31tb8Qu5z37B5KVA1VYZCpXchMhuAb3X9T7PuE3SlhOwphEoRhzaOa3lpofDfzihAUMFaVPQ==",
"dev": true
},
"@hapi/hoek": {

View File

@ -1,6 +1,6 @@
{
"name": "@ffmpeg/ffmpeg",
"version": "0.9.8",
"version": "0.10.0",
"description": "FFmpeg WebAssembly version",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -50,7 +50,7 @@
"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/preset-env": "^7.12.1",
"@ffmpeg/core": "^0.9.0",
"@ffmpeg/core": "^0.10.0",
"@types/emscripten": "^1.39.4",
"babel-loader": "^8.1.0",
"chai": "^4.2.0",