ios - ffmpeg.js 在 iOS cordova 中运行速度极慢(但在 iOS safari 中运行良好?)

标签 ios cordova ffmpeg phonegap

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

它在移动 safari 中运行 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 操作?)

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

希望有人能给我指出正确的方向,因为我不太确定这里的问题是什么,因为它在 Android(chrome 和 PhoneGap)中工作得有点完美,但仅在 iOS safari 中而不是 PhoneGap 应用程序中工作

最佳答案

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

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

视频转换现在按预期运行(大约 12 秒),希望这可以帮助那些可能在 iOS PhoneGap 上遇到代码执行缓慢的人。

关于ios - ffmpeg.js 在 iOS cordova 中运行速度极慢(但在 iOS safari 中运行良好?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56120915/

相关文章:

c++ - undefined reference ,在 64 位系统的 Ubuntu 上使用 FFMpeg-library (AvCodec)

ffmpeg-whatsapp : video format not supported

objective-c - 按分隔符拆分字符串

ios - 我可以使用 Xcode 6 将使用 2.5.0 Cordova 版本开发的 Phonegap 应用程序发布到 AppStore

IOs/phonegap - 无法提交到 itune - 无效的段对齐

通过 instafeed.me 或 YellowDuck 将 FFMPEG 流式传输到 Instagram

ios - iPhone : Push Notification Testing on Production Certificate

ios - 从 View Controller 访问变量到覆盖函数

ios - Pixate Freestyle for iOS - 将背景颜色设置为 UINavigationBar 无效

javascript - 有条件地阻止移动 safari 中的滚动/触摸移动事件