- 1. File selection
- You drag a file in or pick it from the file dialog. The browser hands the page a reference to it. Nothing is transmitted at this point, and a file of the wrong type is refused before it loads.
- 2. Browser processing
- FFmpeg, compiled to WebAssembly, running in a worker inside the tab. It decodes, filters and re-encodes every frame on your own CPU.
- 3. Network requests
- One third partyOne, and only the first time you use a video or audio tool in a session: the browser downloads the FFmpeg engine (about 30 MB) from the jsDelivr CDN, then reuses the cached copy. That is a file coming to you. Your video is not part of the request — jsDelivr sees a request for a library, the same as any site loading a script from a CDN.
- 4. Result generation
- The output is produced as a blob in the same tab and given a temporary local address. It is not written to disk and not sent anywhere.
- 5. Download
- The download link points at that in-memory blob, so saving the file is a copy from your own tab to your own disk. Closing the tab discards both the input and the result.