ffmpeg_wasm
ffmpeg.wasm for Flutter web.
Getting started
Add below src script in index.html
file's head tag.
<script src='https://unpkg.com/@ffmpeg/ffmpeg@0.11.6/dist/ffmpeg.min.js'></script>
To run
flutter run -d chrome --web-browser-flag "--enable-features=SharedArrayBuffer"
While deploying add these headers.
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
For Firebase Hosting add below in firebase.json
{
"hosting": {
"headers": [
{
"key": "Cross-Origin-Embedder-Policy",
"value": "require-corp"
},
{
"key": "Cross-Origin-Opener-Policy",
"value": "same-origin"
}
]
}
}
Usage
Before accessing any methods first need to createFFmpeg
and load()
.
Create FFmpeg instance
FFmpeg ffmpeg = createFFmpeg(true, "https://unpkg.com/@ffmpeg/core@0.11.0/dist/ffmpeg-core.js");
Load FFmpeg
void loadFFmpeg() async {
await promiseToFuture(ffmpeg.load());
}
Check is FFmpeg Loaded
bool isLoaded = ffmpeg.isLoaded();
Supported Browsers - https://caniuse.com/sharedarraybuffer
Libraries
- ffmpeg_wasm
- ffmpeg.wasm for Flutter web.