Как стать автором
Обновить

Комментарии 13

А где, собственно, само приложение?
Прямую ссылку не давал (правила песочницы), а приложение называется Facegood, ищите в Google Play, там есть бесплатная версия
А как насчет десктопной версии? Подхватывать видео с вебки, обрабатывать и отдавать приложениям.
В случае десктопной версии, можно сделать примерно так: с помощью OpenCV получить видеопоток с вебки (там все довольно просто), параллельно записывать аудиопоток с микрофона (это можно сделать средствами FFmpeg), затем проводить манипуляцию с кадрами, параллельно отображая их пользователю в окне программы, а потом уже средствами FFmpeg объеденить аудиопоток и набор кадров в видеофайл. Если я не ошибаюсь, то здесь все даже проще и нет необходимости лезть в код FFmpeg, достаточно уже готового ffmpeg.exe, которому можно передать поток кадров от OpenCV, из которого он потом сможет собрать видео поток. Или же точно так же как и описано в статье — связать FFmpeg и OpenCV. Раз запрос появился, то постараюсь вскоре написать tutorial на тему «Как скомпилировать FFmpeg в Visual Studio Express for Desktop» и как прикрутить к нему OpenCV с кодом.
Разумеется, сперва поискали аналоги. Что-то более или менее похожее было найдено в AppStore для iPhone, причем там процесс создания ролика был не очень удачным: выбираешь картинку, размечаешь на ней одну область, и потом камерой в этой области что-то снимаешь, то есть речь о том, чтобы наложить на картинку в разных местах хотя бы два глаза и рот вообще не шла. В Google Play же вообще ничего такого не было. Максимально близкие программы с похожим функционалом были такие, где на фото можно наложить анимированные элементы из ограниченных наборов.


Хм, видимо плохо искали ;-)
Android — play.google.com/store/apps/details?id=com.looksery.app&referrer=af_tranid%3DC31VNM0M2V99XSH%26pid%3Dlanding_android
iOS — itunes.apple.com/us/app/id904962326?mt=8
Интересное приложение, но все же оно другое по функционалу, можете скачать и сравнить: play.google.com/store/apps/details?id=com.pixelrayapps.facegood.free. А из наиболее похожих есть вот такое: itunes.apple.com/ru/app/snimi-komediu-zameni-lico/id430623298?mt=8.
да, мы сегодня смотрели ;-) Кстати, почему-то на Nexus 5 с android 5.0 после записи видео и наложения эффекта выскачила ошибка «can't play video.» Диалог с ошибкой невозможно закрыть. ;-( Только перезапуск.

Насчет функционала, по сути идея точно таже, просто мы трекаем лицо и накладываем все эффекты в real-time. также можно выбрать существующие фото/видео из галлери и обработать внутри приложения.
Понятно, спасибо, что сообщили, буду разбираться, тестировал для 5.0 только на эмуляторе.

Насчет функционала, с помощью OpenCV на этапе обработки кадра, тоже можно прикрутить распознавание лица (там есть функции), но в моем случае, не получилось найти компромисс между скоростью обработки и точностью распознавания: если лицо определялось хорошо — 10-ти секундный ролик обрабатывался несколько минут, что очень долго, а если уменьшить точность — то периодически ноздри распознавались как глаза, поэтому было решено отложить это на следующие версии.
НЛО прилетело и опубликовало эту надпись здесь
1. К сожалению, если просто взять и положить в проект Visual Studio код FFmpeg и нажать Build, то разумеется ничего не получится. Вы правы насчет C99, но в том то и дело, что оказалось нужен всего лишь один сторонний файл: inttypes.h (который можно скачать для VS, например, отсюда code.google.com/p/msinttypes/). А все остальное, за исключением небольшого количества моментов связанных с синтаксисом C, нормально компилируется.

2. FFmpeg был выбран из-за того, что там поддерживаются практически все форматы и кодеки, да и сама задача получить его работающим на Android — была инетресна. А насчет того, поддерживает ли FFmpeg аппаратные кодеки в Android — этого я к сожалению не знаю.

3. Согласен с каждым вашим словом :-)
Помнится я много раз пытался скомпилировать ffmpeg в Visual Studio, но каждый раз терпел фиаско. Кроме всего прочего, в ffmpeg много кода написано на ассемблере в формате AT&T и чтобы скормить его Visual Studio нужны какие-то хитрые телодвижения наверно.
Вы правы, я забыл насчет ассемблера, здесь опять же нам помогает yasm, а вообще, если вам нет необходимости что-то изменять в коде FFmpeg, то обратите внимание на ffmpeg.zeranoe.com/builds/ — там dll-ки FFmpeg уже готовые. Если все же необходимо скомпилировать FFmpeg — я постараюсь найти время и написать tutorial о том как это сделать
там dll-ки FFmpeg уже готовые

dll-ки я и сам сто раз делал, но с помощью Cygwin и MinGW.
А вот если напишите про то, как скомпилировать ffmpeg именно в Visual Studio, думаю вам не только я, но и еще куча народа спасибо скажут ))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории