Опубликованные панорамные снимки можно просматривать на сайте социальной сети, а так же и на мобильных устройствах. Требования к мобильным устройствам:
- для iOS приложение Facebook версии v57 и выше (операционная система iOS версии 8 и выше, iPhone модели 5S и позднее)
- для Android приложение Facebook версии v80 и выше (операционная система Android версии 4.4 и выше, на устройствах 2013 года выпуска и позднее)
- предусмотрена возможность просмотра панорамных снимков в очках виртуальной реальности Oculus Rift или Samsung Gear VR
Как же, все таки, опубликовать свои панорамные фото в социальной сети?
Согласно разделу сайта посвященного этому виду контента https://facebook360.fb.com/360-photos/ достаточно сделать панорамный снимок при помощи iPhone, приложения поддерживающего панорамные снимки для Android или специальной панорамной фотокамеры и загрузить и опубликовать его так же как это делается с обычным фото. Facebook сам автоматически распознает что это фото 360 и опубликует его в соответствующем формате.
Какие фотоснимки распознает Facebook как фото 360:
iPhone панорамы
- 4S и новее
iPad панорамы
- iPad mini 2, 3, 4
- iPad Air and iPad Air 2
- iPad Pro
Samsung Galaxy панорамы
- S7, S6, S5
- Note 5, 4
Фотосферы таких сервисов как Street View, Google Camera, Theta S
Также по заверениям разработчиков можно загружать и публиковать на Facebook фото 360 снятые на зеркальные фотокамеры и другую фототехнику и "сшитые" программой PTGui.
Как опубликовать в facebook фото 360 снятые на любую фототехнику и сшитых любой программой?
Сами по себе панорамные фотоснимки существую уже довольно давно и я думаю что у многих людей уже есть готовые панорамы которыми они бы хотели с удовольствием поделится в социальной сети. Попробовав разместить такие фото я обнаружил что они не распознаются как панорамы и публикуются как обычные фотографии. Сшивал я их используя не PTGui, самой этой программы у меня нет да и сшивать уже готовые панорамы заново тоже не выход.
Очевидно что сайт при распознании типа фотоснимка обращается к метаданным файла. Т.е. достаточно отредактировать или добавить их. Удалив все метаданные с панорамы и добавляя по одному значению оказалось что достаточно добавить следующие метаданные:
<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
<GPano:CroppedAreaImageHeightPixels>3000</GPano:CroppedAreaImageHeightPixels>
<GPano:CroppedAreaImageWidthPixels>6000</GPano:CroppedAreaImageWidthPixels>
<GPano:FullPanoHeightPixels>3000</GPano:FullPanoHeightPixels>
<GPano:FullPanoWidthPixels>6000</GPano:FullPanoWidthPixels>
</rdf:Description>
Где следует указать разрешение Вашей панорамы.
Для этого можно воспользоваться несколькими способами:
1. Используя Photoshop - открыть нужный файл - "Файл"->"Сведения о файле..." (Alt + Shift + Ctrl + I)
Экспортировать метаданные снимка в файл, открыть его текстовым редактором и просто вставить указанный выше код после третей строки (указав свои значения ширины и высоты панорамы). Сохранить файл с метаданными и в Photoshop импортировать эти данные обратно в панораму. Не забудьте сохранить после этого панораму в Photoshop.
2. Так же в Photoshop через окно "Сведения о файле..." (Alt + Shift + Ctrl + I) можно просто импортировать этот файл facebook.xmp. Перед импортом нужно открыть его текстовым редактором и поменять значения высоты и ширины панорамы в пикселях на Ваши.
3. Можно использовать программу MetaEditor которую можно скачать тут или на сайте разработчика http://kiwiczech.blogspot.com/. В ней необходимо открыть панорамный снимок и воспользоваться инструментом Tools -> Google Panorama в котором достаточно просто сохранить файл после чего программа добавит необходимые теги в файл метаданных. Также при желании с помощью этого инструмента можно легко указать в метаданных геоданные снимка, расположение центра снимка относительно севера и прочие данные
!!! Обратите внимание, что на момент написания статьи facebook распознавал фото 360 только при публикации их непосредственно в хронике. При загрузке панорамного снимка непосредственно в фотоальбом он не распознается как фото 360. Помогает публикация фотосферы в хронике и последующее добавление ее в фотоальбом.
Публикация частичных сферических панорам в facebook (панорам с неполным круговым обзором)
Для того, чтобы facebook распознал панораму и понял что она частичная необходимо задать следующие теги (можно скачать этот файл для импорта метаданных в Photoshop, исправить значения тегов текстовым редактором на свои и импортировать используя меню "Файл"->"Сведения о файле..." -> "Импортировать ..."):
<GPano:CroppedAreaImageHeightPixels>[высота снимка в пикселях]</GPano:CroppedAreaImageHeightPixels>
<GPano:CroppedAreaImageWidthPixels>[ширина снимка в пикселях]</GPano:CroppedAreaImageWidthPixels>
<GPano:FullPanoHeightPixels>[высота полного панорамного снимка в пикселях]</GPano:FullPanoHeightPixels>
<GPano:FullPanoWidthPixels>[ширина полного панорамного снимка в пикселях]</GPano:FullPanoWidthPixels>
<GPano:CroppedAreaLeftPixels>[отступ слева в пикселях]</GPano:CroppedAreaLeftPixels>
<GPano:CroppedAreaTopPixels>[отступ сверху в пикселях]</GPano:CroppedAreaTopPixels>
Где высоту и ширину снимка (не полной панорамы) в пикселях мы знаем а остальные параметры нужно рассчитать. Для этого нам достаточно примерно знать какой угол зрения по горизонтали наш снимок (не полная панорама) охватывает - обозначим его как [угол зрения по горизонтали].
[ширина полного панорамного снимка в пикселях] = (360 * [ширина снимка в пикселях]) / [угол зрения по горизонтали]
[высота полного панорамного снимка в пикселях] = [ширина полного панорамного снимка в пикселях] / 2
Теперь расччитываем отступы:
[отступ слева в пикселях] = ([ширина полного панорамного снимка в пикселях] - [ширина снимка в пикселях]) / 2
[отступ сверху в пикселях] = ([высота полного панорамного снимка в пикселях] - [высота снимка в пикселях]) / 2
Вот примеры нескольких вариантов публикации частичных панорам и значения тегов в комментариях: https://www.facebook.com/media/set/?set=a.628529243965725.1073741830.100004259651750&type=1&l=0ba88cbe31