Skip to content

Commit 58404e1

Browse files
committed
Merge branch 'develop'
2 parents fea4c44 + 9d1e2fb commit 58404e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+611
-125
lines changed

.eslintrc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
"extends": "airbnb-base",
33
"rules": {
44
"no-underscore-dangle": 0,
5-
"linebreak-style": 0,
5+
"linebreak-style": 0
6+
"global-require": 0
7+
},
8+
"env": {
9+
"browser": true,
10+
"node": true
611
}
712
}

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,13 @@ $ npm install @ffmpeg/ffmpeg
2828

2929
```javascript
3030
const fs = require('fs');
31-
const ffmpeg = require('@ffmpeg/ffmpeg');
31+
const { createWorker } = require('@ffmpeg/ffmpeg');
32+
33+
const worker = createWorker();
3234

3335
(async () => {
34-
await ffmpeg.load();
35-
const data = ffmpeg.transcode('./test.avi', 'mp4');
36+
await worker.load();
37+
const { data } = await worker.transcode('./test.avi', 'mp4');
3638
fs.wrieFileSync('./test.mp4', data);
3739
})();
3840
```

examples/browser/transcode.html

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<html>
2+
<head>
3+
<script src="/dist/ffmpeg.dev.js"></script>
4+
<style>
5+
html, body {
6+
margin: 0;
7+
width: 100%;
8+
height: 100%
9+
}
10+
body {
11+
display: flex;
12+
flex-direction: column;
13+
align-items: center;
14+
}
15+
</style>
16+
</head>
17+
<body>
18+
<h3>Upload a video to transcode to mp4 (x264) and play!</h3>
19+
<video id="output-video" controls></video><br/>
20+
<input type="file" id="uploader">
21+
<p id="message" />
22+
<script>
23+
const { createWorker } = FFmpeg;
24+
const worker = createWorker({
25+
corePath: '../../node_modules/@ffmpeg/core/ffmpeg-core.js',
26+
logger: ({ message }) => console.log(message),
27+
});
28+
29+
const transcode = async ({ target: { files } }) => {
30+
const message = document.getElementById('message');
31+
message.innerHTML = 'Loading ffmpeg-core.js';
32+
await worker.load();
33+
message.innerHTML = 'Start transcoding';
34+
const { data } = await worker.transcode(files[0], 'mp4');
35+
message.innerHTML = 'Complete transcoding';
36+
37+
const video = document.getElementById('output-video');
38+
video.src = URL.createObjectURL(new Blob([data.buffer], { type: 'video/mp4' }));
39+
}
40+
const elm = document.getElementById('uploader');
41+
elm.addEventListener('change', transcode);
42+
</script>
43+
</body>
44+
</html>

examples/node/transcode.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const fs = require('fs');
2+
const { createWorker } = require('../../src');
3+
4+
const { argv } = process;
5+
const [,, inputPath, outputPath] = argv;
6+
7+
const worker = createWorker({
8+
logger: ({ message }) => console.log(message),
9+
});
10+
11+
(async () => {
12+
await worker.load();
13+
console.log('Start transcoding');
14+
const { data } = await worker.transcode(inputPath, outputPath.split('.').pop());
15+
console.log('Complete transcoding');
16+
fs.writeFileSync(outputPath, Buffer.from(data));
17+
process.exit(0);
18+
})();

examples/transcode.js

Lines changed: 0 additions & 10 deletions
This file was deleted.

package-lock.json

Lines changed: 27 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@
3232
},
3333
"homepage": "https://github.com/ffmpegjs/ffmpeg.js#readme",
3434
"dependencies": {
35-
"@ffmpeg/core": "^0.1.0"
35+
"@ffmpeg/core": "^0.3.0",
36+
"is-url": "^1.2.4",
37+
"node-fetch": "^2.6.0",
38+
"regenerator-runtime": "^0.13.3",
39+
"resolve-url": "^0.2.1"
3640
},
3741
"devDependencies": {
3842
"@babel/core": "^7.6.4",

scripts/webpack.config.dev.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ module.exports = [
3232
library: 'FFmpeg',
3333
libraryTarget: 'umd',
3434
}),
35-
//genConfig({
36-
// entry: path.resolve(__dirname, '..', 'src', 'worker-script', 'browser', 'index.js'),
37-
// filename: 'worker.dev.js',
38-
//}),
35+
genConfig({
36+
entry: path.resolve(__dirname, '..', 'src', 'worker-script', 'browser', 'index.js'),
37+
filename: 'worker.dev.js',
38+
}),
3939
];

scripts/webpack.config.prod.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ module.exports = [
2323
library: 'FFmpeg',
2424
libraryTarget: 'umd',
2525
}),
26-
//genConfig({
27-
// entry: path.resolve(__dirname, '..', 'src', 'worker-script', 'browser', 'index.js'),
28-
// filename: 'worker.min.js',
29-
//}),
26+
genConfig({
27+
entry: path.resolve(__dirname, '..', 'src', 'worker-script', 'browser', 'index.js'),
28+
filename: 'worker.min.js',
29+
}),
3030
];

src/constants/defaultOptions.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
logger: () => {},
3+
};

0 commit comments

Comments
 (0)