videotranscode.space icon indicating copy to clipboard operation
videotranscode.space copied to clipboard

Safari Support

Open alex-cory opened this issue 4 years ago • 6 comments

Are there any plans to support Safari? Are there any ways to workaround this?

alex-cory avatar Oct 27 '20 00:10 alex-cory

Hey, @alex-cory the https://caniuse.com/sharedarraybuffer says that it can be enabled on Safari using a flag. This could be a workaround, but let me try to dig up an old mac and see if I can get it to work.

CryogenicPlanet avatar Oct 27 '20 00:10 CryogenicPlanet

To be specific, mobile Safari.

alex-cory avatar Oct 27 '20 01:10 alex-cory

Hey, @alex-cory not planning to support mobile browsers at this time, there are a couple of reasons for this:

  • Almost all of them required flags to be enabled to support the required features
  • If getting a user to enable a flag on desktop is hard, it is 10x harder on mobile
  • Personally, I don't see the complete use case for modfy on mobile, that is you are not often dealing with formats(they are heavily abstracted away). Most galary apps have some video editing functionality and there are tons of easy to use native apps that can perform the more complex tasks.

That being said, I would love to be able to support mobile sometime in the future, when the browsers natively support the required features.

Related to #87

CryogenicPlanet avatar Oct 27 '20 11:10 CryogenicPlanet

If you were to try and solve this problem today without SharedArrayBuffer or Atomics, what approach would you take? Is it even possible right now? I'm interested in making a PR, but need a little guidance.

alex-cory avatar Oct 27 '20 22:10 alex-cory

Hey, @alex-cory so under the hood for web assembly we use https://github.com/modfy/ffmpeg.wasm a forked version of https://github.com/ffmpegwasm/ffmpeg.wasm.

Here we have made some change with promise handling and added certain headers to support firefox (the original repository only supports chrome). I would have to look into how to re-engineer the project to not use SharedArrayBuffer but I assume it would be quite a large task.

Few other things to note, SharedArrayBuffer was disabled due to Spectre and Meltdown, and its meant to be a temporary patch, so we can expect default support sometime in the future(yes, browser features are super slow). Finally, if I am not wrong SharedArrayBuffer has to do with Wasm Multithreading too, so we can except a decent performance hit without using it.

That being said, I am totally down to collaborate on trying to build a solution without SharedArrayBuffer to support more platforms. If you are open to it, I can send a calendy link on Twitter and we can setup a call where I can better explain the project

CryogenicPlanet avatar Oct 28 '20 13:10 CryogenicPlanet

I will definitely take you up on this, I just need a little time. I will comment back here when I'm ready.

alex-cory avatar Oct 28 '20 22:10 alex-cory