Re abort: Too bad. :/ It seems that the lib exposed the worker's terminate() method up until v0.7.0: https://github.com/ffmpegwasm/ffmpeg.wasm/blob/v0.7.0/src/createWorker.js
There's a request to reintroduce to reintroduce the feature here: https://github.com/ffmpegwasm/ffmpeg.wasm/issues/68
Tbh, I'm not even sure if the old terminate would have reliably stopped the process.
Re gif support: AFAIK the supported codecs depend on the flags with which ffmpeg was compiled, and can heavily increase the binary.
Here's a notebook for ffmpeg.js: https://observablehq.com/d/d4d995d29550a971
If you scroll down to the select that reads "-help" and select "-codecs" from it, you can see the support matrix.
hi Fabian, that would be an interesting feature is this how you solve this? however isn't it disable for a security reason? if you enable any arbitrary notebook to have access to SharedArrayBuffer, couldn't Observable be exploited by bad actors? let say I make a puppet notebook that behind the scene is trying to access unauthorized memory https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html
I don't have the answers to these questions, but the article you linked has received some updates since you posted it. Hence my suggestion to create a feature request in order to explore the feasibility and implications.
Fun fact: SharedArrayBuffer can still be accessed via
```
SharedArrayBuffer = new WebAssembly.Memory({initial: 0, maximum: 0, shared: true}).buffer.constructor
```
but it will fail with "Failed to execute 'postMessage' on 'Worker': SharedArrayBuffer transfer requires self.crossOriginIsolated".