ffmpeg.js работает крайне медленно в iOS Cordova (но хорошо в iOS Safari?) - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь создать приложение для телефонной паузы, которое конвертирует видео в примерно 30 или около того кадров jpeg. На этой странице конвертируется видео bigbuckbunny в 30 кадров> https://www.pewify.com/test/ (взято из https://bgrins.github.io/videoconverter.js/demo/)

Он отлично работает на iPhone x под управлением iOS 12 в мобильном сафари, завершение занимает около 12-15 секунд, но тот же код, упакованный в приложение iOS cordova, работающее на том же телефоне, займет почти 160 секунд (обаконечные результаты те же, но почти в 10 раз длиннее), он отлично работает для браузеров Android или приложений для Android Cordova, хотя

Я использую Cordova Android 7,0 и Cordova IOS 4.5.4 (phonegap cli-8.0.0) для приложения

Я пытался удалить все ненужные плагины только с минимальным кодом, но безрезультатно, он все еще работает так же медленно

Из того, что я понимаю, phonegap просто используетWebView похож на Safari для рендеринга приложения, но в этом случае оно работает, но гораздо медленнее, кроме того, телефон начинает нагреваться (предположительно, загружая процессор?)

Прочитал что-то об использовании WKWebview, который работает быстрее в кордове, но это спутало приложение с большим количеством ошибок CORS и «небезопасная работа», поэтому решил пока не реализовывать это (разве это решение?)

Надеюсь, кто-то может указать мне правильное направление, так как я не совсем уверен, в чем здесь проблема, поскольку он работает несколько безупречно в Android (как Chrome и PhoneGap), но только в iOS Safari, а не приложение PhoneGap

1 Ответ

0 голосов
/ 15 мая 2019

Ок, решил, что это действительно WKWebview, и он работал нормально. Я где-то читал, что веб-просмотр в кордове и веб-просмотр в мобильном сафари отличаются, следовательно, разница в скорости (двигатель nitro js?)

Для всех, кто заинтересовался, я использовал "cordova-plugin-wkwebview-file-xhr", чтобы включить WKWebview и некоторые исправления, чтобы обойти проблемы CORS, запустил тот же код (пришлось использовать встроенный большой двоичный объект при создании работника, хотя для Обход, взятый отсюда Веб-работники без отдельного файла Javascript? )

Преобразование видео теперь выполняется должным образом (12 секунд), надеюсь, это поможет кому-то, кто может столкнуться с медленным выполнением кода в телефонной пробке iOS.

...