Разработка видеоредактора под Android. FineFx
Добрый день, дорогие пикабушники!
С примерно более года назад начал готовиться, разрабатывать тестовые приложения, вспоминать android разработку и т.д. и в январе начал разрабатывать в свободное время видеоредактор, кодовое название решил дать ему FineFx.
Идея - перенести возможности десктоп приложений на экран смартфона и планшета и сделать полноценное редактирование "на зверьке". Проект серьезный, долгий и решил его сделать я один, без помощи в разработке. Единственное, мне будет помогать знакомая с UI и дизайном.
Решил делать свой UI, не пользоваться android, делать все через OpenGL и FFMPEG для зачитывания всех форматов медиафайлов, а рендерить видео с помощью нативных средств Android.
Началось все вот с этой картинки:
Затем сделал оконный лог:
Потом начал делать галерею и меню:
Для сканирование и правильной кодировки метатегов и названий песен в галерее звуков и музыки использовал uchardet и iconv
Потом кто-то заметил, что меню не пальцевое, сделал вот такое выезжающее меню, по реакции на жесты (алгоритм жестов тоже сам разработал)
Начал делать плеер медиафайлов. Долго изучал тему, в FFMPEG сделать плеер не так-то просто, распечатал даже файл ffplay.c для изучения:
Работал над редактором все свободное время, даже в электричке по пути на работу и домой:
Сделал плеер, даже с выбором звуковой дорожки:
Потом озаботился профилированием и написал свой профайлер, т.к. плеер достаточно медленно проигрывал видеофайлы:
Потом озаботился локализацией и решил написать свою, а не тягать из JAVA строки все время:
Сделал стартовую страницу с созданием нового проекта и видео на фоне:
Затем сделал окно информации о медиафайле:
Потом сделал Bin, как в премьере для промежуточного редактирования
И в данный момент делаю таймлайн, в котором много мелких деталей, которые очень ресурсозатратные:
Работа идет "медленно, но непрерывно", так что, дай Бог, где-то через полгодика будет mvp и устрою бета-тест в маркете.
На этом все, спасибо за внимание!
Android Developers
86 постов2K подписчиков
Правила сообщества
Друзья!
Давайте адекватно относиться к тематике сообщества. Посты, не удовлетворяющие требованиям канала, будут отклоняться. Разработка под Android - это не только описание того, что надо сделать
(освоить Java / покормить кота / установить студию), но и реальные примеры того, что Вы описываете.