image

Началось все с того, что около двух месяцев назад я обнаружил странное поведение фронтальной камеры в WhatsApp. Пишу только сейчас не потому, что я так долго готовил пост, а потому, что все это время я переписывался с техподдержкой мессенджера. Ну и до кучи — сам стал сомневаться: баг я нашел или фичу.

Отправляя селфи с помощью WhatsApp, я обнаружил свою серьгу не в левом, а в правом ухе. Получатель фото подтвердил этот факт. Но при этом в папке /WhatsApp Images фотка лежала нормальная, не отзеркаленная. Дальше я стал экспериментировать с Telegram. Он вел себя так же (зеркалил и отправлял фотку с фронтальной камеры), но хотя бы честно сохранял ее в /Telegram в том же виде, в каком и отправил. Для лучшего понимания я свел результаты изысканий в список, а чуть ниже дам скриншоты.

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

Telegram: зеркалит картинку, в таком виде отправляет ее получателю, отображает в диалоге и хранит в папке программы.

Скриншоты








Отдельно порадовала переписка с поддержкой WhatsApp. Цитировать полностью не буду, передам своими словами.

Сначала мне было отказано в создании тикета по причине наличии на устройстве Root (в терминах саппорта «Похоже, что вы используете прошитый телефон. Мы сожалеем, но мы не поддерживаем прошитые устройства...»). ОК, я нашел смартфон со стоковой прошивкой, повторил все действия на нем и отправил сообщение в поддержку.

После этого мне три раза приходило письмо с просьбой отправить отладочную информацию (все три раза я это прилежно делал), а в конце пришло феерическое: «Мы понимаем, что могло возникнуть недоразумение, но это на самом деле функция приложения и его особенностей.»

Теперь я и сам в непонятках, что это было. Поэтому прошу помощи зала (см. опрос)…

P.S. В принципе, я могу предположить, откуда растут ноги. Смартфон и фронтальную камеру часто используют как карманное зеркальце (особенно дамы). В этом случае изображение действительно надо зеркалить. Но вот зачем мессенджеры отправляют снимок с фронтальной камеры в отзеркаленном виде — это я не понимаю. Ведь в этом случае получатель увидит не реальную картинку, которую я ему хотел показать, а ее зеркальный вариант…

UPD: Я, кажется, понял, почему из поддержки написали: «это не бага, а фича». Чтобы мне вознаграждение за найденную ошибку не платить :):):).
Как мессенджеры должны работать с фотографиями фронтальной камеры?

Проголосовало 806 человек. Воздержалось 190 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

