ffmpeg.wasm icon indicating copy to clipboard operation
ffmpeg.wasm copied to clipboard

Android WebAssembly.Memory()

Open Quackdoc opened this issue 5 years ago • 9 comments

Describe the bug using chrome 88 for android we get an memory issue

To Reproduce Steps to reproduce the behavior:

  1. enable cross origin isolated in flags
  2. Navigate to https://ffmpegwasm.et.r.appspot.com/
  3. run script using 3s clip

Smartphone (please complete the following information):

  • Device: Samsung S9
  • OS: Android 10
  • Browser Chrome beta
  • Version 88

Additional context as of chrome 88 Shared Array Buffers are to be enabled as default (See https://www.chromestatus.com/feature/5171863141482496 https://www.chromestatus.com/feature/4570991992766464)

[Error]

a842de40-97a2-4a2b-927e-0cac9b769fc3:22 Uncaught (in promise) RangeError: WebAssembly.Memory(): could not allocate memory
    at a842de40-97a2-4a2b-927e-0cac9b769fc3:22
    at createFFmpeg.js:64
    at u (runtime.js:63)
    at Generator._invoke (runtime.js:293)
    at Generator.next (runtime.js:118)
    at n (asyncToGenerator.js:3)
    at o (asyncToGenerator.js:25)

Quackdoc avatar Dec 17 '20 05:12 Quackdoc

I believe that headers should be set in your node.js server, not in browser. But I may be wrong. See - https://github.com/ffmpegwasm/ffmpeg.wasm/issues/102#issuecomment-722112444

ivanburlakov avatar Feb 05 '21 21:02 ivanburlakov

+1 https://ffmpegwasm.et.r.appspot.com/ works ok for me in Chrome Mobile 88, but when making my own app, even tho I set headers both in React App index.html and in express server, I get the same error! @jeromewu , we want to know the secret you used to make https://ffmpegwasm.et.r.appspot.com/ work on Chrome Mobile 88+ 😄

ivanburlakov avatar Feb 08 '21 12:02 ivanburlakov

@ivanburlakov you need enable "cross-origin isolated" for SharedArrayBuffer feature https://web.dev/why-coop-coep/

EstebanFuentealba avatar Feb 17 '21 13:02 EstebanFuentealba

@ivanburlakov you need enable "cross-origin isolated" for SharedArrayBuffer feature https://web.dev/why-coop-coep/

isn't it what I mentioned above? Or am I missing something?

ivanburlakov avatar Feb 17 '21 15:02 ivanburlakov

jajaj disculpas, no leí el codigo. A mi me daba error en android igualmente y supuse que era por la memoria que se le daba a la variable INITIAL_MEMORY al hacer el build de ffmpeg, testié dando solo 250mb (aprox) y funciona en android con chrome 88.0.4324.152 en mi fork está el artifact para poder descargarlo https://github.com/EstebanFuentealba/ffmpeg.wasm-core/blob/06786fe3d4a746c03beecbc463a22415733c8632/wasm/build-scripts/build-ffmpeg.sh#L24 Saludos!

EstebanFuentealba avatar Feb 17 '21 16:02 EstebanFuentealba

jajaj disculpas, no leí el codigo. A mi me daba error en android igualmente y supuse que era por la memoria que se le daba a la variable INITIAL_MEMORY al hacer el build de ffmpeg, testié dando solo 250mb (aprox) y funciona en android con chrome 88.0.4324.152 en mi fork está el artifact para poder descargarlo https://github.com/EstebanFuentealba/ffmpeg.wasm-core/blob/06786fe3d4a746c03beecbc463a22415733c8632/wasm/build-scripts/build-ffmpeg.sh#L24 Saludos!

If understood right - it works if you build ffmpeg.wasm with less allocated memory?

ivanburlakov avatar Feb 17 '21 17:02 ivanburlakov

Did you succeed, @ivanburlakov ?

PaulGrizzly avatar May 05 '21 17:05 PaulGrizzly

Did you succeed, @ivanburlakov ?

I did not work with ffmpegwasm for a while.

ivanburlakov avatar May 06 '21 09:05 ivanburlakov

Guyssss! FFMPEG started working on chrome android from version 11.4 !!! update version to @ffmpeg/ffmpeg": "^0.11.4

Manitej66 avatar Sep 04 '22 15:09 Manitej66