Закрыть
Вверх
Мы вам ещё здесь не рассказывали, как там дела с приложением OpenVK Legacy для Android.

Сейчас идёт разработка собственного видеоплеера на CPP, который должен упростить работу с видеозаписями.

В чем были большие проблемы поддерживать видеозаписи в старых версиях Android без использования сторонних библиотек?

1. Изначально для обработки загруженных видеофайлов в OpenVK применялись стандарты кодирования, свободные от патентов - видеокодек Theora и аудиокодек Vorbis.

Команда OpenVK в конце-концов столкнулась с их проблемами совместимости с устройствами Apple, так как они в WebRTC умели дружить только c кодеками VP9 и H.264 даже с учётом совместимости со старыми браузерами. В итоге, 29 февраля 2023 г. был осуществлен переход на H.264 плюс MP3.

2. До Android 10 отсутствует официальная поддержка формата MP3onMP4 (аудиодорожки формата MP3, упакованные в контейнер MP4).

3. В Android все ещё не поддерживается видеокодек Theora.


Со сторонними библиотеками тоже не всё так хорошо:

1. ijkplayer (на основе FFmpeg 3.x) версии 0.7.x поддерживает только Android 2.3 и выше из-за того, что FFmpeg собрали с учетом среды выполнения, несовместимая с более старыми версиями Android.

2. Старые версии ExoPlayer также работают с версиями Android 2.3 и выше, её обратное портирование - тот ещё вопрос.


Пришлось делать плеер самим, первые эксперименты были так себе - оптимизации не было никакой, через полгода ситуация немного улучшилась и можем даже приложить скриншоты, если кому-то будет интересно посмотреть.

Дополнительно можем показать исследования по потреблению памяти: раньше была серьезная утечка памяти нативного процесса, который работает с FFmpeg напрямую, а сейчас - все почти приходит в норму и держится на уровне 20-25 МБ, если мы смотрим именно нативный процесс.
Поделиться

Комментарии (1)

На плюсах это занятно

Действия