Making 360° panorama

You must render an image using the proper projection first: "equirectangular" for full 360°x180° panorama, resp. "cylindrical" for a cylindrical perspective (w/o full vertical coverage).

Projections on Wikipedia: Equirectangular projection resp. Cylindrical projection (cartography) or Panorama (photography).

Useful instructions: Panorama-related metadata for StreetView, from Facebook - Editing 360 Photos & Injecting Metadata.

ExifTool for inserting image metadata

For uploading a panoramic picture to some public page (pano viewer) it must be well specified that the image has "panoramic" property. Special EXIF metadata were defined for this purpose, Adobe XMP metadata are commonly used, specifically properties from the GPano group.

Take your favorite raster image editor, it probably has the capability to set EXIF properties, if this in convenient, please do it. As a different option you can use some special tool, for example the command-line ExifTool.

To be safe with a panoramic image, you have to define this minimal set of EXIF properties: instructions from Google
Pano geometry

  • GPano:ProjectionType - projection type, for our purpese "equirectangular" or "equirectangular"
  • GPano:FullPanoWidthPixels - total panorama width in pixels (for 360°, even if your image does not cover the whole horizontal range!)
  • GPano:FullPanoHeightPixels - total panorama height in pixels (for 180°, even if your image does not cover the whole vertical range!)
  • GPano:CroppedAreaLeftPixels - cropped (removed) pixels from the left
  • GPano:CroppedAreaTopPixels - cropped (removed) pixels from the top
  • GPano:CroppedAreaImageWidthPixels - width of your image in pixels
  • GPano:CroppedAreaImageHeightPixels - height of your image in pixels
  • GPano:PoseHeadingDegrees - mandatory for StreetView: panorama orientation in degrees (direction of the middle of your picture in the real world)

Command-line for executing the ExifTool can look like (full 360°/180° panorama, image resolution 2000x1000px, no need for StreetView orientation):

exiftool -FullPanoWidthPixels=2000 -FullPanoHeightPixels=1000 -CroppedAreaLeftPixels=0 -CroppedAreaTopPixels=0 \
         -CroppedAreaImageWidthPixels=2000 -CroppedAreaImageHeightPixels=1000 -ProjectionType="equirectangular" panorama.jpg

Batch for panoramic-image setup, usage:

pano360 <image> <width> <height>

Panoramic video

See this instruction page or general instructions by Google.

Actually only this procedure worked for me: encode a panoramic video in MP4 format (frame aspect ratio 2:1, mpeg4 codec) and then use the Spatial Media Metadata Injector tool by Google. At least YouTube will accept the result and you will be able to play it in 360° pano mode.


Copyright (C) 2017 J.Pelikán, last change: 2017-05-22 01:16:12 +0200 (Mon, 22 May 2017)