Решить проблему с камерой приложения на flutter

Цена договорная
06 февраля 2020, 13:55 • 1 отклик • 28 просмотров
Ищу опытного программиста на Dart/Flutter, с опытом работы с камерой, в т.ч. в режиме наложенного сверху превью изображения для:

1) ревью кода приложения (под NDA)
2) написания новой/настройки/исправления существующей работы с камерой (можно будет передать исходники, где функциональность, не связанная с камерой, удалена. Без NDA)



Есть приложение на flutter, основной задачей которого является удобное фотографирование документов и передача их на сервер. Приложение работает как на android так и на ios.

Штатное приложение "Камера устройства" со всеми плюшками использовать не удалось, так как по требованию заказчика, нужно иметь возможность накладывать на live-preview слой с "прицелом" (на портреты - силуэт человека, на паспорт - разметку для помещения в нее номера и фотографии, на водительское удостоверение - разметку для фотографии водителя).

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

После изготовления, приложение на Flutter тестировалась на ограниченном количестве устройств. Явных проблем не было замечено. Однако, когда пошло в релиз и его установили сотни внештатных сотрудников, полезли проблемы:
1) live-превью камеры (не знаю как принято его называть, это как бы взгляд через видоискатель) на некоторых моделях устройств искажает пропорции видимой реальности (как минимум на всех свежих Honor это замечено).
2) Картинка, которую мы видим в режиме live-preview, не совпадает с картинкой, которую мы видим на стоп-кадре после изготовления снимка, и с картинкой, которая легла в файл на диске.
3) Качество фотографирования документов низкое, никто фотки не обрезает, а мелкий текст всегда в мыле и артефактах, хотя сжатием в jpg играли от 85 до 100.
4) фокусировка не у всех и не всегда работает быстро и правильно.
5) вспышка тоже ведет себя непривычно - то пыхает на полную мощность, засвечивая кадр, то не пыхает вообще.
6) В некоторых случаях камера просто не работает, вместо живой картинки - черный экран, крутится прогресс бар.
7) В некоторых случаях после сделанного кадра камера виснет.

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

Если пункты 5-6-7 я и разработчик можем списать на сырость приложения и кривые руки, п. 3 - на алгоритмы сжатия jpeg в Dart, то 1 и 2 - никак не получается победить.