Many 360 viewers rely on the metadata to render a file correctly - both to determine whether the media is flat or spherical, and which projection to use. Unfortunately, the metadata is often not generated correctly or stripped by software and websites. Here's how to use ExifTool to restore the minimal necessary information to inform viewers that a photo or video is a sphere.
- Images
Most viewers expect at least the Exif Spherical or UsePanoramaViewer properties, as well as the ProjectionType property to be set.
This image for example was stitched by Microsoft ICE. We can see that by dumping the Exif data:
exiftool Baarn_-_Landgoed_Groeneveld_-_360°_Panorama_1.jpg
...
Software : Microsoft ICE v2.0.3.0
Modify Date : 2021:04:26 17:11:38
Panoramic Stitch Version : 1
Panoramic Stitch Camera Motion : 3D Rotation
Panoramic Stitch Map Type : Horizontal Cylindrical
Panoramic Stitch Theta 0 : 0
Panoramic Stitch Theta 1 : 6.28318548202515
Panoramic Stitch Phi 0 : 0.864624977111816
Panoramic Stitch Phi 1 : 2.1347508430481
Date/Time Original : 2021:04:26 17:11:38
...
It does not contain the necessary properties and therefore is viewed incorrectly by most viewers as a flat image. To restore the minimal set of missing properties in this one, do:
exiftool -overwrite_original -Spherical=true -UsePanoramaViewer=true -ProjectionType=cylindrical <file>
Note that if you use any kind of Google viewer, it only supports the equirectangular projection. So you might want to set ProjectionType to equirectangular instead: although it's incorrect, the viewer should at least open it as a 360 image, and if you're lucky, the viewer will detect that the aspect ratio is not 2:1 and view it as cylindrical anyway. SphereView does that with this file for instance.
- Videos
Most players expect XMP properties GSpherical:Spherical or GSpherical:Stitched, as well as the GSpherical:ProjectionType to be set. In addition, Google players also expect GPano:UsePanoramaViewer and GPano:ProjectionType to be set.
in this video for example, which was generated by Kdenlive, the video editor stripped the XMP properties from the source videos. If you download it and you play it with any player, by default it will be rendered as a rectilinear video.
To add the minimal set of missing XMP properties back to the file, do:
exiftool -overwrite_original -XMP-GPano:UsePanoramaViewer=true -XMP-GPano:ProjectionType=equirectangular -XMP-GSpherical:Spherical=true -XMP-GSpherical:Stitched=true -XMP-GSpherical:ProjectionType=equirectangular <file>
I hope this helps!