In June 2018, Facebook announced support for 3D-180 video. Along with that post, Facebook made available a detailed PDF guide for how to stream or share 3D-180 video on Facebook. This post is a condensed version of that guide, and focuses on uploading video to personal profiles.
Uploading 3D-180 video to a Facebook page (vs a personal profile) is relatively straightforward. Using the Facebook web interface, navigate to your page, then to Videos, and click on "+ Add Video". Select the video to upload, and click on "360 Director Tools" at the bottom of the sidebar on the right. Select "Half Equirectangular" and "Side-by-Side", and proceed to publishing your video.
If you're uploading a 3D-180 video to your personal profile, and it's less than 1.8GB in size, you can use a direct link to 360 Director Tools to inject your metadata, and then upload the injected video manually. Select "Half Equirectangular" and "Side-by-Side", and the tool will inject the appropriate metadata and then give it back to you via a browser download. Then, upload the modified video as you would any other video to your timeline. The process for injecting and uploading to your Facebook timeline looks like this:
- Go to 360 Director Tools
- Select your video from your file system
- Click on the settings icon
- Select "Half Equirectangular" and "Side-bySide"
- Click "Download" to download the modified video
- Upload to your Facebook timeline
You'll know that your metadata is in a good state if you see the 360 icon overlay on your uploaded video:
If your video is over 1.8GB or if 360 Director Tools fails, you'll need to use command-line tools to inject metadata. This process will be familiar to anyone who has injected metadata into 360 videos. Command-line metadata injection requires a modified version of Spatial Media Metadata Injector. This tool is available by downloading and installing Facebook 360 Spatial Workstation (choose the VST version if you don't know what the options mean).
The command line tools require Python to be installed; luckily, if you're on a Mac, it should just work. You'll need to navigate to the right place on the Mac to find the tool.
On a Mac, navigate to "Applications->FB360 Spatial Workstation->Encoder->FB360 Encoder (right click and 'Show Package Contents')->Contents->Data->spatial-media-2.0".
Open Terminal, navigate to the folder, and use the following command line to inject metadata (the example is a side-by-side 3D-180 video):
python spatialmedia --inject --equirectangular-projection half -s left-right in.mp4 out.mp4
On a Windows machine, the spatial media Python package is located at "C:\Program Files\FB360 Spatial Workstation\Encoder\Data\spatial-media-2.0\".
Note that if you're working with spatial audio, you can use the FB360 Encoder application to mux, encode, and inject straight from the GUI. This encoder application requires spatial audio, and you can't use it if you only have a stereo audio track.