Upgrade ffmpeg-core.js and update examples
This commit is contained in:
parent
a7c5258cc4
commit
e354a4b36f
@ -1,27 +1,41 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script src="/dist/ffmpeg.dev.js"></script>
|
<script src="/dist/ffmpeg.dev.js"></script>
|
||||||
|
<style>
|
||||||
|
html, body {
|
||||||
|
margin: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>
|
<h3>Upload a video to transcode to mp4 (x264) and play!</h3>
|
||||||
<input type="file" id="uploader">
|
<video id="output-video" controls></video><br/>
|
||||||
</div>
|
<input type="file" id="uploader">
|
||||||
|
<p id="message" />
|
||||||
<script>
|
<script>
|
||||||
const { createWorker } = FFmpeg;
|
const { createWorker } = FFmpeg;
|
||||||
const worker = createWorker({
|
const worker = createWorker({
|
||||||
corePath: '../../node_modules/@ffmpeg/core/ffmpeg-core.js',
|
corePath: '../../node_modules/@ffmpeg/core/ffmpeg-core.js',
|
||||||
|
logger: ({ message }) => console.log(message),
|
||||||
});
|
});
|
||||||
|
|
||||||
const transcode = async ({ target: { files } }) => {
|
const transcode = async ({ target: { files } }) => {
|
||||||
|
const message = document.getElementById('message');
|
||||||
|
message.innerHTML = 'Loading ffmpeg-core.js';
|
||||||
await worker.load();
|
await worker.load();
|
||||||
console.log('Start transcoding');
|
message.innerHTML = 'Start transcoding';
|
||||||
const { data } = await worker.transcode(files[0], 'mp4');
|
const { data } = await worker.transcode(files[0], 'mp4');
|
||||||
console.log('Complete transcoding');
|
message.innerHTML = 'Complete transcoding';
|
||||||
|
|
||||||
const video = document.createElement('video');
|
const video = document.getElementById('output-video');
|
||||||
video.controls = true;
|
|
||||||
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
|
||||||
document.body.appendChild(video);
|
|
||||||
}
|
}
|
||||||
const elm = document.getElementById('uploader');
|
const elm = document.getElementById('uploader');
|
||||||
elm.addEventListener('change', transcode);
|
elm.addEventListener('change', transcode);
|
||||||
|
@ -10,7 +10,9 @@ const worker = createWorker({
|
|||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
await worker.load();
|
await worker.load();
|
||||||
|
console.log('Start transcoding');
|
||||||
const { data } = await worker.transcode(inputPath, outputPath.split('.').pop());
|
const { data } = await worker.transcode(inputPath, outputPath.split('.').pop());
|
||||||
|
console.log('Complete transcoding');
|
||||||
fs.writeFileSync(outputPath, Buffer.from(data));
|
fs.writeFileSync(outputPath, Buffer.from(data));
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
})();
|
})();
|
||||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -811,9 +811,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ffmpeg/core": {
|
"@ffmpeg/core": {
|
||||||
"version": "0.2.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.3.0.tgz",
|
||||||
"integrity": "sha512-kvCr0QH3B/5wc6boiUQq5PKWytmu9QpCpU2RqFT4+jh6Hv4JnU/43uprwX45PMjVh3T4g2coB2Dzix3x6Muasg=="
|
"integrity": "sha512-bm95T4C2/glYHuzTW7r49Ia+CCSYCbmOe0VOhvCorR3eBzPV/4ESuA4LxdouIraOHueDZf6rcPik94Jv1+t0iQ=="
|
||||||
},
|
},
|
||||||
"@webassemblyjs/ast": {
|
"@webassemblyjs/ast": {
|
||||||
"version": "1.8.5",
|
"version": "1.8.5",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/ffmpegjs/ffmpeg.js#readme",
|
"homepage": "https://github.com/ffmpegjs/ffmpeg.js#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ffmpeg/core": "^0.2.0",
|
"@ffmpeg/core": "^0.3.0",
|
||||||
"is-url": "^1.2.4",
|
"is-url": "^1.2.4",
|
||||||
"node-fetch": "^2.6.0",
|
"node-fetch": "^2.6.0",
|
||||||
"regenerator-runtime": "^0.13.3",
|
"regenerator-runtime": "^0.13.3",
|
||||||
|
BIN
tests/assets/flame.avi
Normal file
BIN
tests/assets/flame.avi
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user