Комментарии (70)


  1. Fagot63
    27.03.2017 10:26

    А может быть это проблемой как с датчиками ориентации смартфона?
    Просто при тестировании VR, столкнулся с тем, что на некоторых телефонах сигнал от гироскопа/акселератора приходит порой инвертированным.
    Так же было с камерой на планшете в приложении сбербанка, зеркалил по двум осям. Когда как в смартфоне такого не было.


    1. Markscheider
      27.03.2017 10:28

      Надо будет на планшете попробовать для чистоты эксперимента, спасибо.


    1. p_fox
      28.03.2017 09:36

      И какой же датчик может заставить зеркалить картинку? Не поворачивать, а именно зеркалить?
      Термометр?


  1. NZX
    27.03.2017 10:41

    Попробовал передать фото с LG G2 (7.1.1 root) на LG Nexus 5x (stock). Фото передается в неизменном виде. Кажется, проблемы на Вашей стороне.


    1. Markscheider
      27.03.2017 10:42

      Кажется, проблемы на Вашей стороне.

      Версию Вазапа на аппарате, с которого отправляете, озвучьте, плз.

      Я пробовал отправлять с Doogee X5 (root) и LG G4S (stock). Результат одинаков и озвучен в статье.


      1. NZX
        27.03.2017 10:45

        2.17.107


        1. Markscheider
          27.03.2017 10:55

          Обновился, на Doogee результат тот же, вечером попробую на LG.
          Скажите, а на ваших аппаратах при отправке селфи в Телеграме картина такая же, как и у меня описана?

          UPD — поправил голосование, добавил ваш случай :)


          1. NZX
            27.03.2017 11:04

            Нет, передает в неизменном виде. Версия telegram на обоих устройствах: 3.17.1


            1. NZX
              27.03.2017 11:13
              +2

              UPD: Сейчас попробовал еще раз с whatsapp. При фотографировании фото сохраняет в нормальном виде, а отправляет его в зеркальном. С telegram все нормально: сохраняет и отправляет в нормальном виде.


    1. imhoil
      27.03.2017 16:27

      у меня такие же ноги и они не болят (ц)


  1. alexwlpr
    27.03.2017 10:57
    +1

    Samsung Galaxy Note 4 (SM-N910F), Android 6.0.1. Версия WhatsApp 2.17.107. С фронтальной камеры тоже отзеркаленое изображение ушло. В каталоге WhatsApp-a лежит не отзеркаленое.


    1. LineAir
      27.03.2017 11:20

      Xiaomi Redmi 3. Версия приложения 2.17.107. Такая же история.


  1. sashabeep
    27.03.2017 11:22
    +2

    Какие-то странные у вас выводы.
    Есть 3 разных варианта при съемке:

    • Cистемная камера сама зеркалит фото, если оно сделано с передней камеры
    • Не зеркалит фото, но пишет EXIF тэг, что фото отзеркалено
    • Не зеркалит и не пишет дополнительные данные

    Изучив то, что пишется в exif-data можно примерно понять, что происходит. Иногда программа сама или системный диалог выбора (или даже системный компонент для вывода картинки в экран) еще раз зеркалит изображение при выборе, таким образом цепочка глюков удлиняется. Если сервер не вырезает эти данные — может быть еще один лишний шаг :)


    1. Markscheider
      27.03.2017 11:33

      Насчет того, что путаницу может вносить системная камера — не подумал, спасибо.
      Попробовал сейчас фоткнуть на системную камеру (фронтальную). При съемке селфи на дисплее видно отзеркаленное изображение, но сохраняется оно нормально.
      EXIF пока посмотреть нечем, работаю над этим вопросом.


      1. Markscheider
        27.03.2017 11:42

        UPD: Вот EXIF снимка, сделанного на штатное приложение «Камера» на фронтальную камеру только что.

        Заголовок спойлера
        Имя файла
        IMG_20170327_112621.jpg

        Системный ID
        content://com.android.providers.media.documents/document/image%3A33999

        Путь
        /storage/emulated/0/DCIM/Camera/IMG_20170327_112621.jpg

        Формат
        image/jpeg

        Размер
        971,8 KB (995 121 bytes)

        Время редактирования файла


        Разрешение
        1920 x 2560 — 4,9 MP

        GPS


        Плотность


        ICC профиль


        EXIF
        *** Меняется в JPEG в окне Сохранения ***

        [ROOT]
        ImageDescription:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
        Make: DOOGEE,,,,,,,,,,,,,,,,,,,,,,,,,
        Model: X5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
        Orientation: 1
        XResolution: 72
        YResolution: 72
        ResolutionUnit: 2
        Software: MediaTek Camera Application
        ,,,
        DateTime: '2017:03:27 11:26:21'
        YCbCrPositioning: 2
        Unknown Tag (0x220): 0
        Unknown Tag (0x221): 0
        Unknown Tag (0x222): 0
        Unknown Tag (0x223): 0
        Unknown Tag (0x224): 0
        Unknown Tag (0x225):,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
        ExifOffset: 414

        [EXIF]
        ExposureTime: 100000/1000000 (0,1)
        FNumber: 28/10 (2,8)
        ExposureProgram: 0
        PhotographicSensitivity: 213
        ExifVersion: 48, 50, 50, 48
        DateTimeOriginal: '2017:03:27 11:26:21'
        DateTimeDigitized: '2017:03:27 11:26:21'
        ComponentsConfiguration: 1, 2, 3, 0
        ExposureCompensation: 0
        MeteringMode: 2
        LightSource: 255
        Flash: 0
        FocalLength: 350/100 (3,5)
        SubSecTime: '84'
        SubSecTimeOriginal: '84'
        SubSecTimeDigitized: '84'
        FlashpixVersion: 48, 49, 48, 48
        ColorSpace: sRGB
        ExifImageWidth: 1920
        ExifImageLength: 2560
        InteropOffset: 918
        ExposureMode: 0
        WhiteBalance: 0
        DigitalZoomRatio: 1
        SceneCaptureType: 0

        [INTEROPERABILITY]
        InteroperabilityIndex: 'R98'
        InteroperabilityVersion: 48, 49, 48, 48

        [SUB]
        Compression: 6
        Orientation: 1
        XResolution: 72
        YResolution: 72
        ResolutionUnit: 2
        JpgFromRawStart: 1268
        JpgFromRawLength: 7449
        YCbCrPositioning: 2

        IPTC


        XMP



        1. Alexeyslav
          27.03.2017 13:27

          тег Orientation надо смотреть. В обоих стоит 1.


          что означает этот тег:
          https://beradrian.wordpress.com/2008/11/14/rotate-exif-images/


          Там есть ещё дополнительные коды для случая слайдов, когда изображение через них проецируется на экран.


          1. Markscheider
            28.03.2017 10:24

            что означает этот тег:
            Посмотрел по ссылке. Orientation = 1 означает, что картинка никак не модифицировалась (ее не крутили, не флипали...). Думаю, надо посмотреть EXIF той же фотографии, но на стороне получателя (т.е пропущенную через сервера Вазапа)


            1. Alexeyslav
              28.03.2017 11:10

              Нет, это не означает ничего кроме того КАК НУЖНО ПРАВИЛЬНО смотреть эту картинку. По факту, этот тег определяет какой угол содержащейся в файле картинки является левым верхним. А до того как изображение попадёт в файл оно может быть обработано, перевёрнуто как угодно и т.д.Тег же говорит как правильно интерпретировать содержимое файла. Забавно, кстати, но некоторый софт игнорирует этот тег и выводит картинку как есть в файле, а не как надо.


  1. m1n7
    27.03.2017 11:36
    +3

    — Доктор, когда я кончиком языка дотрагиваюсь до комочка фольги, в котором до этого пекли картошку, у меня покалывает за ухом. Что это значит?
    — Что у Вас слишком много свободного времени!


  1. eikoninaru
    27.03.2017 11:42
    +1

    x-treme pq11
    android 4.04
    telegram v3.8.0 (783) arm-v7a


    фоткает зеркально, отправляет нормально


    1. Markscheider
      27.03.2017 11:43

      фоткает зеркально, отправляет нормально

      Т.е. в локальную папку телеграма сохраняет зеркальную фотку, а получателю приходит нормальная?


      1. eikoninaru
        27.03.2017 14:07

        сохраняет нормальную, и такую же отправляет
        https://itmages.ru/image/view/5593937/47031a61


  1. geov
    27.03.2017 12:38

    После экспериментов выяснилось что в телеграме можно использовать системное приложение камеры и оно нормально работает, а можно какуюто встроенную штуку, она зеркалит и это никак не настраивается.


    1. Markscheider
      27.03.2017 12:40

      в телеграме можно использовать системное приложение камеры <...>, а можно какуюто встроенную штуку
      Не нашел такой фичи в настройках. Подробнее можно?


      1. Fenixad
        27.03.2017 15:59

        А нет этого в настройках. Когда жмете на скрепку чтоб вложить что-то, верхний левый «квадрат» с символом камеры, который уже проецирует изображение с камеры — это встроенная камера Telegram. Чуть ниже его, с цветной «диафрагмой» и подписью Camera — системное приложение.
        Скриншот не могу, с некоторых пор телеграм запретил себя скриншотить и этого тоже нет в настройках :)


        1. Kondra007
          27.03.2017 22:33
          +1

          Настройки — приватность и безопасность — код доступа — (ввести текущий код) — разрешить скриншоты — ????? — PROFIT!!!


          1. Fenixad
            27.03.2017 23:33

            Действительно, благодарю.
            В случае если локальный код доступа не назначен, скриншоты по-умолчанию разрешены и дополнительных настроек нет.


            1. Kondra007
              28.03.2017 00:27

              Именно так.


  1. Markscheider
    27.03.2017 12:40

    -


  1. imihajlov
    27.03.2017 13:10

    Я давно заметил это. Мне кажется, так сделано по психологическим причинам: люди привыкли видеть себя в зеркале, поэтому свое зеркальное изображение выглядит более привлекательным, чем нормальное.


    1. Markscheider
      27.03.2017 13:11

      Мне кажется, так сделано по психологическим причинам
      Это понятно. Вопрос — почему потом локально сохраняется исходная (неотзеркаленная) фотка?


      1. Vespertilio
        28.03.2017 10:05

        Приложения и телефон делают все правильно. Зеркальное изображение только в видоискателе, потому что так привычно и удобно себя фотографировать(иначе правая рука была бы слева на экране и все было бы инвертировано). А сохраняет телефон соотвественно нормально ориентированное фото, как если бы вас фоткал кто-то другой. Соответсвенно точно так же у меня в телефоне (zenfone 2) работает и системная камера и тот же телеграм, и других вариантов быть не может, а если они есть — это баг.


        1. Markscheider
          28.03.2017 10:25

          Зеркальное изображение только в видоискателе <...> А сохраняет телефон соотвественно нормально ориентированное фото
          Это понятно. Но нафига он отправляет отзеркаленное? И почему техподдержка считает это фичей :)


    1. Bal
      27.03.2017 16:45

      У меня на LG G6 даже селфи штатной камерой зеркально сохраняются. Действительно, если изображение не зеркальное, то сложнее себя и камеру контролировать. А сохраняют в зеркальном виде, наверное, чтобы было то же самое, что на экране при фотографировании.


    1. DnD_designer
      27.03.2017 19:22

      Мы это в Скайпе еще лет несколько назад заметили. Но там было все с точность до наоборот: на наш экран с фронталки показывалось зеркальное изображение, а собеседнику отправлялось неотзеркаленное. Мы, конечно, догадались, зачем это, но были удивлены по началу — когда со сломанным микрофоном и без клавиатуры пытались передавать сообщения, написанные на листочках, мы видели — зеркально, собеседник — правильно. Но, вот зачем собеседнику передавать отзеркаленное — ума не приложу!


  1. Markscheider
    27.03.2017 13:11

    -


  1. Rad1calDreamer
    27.03.2017 13:19

    заметил это, когда по причине поломки основной камеры, жене пришлось фоткать документы на фронтальную


  1. Vnuchok
    27.03.2017 14:10

    с приложением Сбербанк онлайн такая ж история. То есть, сфоткал себя фронталкой, отправил в анкету и обнаружил зеркальное отображение


  1. dimalu85
    27.03.2017 14:51
    +1

    Мне привычно и удобно в скайпе и вайбере во время видео или фото на фронтальную камеру видеть зеркальное отображение, во время процесса съемки. Но результат должен быть нормальным и отправляться и сохраняться.
    В вайбере сейчас проверил — фоткаешь как в зеркале и перед отправкой показывает нормальный кадр и его уже можно отправить.
    Как можно отправлять/сохранять отзеркаленное изображение? это же неестественно для получателей.


  1. vsespb
    27.03.2017 14:59

    Я не понял из поста в чём именно автор видит проблему. В том что фронтальная камера делает зеркальные снимки? Или она их не делает, а делает только в ватсапп? Или что ватсап их отправляет зеркальными? И какая вообще разница как он сохраняет в галерею исходник (неужели так принципиально, кому он вообще нужен, это же побочный эффект, по идее)?


    1. Markscheider
      27.03.2017 16:04

      Фронтальная камера (штатная) снимает нормально.
      Вазап зеркалит, отправляет отзеркаленные, а сохраняет оригиналы. Это проблема, потому что нелогично и сбивает с толку.


      1. vsespb
        27.03.2017 23:03

        Фронтальная камера (штатная) снимает нормально.

        Что значит «нормально»? Может она должна зеркалить. Это же фронтальная камера. Если она зеркалит, почему фотографии с неё должны быть не зеркальными?

        Опять непонятно. Вы согласны что фронтальная камера во время фотографирования должна отображать картинку зеркально? Вы согласны что так она и должна сохранять, или не согласны?


        1. p_fox
          28.03.2017 09:44
          +1

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


        1. Markscheider
          28.03.2017 10:29

          Опять непонятно. Вы согласны что фронтальная камера во время фотографирования должна отображать картинку зеркально? Вы согласны что так она и должна сохранять, или не согласны?
          Нет. Мне было бы удобнее, если бы фронтальная камера работала ровно так же, как и основная. Т.е. отображала и сохраняла реальную картинку. Выше говорили про удобство «прицеливания» — я готов испытывать некоторые неудобства, но иметь реальную картинку, которую видит человек со стороны.


          1. vsespb
            28.03.2017 10:33

            Ну если вы хотите чтобы фронтальная камера не зеркалила при прицеливании… Думаю она зеркалит у 100% телефонов. Тогда при чём тут whatsapp и telegram в заголовке поста. Проблема явно не в них, а в 100% телефонов.


  1. DoNotPanic
    27.03.2017 15:05

    WP, десятка, Telegram. Во время съёмки с фронталки снимок зеркалится (для удобства фотографирования?). Когда фотография сделана, отображается в Телеграме уже правильно.
    WhatsApp — зеркалится во время съёмки и в результате отсылается неправильная, отзеркаленная версия. Забавно, что перед отсылкой фото можно немного обработать (повернуть, добавить текст, etc.), но вот отразить снимок нельзя.
    Ах да, снимок в галерее сохраняется в любом случае тот, что был отправлен.


  1. Drako_Staarn
    27.03.2017 15:14

    К слову, то же было в своё время на скайпе линуксовом, именно на 4-й ветке.


  1. AlexanderPerkov
    27.03.2017 16:00

    Вижу эту ситуацию как решение дилеммы того, какое фото отправлять. Выбирая между оригиналом и тем, что видел пользователь при фотографировании. У каждого варианта есть свои преимущества. У первого — правдивость изображения для стороннего наблюдателя, у второго — возможность точной передачи задумки фото, когда позы и размещение объектов в результате соответствуют увиденному фотографирующим.


    1. Markscheider
      27.03.2017 16:01

      Ага, только у рядового пользователя нет возможности переключаться между этими двумя вариантами
      Без бубна и отправки селфи как вложения


    1. p_fox
      28.03.2017 09:46

      А что, на зеркальном фото поза и расположение объектов как-то отличаются от нормального фото?
      Т.е. Если взять любое фото и отзеркалить — что конкретно изменится на этом фото, кроме нечитаемого текста?


      1. Markscheider
        28.03.2017 10:32

        Если взять любое фото и отзеркалить — что конкретно изменится на этом фото, кроме нечитаемого текста?
        Еще право и лево меняются местами. Это порой дезориентирует. Но главный вопрос не в этом. Конечно, можно отзеркалить фотку в редакторе. Но для некоторых пользователей это сложно. Поэтому раз уж Вазап решил, что зеркалить — это круто, то пусть хотя бы отключение этой фичи предусмотрит.
        Для сравнения — в приложении Open Camera, если я ничего не путаю, в настройках есть как раз такой пункт — Зеркалить фотки с фронтальной камеры. Это я называю: забота о пользователе.


  1. saboteur_kiev
    27.03.2017 17:34
    +1

    В опроснике не хватает логичной опции: «Поведение должно быть настраиваемым».


    1. Fagot63
      27.03.2017 23:28
      -2

      Я бы добавил еще такой вариант. :)


    1. Markscheider
      28.03.2017 10:33

      В опроснике не хватает логичной опции: «Поведение должно быть настраиваемым».
      Вы правы, не подумал. Но сейчас уже не буду редактировать, поскольку переголосовывать нельзя, а многие уже прошли опрос.


  1. ZaitsXL
    27.03.2017 21:57
    -1

    после слов «отправляя селфи» дальше читать желание пропало, дочитал только чтобы понять как сюда эта картинка подошла


    1. p_fox
      28.03.2017 09:48

      Тоже не любите эти американизмы, да?
      Есть же хорошее славянское слово — себяшка.
      А то заладили: селфи, селфи...


      1. Markscheider
        28.03.2017 10:35

        Есть же хорошее славянское слово — себяшка.
        Помню, был в одном компьютерном журнале автор, который упорно использовал словосочетание «зеркальце для самофотографирования» вместо "… для автопортрета". Ох его редакторы и не любили…


        1. Fagot63
          28.03.2017 16:27
          +1

          Что проще произнести, то обычно и в ходу.


      1. Thero
        28.03.2017 18:09

        слово селфи вызывает отвращение, которое оно заслужило, а себяшка нет. отвратительные вещи надо называть отвратительными словами.


        1. Markscheider
          29.03.2017 08:54

          слово селфи вызывает отвращение, которое оно заслужило
          Ну, это на вкус и цвет. Мне, например, «себяшка» гораздо меньше нравится и ассоциации нездоровые вызывает.

          А чем «селфи» заслужило отвращение? И еще вопрос — вам только русская калька не нравится? Английский вариант — Selfie тоже раздражает или норм?


          1. Thero
            31.03.2017 13:37

            меня лично вообще не раздражает, эта шутка появилась во времена когда все начали форсить себяшки вместо селфи… сейчас уже конечно и себяшки заслуженно отвратительное слово, но в ситуациях когда мне всё-равно я старовер.


      1. ZaitsXL
        29.03.2017 11:51

        да дело не в американизмах и не в названии, а в самом этом явлении


        1. Markscheider
          29.03.2017 11:52

          а в самом этом явлении
          Ничего в этом явлении нового нет. Как раньше давали спутнику пленочный фотоаппарат и просили «А сфоткай меня на фоне Кремля...», так и сейчас. Технологии немного поменялись, только и всего…


          1. ZaitsXL
            29.03.2017 17:52

            совершенно другие фотки в этом случае получались, и палки в кадре не было


  1. OKyJIucT
    27.03.2017 22:41

    В камере Xiaomi Redmi 3s есть функция в настройке фронтальной камеры — зеркалить при обнаружении лица. Такой закономерности в зеркальных фото не замечали? Можно нечто подобное и приложения используют.


  1. Pavelblog
    27.03.2017 22:41
    +3

    Когда фотографируешь фронтальной камерой ты смотришь на экран. Так вот если на экране будет не отзеркаленное изображение прицелится будет очень сложно. Чтобы захватить в кадр что-то чуть правее нужно будет поворачивать телефон левее, это рассогласование приводит к утомительному процессу «прицеливания». Мне кажется ноги растут отсюда. Так что отображать картинку во время фотографирования нужно зеркально, но отправлять не зеркально. Многие люди даже себя не могут узнать в зеркальном отражении. Я с таким поведением столкнулся когда мой друг сфоткал на фронтальную камеру за рулем, а руль оказался справа а не слева. Это был Телеграм кстати.


  1. Kenya-West
    28.03.2017 10:13

    Смартфон на Windows 10, версия 2.17.116, приложение зеркалит фотку. Сохранение фотографий на устройстве я отключил, поэтому не знаю, в каком виде лежит оригинальный файл.


  1. Thero
    28.03.2017 17:03

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


  1. MAFi0Z0
    29.03.2017 08:54
    +1

    Полтора года назад писал в Телеграм об этом. Ответили, что это не баг, а фича.


    1. Markscheider
      29.03.2017 08:55
      +1

      Ответили, что это не баг, а фича.
      Шикарно! Можно считать вопрос закрытым, раз у Вазапа и Телеграма мнения сопали :)