Я использовал плагин " cordova-plugin-video-editor ", чтобы уменьшить размер / качество моих видео перед их загрузкой на сервер.
Плагин работает правильнона большинстве телефонов с Android и без проблем на iOS.
Но на последних телефонах с Android случается, что он дает сбой.Я воспроизвожу эту ошибку с помощью Xiaomi RedMi Note 7 под Android 9.
У меня есть эта ошибка:
net.ypresto.androidtranscoder.engine.InvalidOutputFormatException:
Необоснованный профиль видео AVC не поддерживается ОС Android, фактический идентификатор профиля: 100
Вот характеристики видео:
H264 - MPEG-4 AVC (part10)(avc1)
1920x1080
Planar 4:2:0 YUV
ITU-R BT.601 (50 Hz)
MPEG AAC Audio (mp4a)
48000Hz
32bits
После нескольких поисков я не могунайти решение, но все же некоторые выводы, такие как:
Сегодня я не могупришел к любому другому выводу, кроме необходимости создания собственного плагина для использования другой библиотеки Android, совместимой с новыми видеоформатами.Я должен признать, что мне не очень нравится это решение, и поэтому я обращаюсь к сообществу.
Как вы думаете, у вас есть какая-либо дополнительная информация по этой проблеме, которая может мне помочь?
Большое спасибо.
Решено с помощью:
Это была действительно зависимость от плагина, которая не была совместима с новыми кодеками.
Так что я подключаю плагин к своему github изатем измените часть кода, которая перекодирует видео.Теперь я использую эту библиотеку вместо старой: https://github.com/tangpeng/VideoCompressor
Вы можете увидеть изменения в коммитах этого репо: https://github.com/Eblancho/cordova-plugin-video-editor
Я не советую вам использовать ее дляваши проекты, потому что он не на 100% протестирован / совместим со всеми телефонами, это очень недавнее изменение.
В дополнение к этому, в отличие от предыдущей версии, которая позволяла выбирать высоту / ширину, битрейт и другиевещи, моя версия расчеты:
newHeight = videoHeight / 2;
newWidth = videoWidth / 2;
bitrates = (newHeight / 2) * (newWidth / 2) * 10;
Если у вас есть какие-либо комментарии или вопросы по поводу моего кода, не стесняйтесь спрашивать его.
Но возникла новая проблема:
Эта новая проблема не является побочным эффектом из-за моих модификаций, поскольку она также появляется в старых версиях, я просто подумал, что это также связано с транскодированием.
Теперь, когда я открываю камеру для записи моего видео, как только я захочу закрыть намерение вернуться к основной активности Cordova, приложение перезапустится.
Не думаю, что это действительно тема для обсуждения, поэтому я собираюсь создать новуюw обсуждение, чтобы лучше отделить мои проблемы.