Ffmpeg.js работает очень медленно в iOS Cordova (но нормально в iOS Safari?)

Я пытаюсь создать приложение для телефонной связи, которое преобразует видео в 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 просто использует веб-просмотр, похожий на сафари, для рендеринга приложения, но в этом случае он работает, но намного медленнее, вдобавок к этому телефон начинает нагреваться (предположительно, интенсивно используя процессор?)

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

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
694
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Другие вопросы по теме