From da317da7ef3e8f7eb86a77f79086dbb60d10d168 Mon Sep 17 00:00:00 2001 From: Nathan Johnson Date: Tue, 17 May 2022 16:50:23 -0500 Subject: [PATCH] Added web worker example --- examples/browser/README.md | 12 +++++++ examples/browser/transcode.worker.html | 48 +++++++++++++++++++++++++ examples/browser/transcode.worker.js | 24 +++++++++++++ ffmpeg-ffmpeg-0.10.2.tgz | Bin 75452 -> 0 bytes package.json | 1 + scripts/webpack.config.worker.dev.js | 29 +++++++++++++++ scripts/worker-server.js | 25 +++++++++++++ 7 files changed, 139 insertions(+) create mode 100644 examples/browser/transcode.worker.html create mode 100644 examples/browser/transcode.worker.js delete mode 100644 ffmpeg-ffmpeg-0.10.2.tgz create mode 100644 scripts/webpack.config.worker.dev.js create mode 100644 scripts/worker-server.js diff --git a/examples/browser/README.md b/examples/browser/README.md index 0d75e27..cb6b78d 100644 --- a/examples/browser/README.md +++ b/examples/browser/README.md @@ -8,3 +8,15 @@ $ npm start ``` Visit http://localhost:3000/examples/browser/transcode.html + + +Web Worker Examples +================== + +To run the webworker example, execute: + +``` +$ npm run start:worker +``` + +Visit http://localhost:3000/examples/browser/transcode.worker.html diff --git a/examples/browser/transcode.worker.html b/examples/browser/transcode.worker.html new file mode 100644 index 0000000..51fa522 --- /dev/null +++ b/examples/browser/transcode.worker.html @@ -0,0 +1,48 @@ + + + + + +

Upload a video to transcode to mp4 (x264) and play!

+
+ +

+ + + diff --git a/examples/browser/transcode.worker.js b/examples/browser/transcode.worker.js new file mode 100644 index 0000000..76557d9 --- /dev/null +++ b/examples/browser/transcode.worker.js @@ -0,0 +1,24 @@ +importScripts('/dist/ffmpeg.dev.js'); +const ffmpeg = self.FFmpeg.createFFmpeg({log: true}); + +onmessage = async (event) => { + try { + const {buffer, name, inType, outType} = event.data; + if (!ffmpeg.isLoaded()) { + await ffmpeg.load(); + } + + ffmpeg.FS('writeFile', `${name}.${inType}`, new Uint8Array(buffer)); + await ffmpeg.run('-i', `${name}.${inType}`, `${name}.${outType}`); + const data = ffmpeg.FS('readFile', `${name}.${outType}`); + + postMessage({buffer: data.buffer, type: "result"}, [data.buffer]); + + // delete files from memory + ffmpeg.FS('unlink', `${name}.${inType}`); + ffmpeg.FS('unlink', `${name}.${outType}`); + } catch (e) { + postMessage({type: "error", error: e}); + } +} + diff --git a/ffmpeg-ffmpeg-0.10.2.tgz b/ffmpeg-ffmpeg-0.10.2.tgz deleted file mode 100644 index 13619d990fec576bbd33aa1824d9ad7532bbd626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75452 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

IWP*iMi*tCFc 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 eu<+NC`|IzozrX(e`ulJE_kRK7 ({ + ...common, + mode: 'development', + target: 'webworker', + entry, + output: { + filename, + library, + libraryTarget, + }, + devServer: { + allowedHosts: ['localhost', '.gitpod.io'], + }, +}); + +module.exports = [ + genConfig({ + entry: path.resolve(__dirname, '..', 'src', 'index.js'), + filename: 'ffmpeg.dev.js', + library: 'FFmpeg', + libraryTarget: 'umd', + }), +]; diff --git a/scripts/worker-server.js b/scripts/worker-server.js new file mode 100644 index 0000000..ffd9a34 --- /dev/null +++ b/scripts/worker-server.js @@ -0,0 +1,25 @@ +const webpack = require('webpack'); +const middleware = require('webpack-dev-middleware'); +const express = require('express'); +const path = require('path'); +const cors = require('cors'); +const webpackConfig = require('./webpack.config.worker.dev'); + +const compiler = webpack(webpackConfig); +const app = express(); + +function coi(req, res, next) { + res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); + res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); + next(); +} + +app.use(cors()); +app.use(coi); + +app.use('/', express.static(path.resolve(__dirname, '..'))); +app.use(middleware(compiler, { publicPath: '/dist', writeToDisk: true })); + +module.exports = app.listen(3000, () => { + console.log('Server is running on port 3000'); +});