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

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

А про что новость? Делали люди 20 месяцев приложение. Видят что за все время получилось заработать только 50-70k$. А если потратились на рекламу, то еще меньше. На ноль выйти не могут. Убытки только растут. Разбегаемся.
Никуда они не разбегаются. У них накладные объективы, как и приложение на iPhone отлично продаются. Куча обзоров, рейтинг 4.6 из 5 на Амазоне и все прочее. Фрагментация и связанная с этим сложность поддержки — основные причины.
Вы бы хоть вкратце рассказали что это приложение и чем оно отличается от стандартного приложения камеры.
Там, что-то для гиков. На китайских мегапикселях будем сырой рав снимать для фотошопа.
А учитывая, что приложение без бесплатного компаньона, там финансовая ситуация еще хуже
от 0.9 до 3 бюджетов ушло на получение инсталлов.
Но если драйвер камеры не поддерживает съём RAW, никакого сырого рава не получится, а если поддерживает — есть та же OpenCamera. В чём «фишка» именно Момента?

Он идёт в комплекте с мобильными объективами этой же компании. Поддерживается съёмка анаморфотного видео.

Ну тогда собственно все более менее ясно. Как то так:
Сейчас мобильная «видеография» набирает обороты. Люди покупают смартфоны и всякие разные причиндалы для съемки видео.
Но в основном для этого используют iPhone, потому что под него заточено большинство приложений, которые позволяют что то делать более менее «профессионально».
С android ситуация печальней. Ну вот хочешь ты себе смартфон для съемки видео. Тебе надо перелопатить кучу форумов и пр, чтоб выяснить, поддерживает ли например смартфон CameraAPI2 или нет. А если поддерживает, то все ли нужные фичи. Далее, поддерживают ли нужные приложение этот смартфон или нет. А если поддерживает, работают ли все нужные фичи. И так далее.
Ну вот у меня например Xiaomi mi 9t. Современный смартфона на свежем android, с приличными камерами. Но вот CameraAPI2 нормального не завезли, как и поддержки доп камер для сторонних приложений.
С Андроидом ситуация не просто печальней, а абсолютно никудышная. Вплотную интересовался я этой ситуацией ровно год назад, из-за непредвиденных обстоятельств пришлось отложить эти хотелки в долгий ящик, а там и энтузиазм пропал. В итоге по памяти на данный момент могу восстановить следующую картину, сложенную тогда по результатам экспериментов, просмотра обзоров и обсуждений:
1. Несмотря на то, что Camera2 API на бумаге даёт возможность очень гибко управлять параметрами съёмки, конечные устройства вольны поддерживать или не поддерживать отдельные фичи и отдельные вариации этих фич.
2. Со стороны разработчика (а в конечном счёте и пользователя) наивно верить тому, что рапортует устройство по поводу поддержки фич и текущих параметрах съёмки. Далее поясню на примерах.
Zenfone 4 рапортует о поддержке аж 512 точек тоновых кривых, которыми можно скорректировать гамму на первичных этапах конвейера ещё до того как картинка преобразуется в YUV и будет доступна нам для дальнейших манипуляций, и в итоге получить некое подобие LOG-профилей с сохранением максимально возможного динамического диапазона (именно таким образом работают эти профили в Filmic с осени 2018 года). Но при этом никакими ухищрениями заставить Zenfone 4 начать реально применять эти тоновые кривые не получилось. В итоге эти профили не работают ни в Filmic, ни в OpenCamera.
Оптическая стабилизация в Zenfone 4 работает только если мы инициализируемся в режиме ручной экспозиции, но при автоматической экспозиции операционка нам будет так-же будет рапортовать о том, что с OIS у нас всё ок, но глазами мы видим обратное. Ручной фокус якобы поддерживается, но не работает.
Ок, скажем мы, это-же какой-то там никому не нужный Zenfone. Но когда я попытался сравнить разницу 4k между ним и Galaxy s10e, то выяснилось, что картинка с galaxy выглядит резче только лишь за счёт того, что Samsung решил сделать «резкость» (EDGE MODE) неотключаемой. В деталях разницы нет (текст, ветки вдалеке), а в итоге картинку с Zenfone 4 при отключенном шумодаве и резкости вполне можно принять за съёмку недорогой беззеркалкой или хотя бы компактом, когда в случае с флагманской моделью Samsung мы сразу видим, что снимали на мобилу.
При этом имеет место быть обратная ситуация: практически все устройства занижают рапортуемые максимальные битрейты в сравнении с тем, что они реально могут вытянуть. Zenfone 4 соглашался писать в 300 или в 350 Мбит, выдавая ошибку при попытке запросить больше. При этом рапортовал о верхнем пороге в 150. У s10e нащупать верхний порог не получилось, но по факту видео начинает спотыкаться об скорость записи на накопитель уже при битрейтах в 500 Мбит.
3. Опять эти вездесущие грабли с Full range vs Limited range. Zenfone 4 отдаёт видео в Full range, чего старый Filmic с шейдерной реализацией log-профилей никак не ожидал. В недрах кода происходило преобразование из limited в full, в итоге в шейдеры поступали данные, выходящие за пределы допустимого диапазона. В тенях логарифм log-профилей начинал выгибать тени в обратную сторону, беря логарифмы от отрицательных чисел, а света просто резались по верхней отсечке после пересчёта.
4. Camera2 API позволяет использовать два подхода к кодированию и записи видео. Первый, который использует OpenCamera: полностью отдаём всю работу на откуп системе, выступая дирижёром этого оркестра. Второй, который использует Filmic: получем полусырые данные и имеем возможность более гибко манипулировать как данными, так и этапами кодировки и сохранения потока. Но это накладывает необходимость выстраивать весь конвеер самостоятельно, следить за равномерностью поступления и сохранения данных и костыля кучу костылей по дороге, чтоб везде работало и нигде не падало. При этом по состоянию на начало 2019 года системный муксер, применяемый для сохранения сжатых аудио и видео потоков в файл имел забавный баг на большинстве устройств: он падал с ошибкой превышения допустимого размера файла после отметки в 4Гб даже если файловая система не накладывала таких ограничений. При этом в недрах либы предусмотрена возможность заранее указать следущий файловой дескриптор для бесшовного сохранения видео, но эта фича не реализована в API напрямую. В итоге бедный фильмик кромсает это всё кусками как у него получается, и не факт что нет дропов кадров и синхронизация видео с аудио не идёт в разнос. С битрейтами в 200 Мбит/с видео будет кусковаться по 171 секунде. При этом подход OpenCamera лишён этого недостатка, но упирается в лимит аудиобитрейта, который чаще всего установлен в 96 кбит/с. Так-же этот подход не лишён проблем боттлнеков, на которые в этом случае нет возможности не только повлиять, но даже и задетектировать выпавшие кадры.
5. Выпадение кадров. По моим наблюдениям на тот период страдали все, включая Huawei P30 Pro, изначально позиционируемый как телефон для съёмки видео. Выпадения случаются как на стоковых камерах, так и в OpenCamera. Фильмик же, особенно последних версий, своей прожорливостью только усугублял ситуацию, никак не предупреждая пользователя о дропах. Узнать о них косвенно можно по заниженному итоговому фреймрейту, но лучше полюбоваться на график в утилите QCTools.
6. Многие телефоны при записи видео активно используют всяческие улучшайзеры. И если на Zenfone 4 мне процессинг даже нравится, то Xiaomi поголовно вплоть до их последних новинок всё душила ужасным шумодавом. При этом в теории это должно решаться выбором в качестве источника аудио Unprocessed, но очень редкие приложения позволяют это сделать (Из Filmic было выпилено год назад, в OpenCamera доступны все источники).
7. «Но вот CameraAPI2 нормального не завезли, как и поддержки доп камер для сторонних приложений.» — а вот и завезли поддержку доп камер, скорее всего. Мной была найдена ещё одна недокументированная фича: на чуть ли не половине девайсов к камерам можно получить доступ, если просто пытаться его получить. Т.е. просто игнорим рапортуемый список камер и перебираем вплоть до 50го сенсора. Ибо на некоторых Xiaomi допники идут под id 20 и 21.

