【问题标题】:ffmpeg.js running extremely slow in iOS cordova (but fine in iOS safari?)ffmpeg.js 在 iOS cordova 中运行速度极慢(但在 iOS safari 中运行良好?)
【发布时间】:2019-05-13 23:05:14
【问题描述】:

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

它在运行 iOS 12 的 iPhone x 上运行良好,大约需要 12-15 秒才能完成,但打包到在同一部手机上运行的 iOS cordova 应用程序中的相同代码将需要将近 160 秒才能完成(两个最终结果相同,但几乎是 10 倍长),但它适用于 android 浏览器或 android cordova 应用程序

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

我已经尝试使用最少的代码删除所有不需要的插件,但没有效果,它仍然运行缓慢

据我了解,phonegap 只是使用类似于 safari 的 webview 来呈现应用程序,但在这种情况下它可以工作但速度要慢得多,除此之外,手机开始变热(大概是在做一些密集型 CPU?)

确实读过一些关于在科尔多瓦中使用 WKWebview 更快的信息,但这会使应用程序出现大量 CORS 和“操作不安全”错误,因此决定暂时不实施(除非这是解决方案?)

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

【问题讨论】:

    标签: ios cordova ffmpeg phonegap


    【解决方案1】:

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

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

    视频转换现在按预期运行(12 秒左右),希望这可以帮助那些可能在 iOS phonegap 上面临代码执行缓慢的人..

    【讨论】:

      猜你喜欢
      • 2015-06-22
      • 1970-01-01
      • 2016-11-04
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多