Привет, камрады, киноделы и просто читатели!
Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для профессиональной видеосъёмки на телефон. И сегодня я бы хотел обсудить такую тему: «Почему iPhone остается лидером в видеосъёмке?»
Профессиональная видеосъёмка на телефон? Серьёзно?
Более чем! Вот постер работы, снятой на мое приложение и уже завоевавшей за неполный 2021 год шесть гран-при международных кинофестивалей и одиннадцать различных номинаций. Мобильный кинематограф набирает обороты и производители телефонов всячески пытаются оседлать этот тренд.
Профессиональная видеосъёмка – это съёмка с максимальным количеством ручных регулировок, анализаторов и прочих решений, позволяющих оператору и режиссеру добиться нужного кадра. Все то, что, как правило, отсутствует или реализовано откровенно плохо в стоковых приложениях от производителей аппаратов.
В мире мобильного кино существует несколько признанных лидеров среди подобного рода приложений. Однако даже те из них, у кого всё вроде бы прекрасно с работоспособностью на iOS, начинают конкретно спотыкаться и падать, при попытке создать свои Android-версии.
В чем же причина?
Android не виноват
От некоторых пользователей iPhone, подкармливающих свое ЧСВ, можно услышать: «Android — плох!» При этом непонятно, речь идет об ОС или обо всех девайсах на Android.
Если речь идет о девайсах, то в контексте съёмки видео я вынужден согласиться.
Если речь об ОС, то я в корне не согласен.
За время разработки приложения, а это уже почти 3 года, я столкнулся с огромным количеством проблем, связанных с работой отдельных аппаратов и даже проблем, присущих всей продукции отдельных брендов!
Поэтому я могу с уверенностью утверждать, что Android, как ОС, в проблемах на устройствах почти никогда не виновата.
А кто же тогда виноват?
Давно известно, что сделать всё и вся в отведенный для разработки новой модели телефона срок невозможно. И поэтому производителям часто приходится выбирать, что отполировать, а что оставить полусырым.
Сегодня камера телефона имеет уровень важности в 50% от всего, что есть в телефоне и производитель не может игнорировать это. Поэтому в Android-устройствах бесконечно появляются разные дичайшие решения для привлечения пользователей.
Сами же Android-производители не забывают высмеивать Apple, когда та рекламирует нововведения, уже несколько лет присутствующие в Android-аппаратах.
Но удивительный момент — по видео, даже с таким отставанием, iPhone все равно остается лучшим. Что не так? О чем забывают производители Android-девайсов?
А забывают они о том, что бо́льшую часть ценности iPhone составляет не сам iPhone, не созданные Apple встроенные приложения, а приложения, написанные сторонними разработчиками.
Самые лучшие приложения часто существуют только на iPhone. И это касается почти всех приложений, относящихся к категории творчества. Будь то звук, будь то видео, будь то рисование.
Единственное, в чем Android-девайсы иногда выделяются, это фото. И то подавляющая часть преимущества заключается в модифицированных версиях Google-камеры. Здесь обращаю внимание, что модифицированные под определенные девайсы. Существовала бы в природе официальная Google-камера, она бы не работала ни на одном Android-телефоне, кроме Google Pixel, как и сейчас. Поэтому даже касаемо фото в мире Android все очень грустно.
Вся трагедия мира Андроид заключается в ненадлежащем отношении производителей телефонов к документации Android API.
Они игнорируют все возможности, с упорным стремлением подменяя уже имеющиеся механизмы своими собственными «костылями», которые они также не стремятся документировать и вообще афишировать разработчикам сторонних приложений.
А что производители?
Apple не предлагает свои решения как единственно верные, всячески сподвигая сторонних разработчиков создавать лучшие приложения. У Apple не вызывает ревности приложение Filmic Pro, которое на голову выше нативной камеры. Абсолютно всё, что умеет нативное приложение, сторонний разработчик может без проблем повторить.
И нет ничего, что бы было скрыто от разработчика.
Производители Android-телефонов думают, что они самые умные и для своего аппарата смогут создать набор идеальных приложений на все случаи жизни. В реальности же все оказывается совсем не так. Приложения от производителя часто малофункциональны и не раскрывают всех достоинств девайса. Касаемо камеры там вообще все очень грустно.
Apple vs Android
Ко всей этой печали добавляется активность Apple в данном направлении последние два года. Сначала они добавили запись HDR-видео (метаданные HDR можно отключить), которая позволяет записывать видео с глубиной цвета 10 бит и субдискретизацией 4:2:0, что отняло у Android-аппаратов единственное преимущество. А в этом году они добавили возможность записи в ProRes 4:2:2, чем в принципе еще раз показали производителям Android-девайсов их место.
Когда Apple рекламирует новую функцию, доступную в нативном приложении, можно быть уверенным, что эта функция будет доступна всем сторонним приложениям, которые в ней нуждаются.
Когда производитель Android-устройства рекламирует новую функцию, можно быть уверенным на 99%, что эта функция будет недоступна сторонним приложениям.
Но ведь ты сам разрабатываешь для Андроид!
Да, и я могу уверенно сказать, что в съёмке видео на Андроид mcpro24fps сегодня показывает весьма впечатляющие результаты. В то же время мне абсолютно понятно, почему именитые игроки iOS, мечтающие вскочить на рынок Андроид, побарахтавшись, медленно отползают в ссадинах и кровоподтеках с рейтингом Google Play чуть выше троечки и тысячами гневных комментариев за пазухой.
Всё потому, что перемолоть такое количество особенностей, нюансов и костылей от Андроид-производителей, мягко говоря, непросто. А может и нецелесообразно.
И мне очень хочется, чтобы производители Андроид-аппаратов наконец услышали Андроид-разработчиков.
А теперь конкретика
Давайте рассмотрим поближе самые актуальные функции, с которыми носятся пользователи, и которые они хотят видеть в приложениях.
1. Запись 60 кадров в секунду. На сегодня самая востребованная функция среди пользователей-любителей. Современный iPhone может 4К60 на всех сенсорах, доступных на устройстве. Современный Android в 99% случаев 1080@60 умеет только в приложении от производителя, а 4К60 в 100% случаев умеет только в приложении от производителя. Негласно, используя хрустальный шар предсказаний (или армию пользователей, как это делаю я), можно активировать данную функцию на отдельных аппаратах. Но то «костыли», а мы говорим о нормальной работе по документации. При этом о 4К60 на всех сенсорах в принципе можно забыть в 99% случаев даже с использованием «костылей».
2. Цифровая стабилизация. Вторая по востребованности функция. Современный iPhone позволяет включать и оптическую и цифровую стабилизацию (если та доступна на устройстве) в сторонних приложениях. Современный Android только у двух производителей позволяет включать цифровую стабилизацию в сторонних приложениях: Sony и Huawei. У всех остальных недокументированные решения прошлого века, которые не придумать с потолка, и прийти к ним можно только имея аппарат на руках. Самое смешное заключается в том, что данный функционал обозначен в Camera2 API как предоставленный и рабочий, а по факту имеем, что имеем.
3. Запись HDR-видео. Современный iPhone позволяет записывать HDR-видео 10 бит, позволяет отключить метаданные и оставить только 10 бит. Современный Android не всегда позволяет записать 10 бит, даже с нужным аппаратным кодеком на борту, а HDR-видео - это вообще отдельная тема. У одних он включается автоматически при активации профиля кодека, у других HDR-видео спрятано в каких-то недокументированных настройках, у третьих даже при наличии оного в нативном приложении его невозможно активировать в стороннем.
4. Отключение шумодава и резкости. Вот! Мы нашли преимущество Android перед iPhone. Apple не позволяет пользователям регулировать эти два параметра, печально но факт. Это есть один из двух недостатков iPhone. Но и будем честными, что на Android это тоже не всегда работает. Samsung и Huawei решили за нас, что искусственная резкость это то, что нам нужно. И можно хоть заотключать резкость, она останется там, где она есть. Шумоподавление тоже имеет свое странное поведение. Оно может автоматически включаться при подключении обработки изображения через ГПУ телефона. Этим страдают некоторые телефоны фирмы Xiaomi. Учитывая все это, преимущество перед iPhone несколько размывается.
5. Ручная настройка экспозиции. iPhone не имеет никаких проблем с ручной настройкой экспозиции, но имеет проблему с автоматической работой HDR, который испортит любую видеосъемку своими решениями глупого искусственного «интеллекта». Режим включается и выключается, когда ему захочется, контролировать его никак нельзя. Это второй и последний недостаток iPhone. Будем честными, китайские производители, которые постоянно смотрят в рот Apple, в точности скопировали эту проблему, и новые Android-аппараты могут болеть той же болезнью. Часто даже не понять, почему так неожиданно меняется изображение. То ли система решила подсветить кадр для лучшей фокусировки, то ли баланс белого сцены так резко поменялся, то ли это работает тот самый HDR. Проблема чаще всего встречается на аппаратах Xiaomi. Другая проблема, касаемо ручной настройки экспозиции, это некорректная работа автофокуса. На некоторых китайских аппаратах автофокус перестает работать как только включается режим ручной настройки экспозиции. Также часто автофокус в сторонних приложениях работает хуже, чем в нативном. Зачем и почему, остается загадкой.
6. Фокус. Как обычно на iPhone работает и ручной, и автоматический как в нативном приложении. Android смог стать проблемой и здесь. Самая частая, когда автофокус может сфокусироваться на бесконечность, а в режиме ручной настройки фокуса она просто недоступна, и сфокусироваться на дальних объектах не представляется возможным. Проблема проявилась на всех устройствах китайского производства, кроме Huawei. А Samsung на девайсах Snapdragon вообще сделал работу ручного фокуса недееспособной.
7. Ручной баланс белого. В большинстве своем почти все сенсоры с поддержкой Full (читайте документацию Android) справляются с этой задачей. В данном пункте очень сильно проиграли аппараты Huawei из-за своего инновационного решения с сенсорами RYYB. Им пришлось отключить настройку ручного ББ для сторонних приложений, потому как Android не знает, что такие сенсоры существуют.
8. Второстепенные камеры (ультра-ширик, телевик). Современный iPhone позволяет снимать на все доступные камеры, и часто в одном и том же режиме. Android же стремится спрятать их от сторонних приложений. Samsung прячет свой телевик уже много лет, потому что он очень ограничен по возможностям и на фоне основного модуля будет выглядеть позорно. 1+ в новых обновлениях вообще запретил использовать второстепенные камеры, с чем это связанно, не может ответить даже поддержка 1+. Xiaomi официально не дает доступа до второстепенных сенсоров, но в то же время их не блокирует намертво. Адекватным подходом считаю подход фирмы Sony. Они изначально открыли все сенсоры, не пытаясь скрывать их недостатки. А недостатки могут быть очень значительными. Первый и самый серьезный - отсутствие какого либо ручного управления. Второй — качество картинки в 10 раз хуже, чем на основном сенсоре. Третий — сильно отличающиеся возможности по разрешению и скорости кадров. При основном, способном в 4К, второстепенный модуль может оказаться способными только на 1080. Сразу трех более менее равноправных сенсоров сегодня нет ни на одном Android-устройстве.
9. Запись 24/25 кадров в секунду. Аппараты Huawei могут заявить поддержку и не поддерживать. Аппараты 1+ в принципе игнорируют эти частоты как ненужные. Xiaomi официально ничего не поддерживает, но отлично работает. Т.е. вся работа с этими частотами это гадание на кофейной гуще. Единственный производитель, который и заявил и поддерживает в рабочем состоянии - это Sony.
Вот это всё можно продолжать бесконечно.
И в каждом случае Apple будет лучше, потому что по какой-то странной причине Apple старается оттачивать работу своих девайсов до мелочей. Да, здесь я могу услышать возмущения, но все эти возмущения не будут касаться камеры.
Один из ярких примеров. Склейка кадров для уменьшения шума и повышения динамического диапазона, эта склейка есть и у iPhone и у Android-аппаратов. Но по какому-то странному стечению обстоятельств на iPhone нет эффекта наложения кадров при движении (ghosting), а все девайсы Android имеют жуткие артефакты с этим связанные. И это никак не отрегулировать, никак не отключить, просто нет такой возможности.
Три Android-бренда – три линии костылей
Отдельно хочу отметить три бренда: Google, Samsung и Sony. Первый, как аппарат той же компании, что разрабатывает Android. Второй, как самого значимого «конкурента» iPhone (в кавычки специально). Третий, как почти идеал.
Google Pixel. Все описанные выше страдания могли бы переноситься проще, если бы не Google Pixel. Как оказалось, Pixel далеко не пример для подражания, и имеет все те же проблемы, и так же игнорирует документацию Android API. Как? Мне непонятно. Я не понимаю как в пределах одной компании можно разработать ОС, и потом при создании своего аппарата проигнорировать все, что ты так усердно разрабатывал. Разве Apple себе такое позволяет? Google Pixel оказался ничем не примечательным среднячком, который показал очень плохой пример остальным Android-производителям.
Samsung Galaxy S... Производитель, который умудрился в пределах одной модели сделать два абсолютно разных аппарата. Любой S на Exynos будет в 100 раз лучше любого S на Snapdragon. И на фоне аппаратов Snapdragon аппарат от Samsung выглядит самым слабым. Samsung Snapdragon вобрал в себя все недостатки, которые могут быть у современного Android-девайса. Из вышеперечисленных пункты: 1, 2, 3, 4, 6, 8 имеют проблемы на данном устройстве. Если такое может позволить себе основной конкурент Apple, то чего мы можем ждать от других игроков рынка?
Sony Xperia 1/5 mark 1/2/3. Один из немногих аппаратов, которые могут претендовать на звание самых соответствующих документации Android. Но даже здесь, чтобы встать рядом с iPhone, еще работать и работать. Костылей, хоть отбавляй. Но в то же время, основные ключи управления не спрятаны от сторонних разработчиков и открыто доступны в Camera2 API. Большой минус, что все эти ключи нигде не задокументированы, и приходится гадать, за что каждый из них отвечает.
В последнее время очень остро стал ощущать недостатки Андроид-девайсов. Поэтому каждый раз, когда вижу на Youtube очередное сравнение в стиле «Сегодня мы выберем лучший камерофон на Android», вспоминаю песенку Шнура: «Выборы, выборы, кандидаты — так себе!»
И мой ответ таким сравнениям один: «Лучший камерофон на Android — это iPhone на iOS». И справедливым он останется до того момента, пока хотя бы один из производителей не задумается о сторонних разработчиках.
Заключение
Несмотря на все эти проблемы, разработка mcpro24fps будет продолжаться, потому что всё ещё хочется доказать, что Android может. Но мне бы очень хотелось, чтобы со стороны производителей началось движение навстречу. Мы готовы и хотим сотрудничать с вами.
Данная статья преследует две цели:
1. Чтобы пользователи Android наконец осознали, что отсутствие тех или иных функций в приложении - это не заскок разработчика, а решение производителя. И если чего-то не хватает, то стоит сначала спросить у производителя, почему в том-то приложении этого нет. В 90% из 100% этого нет, потому что производитель решил не открывать доступ или не обеспечил работоспособность.
2. Чтобы производители задумались, что бесконечно костылить, при наличии удобной альтернативы (iOS), не все будут согласны. Яркий пример — приложение от Moment. Да, в отношении Android они сдались очень быстро. Но обратите внимание на их приложение для iPhone. Почему-то там оно цветет и пахнет.
На Android и так с наличием хороших приложений проблема, а производители идут по пути их полного исчезновения. Настолько им все равно на нас и наши желания.
Нам не надо, чтобы вы реализовывали все-все возможные и невозможные функции в нативных приложениях. Дайте нам работоспособный аппарат (по документации Android), и мы сами все сделаем.
PS:
Как фанат хорошего кино я болею за развитие кинематографа. Мобильный кинематограф стал еще и реальной ступенью в мир большого кино.
Как Android-разработчик я болею за то, чтобы устройства могли полноценно реализовывать свой потенциал. Поэтому постараюсь ответить на все ваши вопросы и прокомментировать замечания.