А теперь, внимание, вопрос: на каких форумах и в каких обзорах можно почерпнуть эту информацию по девайсу, который предполагается активно использовать для съёмки видео?

P.S. комментарий тянет на мини статью, но «Взялся за гуж — не говори, что не дюж» :) Нужно было это всё где-то подытожить. И отдельное спасибо за приложение для yongnuo yn-360, их китайское поделие реально убого.

главным достоинством и одновременно главным недостатком операционной системы — её открытостью
Открытость сама по себе никакой не недостаток, недостатком является лишь вытекающая из неё фрагментация.
и даже фрагментация не недостаток. Недостаток — нечёткая спецификация, неследование даже той, что есть и закрытые компоненты.
Согласен. В мире Windows тоже очень, очень большая фрагментация, компонентов море, но как-то вот удалось Майкрософту сделать так, что под любым железом «винда» работает примерно одинаково. Чуть менее однородно, но в целом допустимо, работает современный Linux: на сколько устройств я ни ставил Xubuntu, везде всё заводится, разве что один-два штриха напильником приходится делать, но эти штрихи могут делать вендоры оборудования в поставляемой с железом ОС.

Почему так не происходит в Android? На мой взгляд из-за закрытости подсистемы драйверов. Я сейчас говорю не о закрытом коде, а о том, что на устройство невозможно просто взять и поставить драйвер. Почему нельзя сделать установку и обновление драйверов такой же простой, как в Windows или даже Linux? Тогда и патчи приходили бы быстрее, и аппаратн-низкоуровневые глюки типа того, с которым я столкнулся в своём устройстве (телефон адски лагает при включенном GPS) исправлялись бы в разы быстрее. Другое дело что это просто никому, простите, нахрен не нужно. Невыгодно это — делать качественно.

Открытость проблема? Ещё хуже было бы иметь 100500 разновидностей ОС для каждого вендора, а так хоть какая то, но унификация. Жить в мире когда все устройства Apple конечно хорошо, но только не в реальной жизни.

НЛО прилетело и опубликовало эту надпись здесь
Это платный форк opencamera?
Ещё-бы ожидать от тебе я другой рекомендации ;) Да запоздал ты чутка, никто уже не прочитает. Пили свою статью о граблях, я тут выше уже коммент накатал на половину оной.
Ха. На половину. Четверть максимум. Косяков столько, что мама не горюй.
Каждый производитель плевать хотел на разработчиков сторонних приложений.

Выделить можно только двух производителей: Сяоми и Сони.
Первому просто все равно на то, что там накрутят разработчики, пусть сами гадают о работоспособности. Т.е. доступно почти все, но в некоторых местах надо угадывать, потому что Camera2 API содержит информацию отличную от реальных возможностей.
У Сони данные из Camera2 API достаточно точно сочетаются с реальными возможностями. За редким исключением.

Остальные же пишут всякую дичь в Camera2 API и вообще не утруждают себя в том, чтобы обеспечить работоспособность.

Поэтому когда говорят, что iPhone — (здесь любое плохое слово), я вынужден смеяться в лицо.
Во-во. Вот потому и нужна от тебя статья. Никто об этих проблемах и знать не знает, ведь мало кто вообще отваживается лезть в дебри Camera2 API.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Другие новости

Истории