ffmpeg.wasm
ffmpeg.wasm copied to clipboard
Store WASM file in localStorage
The Library is really good, but the only thing is that it takes very long to load the library cause it is humungous. Which is sometimes frustrating as a developer and will obviously be frustrating to the consumer.
The Idea I have is that we can store a compressed WASM file and then store it in the localStorage. Then when the load function is called and if the corePath is the same we can directly get the file from localStorage and inject it. We can offer a flag like cacheLocalStorage: boolean, to configure this. If the WASM file is not there in localStorage we can download it. We can do similar stuff with worker.js and core.js files, which are much smaller than the WASM file. We should also check the limit of localStorage to avoid errors.
As far i know localStorage limit per site is 5mb, so i guess it might be hard to compress it under 5mb
What about IndexedDB?
What about IndexedDB?
That's what I was thinking, but I went into my code today and can't seem to figure out how to cache it.
What about IndexedDB?
That's what I was thinking, but I went into my code today and can't seem to figure out how to cache it.
Ya, it's doable with IndexedDB. I made it in my repo, you can reference it from: https://github.com/iketiunn/webm-to-mp4/blob/main/src/App.tsx#L8-L24