Ошибка рендера ffmpeg.wasm в браузере
При локальном рендере видео с использованием библиотеки ffmpeg.wasm в браузере Chrome очень часто в процессе рендера вылетает ошибка с кодом SBOX_FATAL_MEMORY_EXCEEDED. Используется стандартный набор команд. Код ниже полуфейковый, поскольку очень длинный, но описывает приблизительный алгоритм действий. Мощность компьютера и загруженность оперативной памяти не влияет, используемые видеофайлы минимального размера. Кто-нибудь с этим сталкивался и как можно решить эту проблему??

const videoGenerate = async (project) => {
const ffmpeg = createFFmpeg({
corePath: 'ffmpeg/ffmpeg-core.js',
workerPath: 'ffmpeg/ffmpeg-core.worker.js'
});
await loadFfmpeg(ffmpeg);
project.projectName = "Default";
project.fileType = "video/mp4";
const resultVideo = {
title: `${project.projectName}ConcatenatedVideo.mp4`,
};
// *For fetchFile method and ffmpeg.FS('writeFile', title, file);
await uploadObjects(project.projectName, ffmpeg);
// *
const command = ['-i', project.video, resultVideo.title];
await ffmpeg.run(...command);
await ffmpeg.FS("unlink", resultVideo.title);
resultVideo["blob"] = ffmpeg.FS('readFile', title);
return resultVideo.blob;
};
Используются данные зависимости: "@ffmpeg/core": "^0.8.5", "@ffmpeg/ffmpeg": "^0.9.7". Обновление библиотеки до последней версии так же ни к чему не приводит.
Ответы (1 шт):
Если кому-то пригодится - я разобрался)) Использовал фреймворк VUE. Доступ к ffmpeg командам был в отдельном файле js. При обращении к этому файлу каждый раз загружал библиотеку в память. Очистка переменных не помогла, потому что в этой библиотеке используется некий emscripten https://emscripten.org/docs/api_reference/Filesystem-API.html . Решение задачи - загружаю библиотеку один раз при монтировании главного компонента в Store и передаю переменную со стора в данный файл (при обращении).