Interactive Panorama on Facebook

Facebook offers to display a spherical panorama with a special viewer. If used on a mobile phone or tablet you can move around in the panorama by moving your device, zooming can be done by pinching. When used on a PC you can use the mouse to navigate and zoom.

The Facebook page of RCPano has several examples of those panoramas. We would be happy if you like and share them.

Some mobile phones offer a panorama function in their photos app. Most of these photos will work interactively on Facebook without modification when uploaded.

Some stitching apps generate their output in a way that is recognised by Facebook, some do not. Sometimes the sky (which is often missing when shooting with a drone) is "calculated" and does not look very pretty. In such a case it would be better to limit the scrolling region so the user is not able to scroll into the fake sky. Unfortunately this does not work all the time either.

The display of panoramas on Facebook is quite easy to control. You have to set some EXIF-Tags in the picture and the fun starts. Some requirements have to be taken care of:

Size of the panorama

Facebook allows uploading panorama images with a maximum size of 41 megapixels. A complete spherical panorama has an aspect ration of 2:1, the width is double the height. To keep the math simple, you should work with images that are 9000 pixel wide and have a height of 4500 pixels. This corresponds to 40.5 megapixels and is easy to remember. When exporting an image from your stitching software, you should set the width to 9000 pixels, or at least a value that can be divided by four. Why is explained in the next paragraph.

Width and height have to be even numbers

The height of the panorama must be an even number. Sometimes the panorama will display on Facebook even if this rule is not matched, but most of the time it will not. Facebook then displays the text "Say something about this 360º Photo" during the upload, but changes the text to "Say something about this photo" after some time and you have no interactive panorama any more. If the height is an even number, the width is an even number also, at least with a spherical panorama. And in this case the width is a multiple of 4.

When the sky is missing

If you've shot a panorama with your drone and forgot to shoot the sky using a wide angle lens or an OSMO as RCPano is able to, the upper part of the image is missing. If you export the image from your stitching program, the missing parts are replaced by transparency (or white for JPG files). This does not look so good on Facebook. For this reason you take the exported image and use a program like Photoshop to crop the image so that only the "real" sky remains. But be careful: the resulting height must be an even number!

Picture taken at the Mensfelder Kopf near Limburg. The sky is missing and has been deleted

Picture taken at the Mensfelder Kopf near Limburg. The sky is missing and has been deleted.

Now the magic: EXIFTOOL

To make Facebook recognize the image as a panorama, you have to use EXIFTOOL (http://www.sno.phy.queensu.ca/~phil/exiftool/) to write some tags to the image. The example image has a width of 9000 pixel and a height of 3390 pixel.

EXIFTOOL has to be called from the command line with the following parameters:

exiftool -ProjectionType="equirectangular" \
         -UsePanoramaViewer="TRUE" \
         -FullPanoWidthPixels=9000 \
         -FullPanoHeightPixels=4500 \
         -CroppedAreaTopPixels=1110 \
         -CroppedAreaLeftPixels=0 \
         -CroppedAreaImageWidthPixels=9000 \
         -CroppedAreaImageHeightPixels=3390 \
         -Overwrite_Original \
         [Filename of the image]

The parameters ProjectionType and UsePanoramaViewer advise Facebook to display the image as an interactive panorama. Other tutorials talk about setting the camera to a Ricoh, but that does not have to be done (any more).

The math is quite easy:

FullPanoWidthPixels

is the width of the image (dividable by four)

FullPanoHeightPixels

is the width of the image divided by two

CroppedAreaTopPixels

the amount cropped from the upper side of the image

CroppedAreaLeftPixels

always zero for a 360º panorama

CroppedAreaImageWidthPixels

always the width of the image for a 360º panorama

CroppedAreaImageHeightPixels

is the actual image height after deleting the upper part

The parameter Overwrite_Original tells EXIFTOOL to write the changes directly to the image without creating a backup image. This saves space on the hard disk.

For Macintosh or Linux users I have a shell script that is able to convert multiple files at once. If the height of an image is not an even number, a warning is displayed. Perhaps we find a Windows user that is willing to share his adaption of the script here.

And now: Facebook

After EXIFTOOL has edited the image without errors, it can be uploaded to Facebook. Shortly after the image is uploaded, you still will be able to scroll into a "fake" sky. But don't panic. After Facebook has finished analysing the file you will not be able to scroll into the missing sky any more. This is because of the tags written by EXIFTOOL.

While testing the upload you should set the privacy settings of your post in a way that only you are able to see it. If something goes wrong, nobody sees it.

It took me some time until my panoramas were displayed correctly in Facebook. This tutorial might be obsolete tomorrow, because Facebook has enhanced the processing of spherical panoramas. Until then, I hope it's useful for you.

If I could help you: Like us on Facebook, Follow us on Twitter. The usual. But it really helps. Thanks.