Как добиться редактирования видео в реальном времени на Android?

Недавно я работал над проектом, связанным с редактированием видео на Android, и отчаянно ищу ресурсы, связанные с редактированием видео на этой платформе.

Единственный «метод» или информация, связанная с редактированием видео, которую я смог найти, это использование библиотеки FFmpeg, которая довольно богата функциями и возможностями, но работает очень медленно, такие операции, как реверсирование 10-секундного видео, могут занимает до 30 секунд, что обеспечивает очень плохой пользовательский опыт.

При этом кажется, что существует множество приложений для редактирования видео для Android, которые способны делать все, что может FFmpeg, только в почти мгновенные промежутки времени (такие приложения, как InShot, PocketVideo или даже предыдущий Musical.ly TikTok).

Я пытался исследовать и искать информацию по теме практически в любом разумном месте (Google, GitHub, YouTube, центр разработчиков Android и даже на страницах «поддержки» вышеупомянутых приложений) безрезультатно (ни пояснительных документов, ни библиотеки с открытым исходным кодом, даже не демонстрационные приложения), если бы кто-нибудь мог пролить свет на эту тему, мы бы очень, очень признательны!

Спасибо.


person Itamar    schedule 22.08.2018    source источник
comment
поиск тех же вещей упоминает вас выше. если у вас есть какие-либо идеи относительно редактирования видео в реальном времени, пожалуйста, дайте мне знать.   -  person Tushar Lathiya    schedule 10.04.2019
comment
Эй, ты нашел что-нибудь?   -  person Kartik Garasia    schedule 30.08.2019
comment
Насколько я понимаю, пока есть два способа: первый — использовать Media Codec API, второй — использовать C++. Я также нашел действующую китайскую премиум-библиотеку Meishe SDK. Media Codec API действительно сложен в использовании и имеет проблемы с разными устройствами.   -  person marcouberti    schedule 01.12.2020


Ответы (1)


FFmpeg на платформах, отличных от настольных компьютеров, будет работать очень медленно, в основном из-за отсутствия возможностей аппаратного декодирования/кодирования.

Если вы хотите создать быстрый набор для редактирования видео в режиме реального времени, вам лучше взглянуть на встроенный API для декодирования/кодирования видео Android и фильтровать кадры на графическом процессоре.

Хотя экраны телефонов могут показаться довольно маленькими, разрешение видео достаточно велико, чтобы полностью загружать процессор даже при базовой обработке, такой как инверсия цвета, не говоря уже о том, что будет, если применить размытие. Поэтому подумайте об использовании вместо этого обработки GPU (шейдеры GLSL).

person Alex Bakanov    schedule 11.06.2021