
В iOS 13 Apple представляет многокамерную поддержку, позволяющую приложениям одновременно захватывать фото, видео, аудио, метаданные и глубину с нескольких микрофонов и камер на одном iPhone или iPad.
Apple давно поддерживает многокамерный захват на macOS начиная с OS X Lion, но до сих пор аппаратные ограничения препятствовали выпуску API для iPhone и iPad.
Новая функция и API в iOS 13 позволят разработчикам предлагать приложения, которые, например, одновременно передают видео, фото или аудио с фронтальной и задней камер.
Многокамерная поддержка iOS 13 с AVCapture
На презентации новой функции во время WWDC Apple продемонстрировала приложение для записи видео «картинка в картинке», которое записывало пользователя с фронтальной камеры, одновременно записывая с основной камеры.
Демо-приложение также позволяло записывать видео и менять камеры на лету во время воспроизведения в приложении «Фото». Функция также даст разработчикам контроль над двумя камерами TrueDepth, включая отдельные потоки с широкоугольной или телефото задней камеры, если они того пожелают.
Новая многокамерная функция будет поддерживаться в iOS 13 только на новом оборудовании, включая iPhone XS, XS Max, XR и iPad Pro.
Apple перечислила ряд поддерживаемых форматов для многокамерного захвата (изображено выше), которые, как заметят разработчики, накладывают некоторые искусственные ограничения по сравнению с обычными возможностями камеры.
Из-за ограничений энергопотребления на мобильных устройствах, в отличие от Mac, iPhone и iPad будут ограничены одной сессией многокамерной съемки, что означает, что вы не сможете проводить несколько сессий с несколькими камерами или использовать несколько камер в нескольких приложениях одновременно. Также будут различные поддерживаемые комбинации устройств, определяющие, какие комбинации захвата с каких камер поддерживаются на определенных устройствах.
Похоже, что сама Apple не использует никаких новых многокамерных функций в приложении «Камера» iOS 13, но мы можем себе представить, что это нечто, что появится в ближайшем будущем, поскольку поддержка в AVCapture теперь официально внедрена.
Маски семантической сегментации
Еще одно новшество для захвата изображений в iOS 13 — это маски семантической сегментации. В iOS 12 Apple использовала то, что она называет Portrait Effects Matte, внутри приложения «Портретный режим» для отделения объекта от фона. В iOS 13 Apple представляет то, что она называет Semantic Segmentation Mattes, для идентификации кожи, волос и зубов, а также для дальнейшего улучшения этих карт с помощью API, к которому могут обращаться разработчики.
На своей сессии WWDC Apple продемонстрировала новую технологию с помощью демо-приложения, которое позволяло отделять объект на фотографии от фона, а также выделять волосы, кожу и зубы для легкого добавления эффектов, включая раскрашивание лица и изменение цвета волос (изображено выше).
Разработчики могут узнать больше о многокамерной поддержке и масках семантической сегментации на веб-сайте Apple, где также есть примеры кода для демонстрационных приложений.