ffmpeg.js 运行 在 iOS cordova 中非常慢(但在 iOS safari 中没问题?)

ffmpeg.js running extremely slow in iOS cordova (but fine in iOS safari?)

我正在尝试创建一个 phonegap 应用程序,可以将视频转换为大约 30 个 jpeg 帧.. 此页面将 bigbuckbunny 视频转换为 30 帧 > https://www.pewify.com/test/ (taken from https://bgrins.github.io/videoconverter.js/demo/)

它在 iPhone x 运行 iOS 12 上运行良好,在移动 safari 中,大约需要 12-15 秒才能完成,但相同的代码打包成 iOS cordova app 运行 在同一个 phone 上将花费将近 160 秒才能完成(两个最终结果相同,但几乎是原来的 10 倍),它适用于 android 浏览器或android cordova 应用虽然

我正在为应用程序使用 cordova android 7.0 和 cordova ios 4.5.4 (phonegap cli-8.0.0)

我试过只用最少的代码删除所有不需要的插件,但没有效果,它仍然运行得很慢

据我了解,phonegap 只是使用类似于 safari 的 webview 来呈现应用程序,但在这种情况下它可以工作但速度要慢得多,最重要的是 phone 开始变得升温(大概是在做一些强化训练 CPU?)

我读过一些关于在 cordova 中使用 WKWebview 速度更快的内容,但这会导致应用程序出现大量 CORS 和“操作不安全”错误,因此决定暂时不实施它(除非这是解决方案?)

希望有人能给我指出正确的方向,因为我不确定这里的问题是什么,因为它在 android 中运行得有些完美(chrome 和 phone gap) 但只在 iOS safari 而不是 phonegap app

ok解决了,确实是WKWebview,正常执行。我在某处读到 cordova 中的 webview 和移动 safari 中的 webview 不同,因此速度不同(nitro js 引擎?)

对于任何感兴趣的人,我使用 "cordova-plugin-wkwebview-file-xhr" 来启用 WKWebview 和某些修复程序来绕过 CORS 问题,运行 它上面的相同代码(虽然在创建工作人员时必须使用内联 blob绕过,取自这里 Web workers without a separate Javascript file?)

视频转换现在按预期运行(12 秒左右),希望这能帮助那些可能在 iOS phonegap..

上面临代码执行缓慢的人