Fix Worker.terminate()
This commit is contained in:
parent
906dcd369f
commit
eef80a979f
15
docs/api.md
15
docs/api.md
@ -10,6 +10,7 @@
|
||||
- [Worker.trim](#worker-trim)
|
||||
- [Worker.concatDemuxer](#worker-concatDemuxer)
|
||||
- [Worker.run](#worker-run)
|
||||
- [Worker.terminate](#worker-terminate)
|
||||
|
||||
---
|
||||
|
||||
@ -230,3 +231,17 @@ Worker.run() is similar to FFmpeg cli tool, aims to provide maximum flexiblity f
|
||||
await worker.run("-i flame.avi -s 1920x1080 output.mp4");
|
||||
})();
|
||||
```
|
||||
|
||||
<a name="worker-run"></a>
|
||||
|
||||
### Worker.terminate(): Promise
|
||||
|
||||
Worker.terminate() terminates web worker / worker\_threads, after terminate(), you cannot use this worker anymore.
|
||||
|
||||
**Examples:**
|
||||
|
||||
```javascript
|
||||
(async () => {
|
||||
await worker.terminate();
|
||||
})();
|
||||
```
|
||||
|
@ -49,6 +49,7 @@
|
||||
type: "video/mp4"
|
||||
})
|
||||
);
|
||||
await worker.terminate();
|
||||
};
|
||||
const elm = document.getElementById("uploader");
|
||||
elm.addEventListener("change", transcode);
|
||||
|
@ -48,6 +48,7 @@
|
||||
|
||||
const video = document.getElementById('output-video');
|
||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||
await worker.terminate();
|
||||
}
|
||||
const elm = document.getElementById('start-btn');
|
||||
elm.addEventListener('click', image2video);
|
||||
|
@ -33,12 +33,13 @@
|
||||
await worker.load();
|
||||
message.innerHTML = 'Start transcoding';
|
||||
await worker.write(name, files[0]);
|
||||
await worker.run(`-i /data/${name} output.mp4`, { input: name, output: 'output.mp4' });
|
||||
await worker.run(`-i /data/${name} output.mp4`);
|
||||
message.innerHTML = 'Complete transcoding';
|
||||
const { data } = await worker.read('output.mp4');
|
||||
|
||||
const video = document.getElementById('output-video');
|
||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||
await worker.terminate();
|
||||
}
|
||||
const elm = document.getElementById('uploader');
|
||||
elm.addEventListener('change', transcode);
|
||||
|
@ -40,6 +40,7 @@
|
||||
|
||||
const video = document.getElementById('output-video');
|
||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||
await worker.terminate();
|
||||
}
|
||||
const elm = document.getElementById('uploader');
|
||||
elm.addEventListener('change', transcode);
|
||||
|
@ -39,6 +39,7 @@
|
||||
|
||||
const video = document.getElementById('output-video');
|
||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||
await worker.terminate();
|
||||
}
|
||||
const elm = document.getElementById('uploader');
|
||||
elm.addEventListener('change', transcode);
|
||||
|
@ -69,6 +69,7 @@
|
||||
|
||||
const video = document.getElementById('output-video');
|
||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||
await worker.terminate();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
@ -13,5 +13,5 @@ const worker = createWorker({
|
||||
const { data } = await worker.read('flame.mp4');
|
||||
console.log('Complete concat');
|
||||
fs.writeFileSync('flame.mp4', Buffer.from(data));
|
||||
process.exit(0);
|
||||
await worker.terminate();
|
||||
})();
|
||||
|
@ -24,5 +24,5 @@ const worker = createWorker({
|
||||
await worker.remove(`tmp.${num}.png`);
|
||||
}
|
||||
fs.writeFileSync('out.mp4', Buffer.from(data));
|
||||
process.exit(0);
|
||||
await worker.terminate();
|
||||
})();
|
||||
|
@ -13,5 +13,5 @@ const worker = createWorker({
|
||||
const { data } = await worker.read('flame.mp4');
|
||||
console.log('Complete transcoding');
|
||||
fs.writeFileSync('flame.mp4', Buffer.from(data));
|
||||
process.exit(0);
|
||||
await worker.terminate();
|
||||
})();
|
||||
|
@ -13,5 +13,5 @@ const worker = createWorker({
|
||||
const { data } = await worker.read('flame.mp4');
|
||||
console.log('Complete transcoding');
|
||||
fs.writeFileSync('flame.mp4', Buffer.from(data));
|
||||
process.exit(0);
|
||||
await worker.terminate();
|
||||
})();
|
||||
|
@ -13,5 +13,5 @@ const worker = createWorker({
|
||||
const { data } = await worker.read('flame_trim.avi');
|
||||
console.log('Complete trimming');
|
||||
fs.writeFileSync('flame_trim.avi', Buffer.from(data));
|
||||
process.exit(0);
|
||||
await worker.terminate();
|
||||
})();
|
||||
|
@ -148,12 +148,14 @@ module.exports = (_options = {}) => {
|
||||
return run(`-f concat -safe 0 -i concat_list.txt ${opts} ${output}`, jobId);
|
||||
};
|
||||
|
||||
const terminate = async (jobId) => {
|
||||
const terminate = async () => {
|
||||
if (worker !== null) {
|
||||
/*
|
||||
await startJob(createJob({
|
||||
id: jobId,
|
||||
action: 'terminate',
|
||||
}));
|
||||
*/
|
||||
worker.terminate();
|
||||
worker = null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user