What's New
Stay organized with collections
Save and categorize content based on your preferences.
API level 2.1
Released May 2017
Key changes
API level 2
Released July 2016
Key changes
- Deprecated
sessionId
and deprecated/modified related commands. API level 2
is designed for one client connection and camera manufacturers should make
sure that only one client at any time is connected (for example via limiting
only one wifi connection).
- Deprecated commands
getImage
/ getMetadata
.
- The absolute URL of a file is used to download directly from the HTTP
server of the camera.
- Added/modified commands and
options for video
capture, interval image capture and live preview.
- Added commands
startCapture
/
stopCapture
/
getLivePreview
/
processPicture
/
reset
.
- Renamed
listImages
to
listFiles
and modified inputs/outputs to handle video types as well as image types.
- Added options
previewFormat
, previewFormatSupport
,
captureInterval
, captureIntervalSupport
, captureNumber
,
captureNumberSupport
, remainingVideoSeconds
, pollingDelay
,
delayProcessing
, delayProcessingSupport
, and clientVersion
.
- Modified options
captureModeSupport
, isoSupport
,
shutterSpeedSupport
, fileFormatSupport
, hdr
, hdrSupport
,
exposureBracket
, and exposureBracketSupport
.
- Added
360 video XMP
specification.
- Added
apiLevel
field to /osc/info
output.
- apiLevel: Field was added in API level 2. It is considered to be API
level 1 by default when this field is missing. It is developers’
responsibility to retrieve this information and implement differently
based on the value.
Backward compatibility
- Camera manufacturers: If you have been supporting API level 1, it is highly
recommended that you support both API level 1 and API level 2 as an
intermediate solution for a few months before the final update and provide a
firmware update for cameras running API level 1, otherwise, clients
supporting only API level 1 won't work with your cameras.
- App developers: Be aware these changes affect your previously-published app
and it is your responsibility to make corresponding changes to either handle
both versions and reminds camera owners to update their firmware.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-09 UTC.
[null,null,["Last updated 2024-10-09 UTC."],[[["\u003cp\u003eAPI level 2.1, released in May 2017, introduced direct upload capabilities, a new open standard for 360 video XMP, and recommendations for camera make/model specification.\u003c/p\u003e\n"],["\u003cp\u003eAPI level 2, released in July 2016, deprecated \u003ccode\u003esessionId\u003c/code\u003e and related commands, focusing on a single client connection.\u003c/p\u003e\n"],["\u003cp\u003eAPI level 2 also introduced commands and options for video capture, interval image capture, and live preview while deprecating commands for retrieving images and metadata in favor of direct URL downloads.\u003c/p\u003e\n"],["\u003cp\u003eAPI level 2 added a 360 video XMP specification and \u003ccode\u003eapiLevel\u003c/code\u003e field to the \u003ccode\u003e/osc/info\u003c/code\u003e output for version identification and backward compatibility.\u003c/p\u003e\n"],["\u003cp\u003eCamera manufacturers and app developers are encouraged to support both API levels during a transition period for compatibility with older cameras and apps.\u003c/p\u003e\n"]]],["API level 2.1 introduced direct server uploads via new `switchWifi` and `uploadFile` commands, along with stitching and GPS options. It replaced the previous 360 video XMP specification with a new standard and suggested specifying camera make/model in 360 videos. API level 2 deprecated session management, removing `startSession`, `updateSession`, and `closeSession`, while adding commands for video capture, live preview, and file management. The API also added and modified various options, including new video capture-related ones.\n"],null,["# What's New\n\nAPI level 2.1\n-------------\n\nReleased May 2017\n\n### Key changes\n\n- Added [Direct Upload](/streetview/open-spherical-camera/guides/direct-upload) to allow cameras to upload directly to servers.\n - Includes new commands [`switchWifi`](/streetview/open-spherical-camera/reference/camera/switchwifi) and [`uploadFile`](/streetview/open-spherical-camera/reference/camera/uploadfile).\n - Added `photoStitchingSupport`, `photoStitching`, `videoStitchingSupport`, `videoStitching`, `videoGPSSupport`, `videoGPS` options to [OSC options](/streetview/open-spherical-camera/reference/options).\n - Added `cameraId` field to [`/osc/info`](/streetview/open-spherical-camera/guides/osc/info#output) output.\n- Replaced [360 video XMP](/streetview/open-spherical-camera/reference/header/video-xmp) specification with [a new open standard](https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md).\n- Added recommendation for specifying camera [make/model](/streetview/open-spherical-camera/reference/header/video-xmp) in 360 video MP4s.\n\nAPI level 2\n-----------\n\nReleased July 2016\n\n### Key changes\n\n- Deprecated `sessionId` and deprecated/modified related commands. API level 2 is designed for one client connection and camera manufacturers should make sure that only one client at any time is connected (for example via limiting only one wifi connection).\n - Deprecated commands [`startSession`](/streetview/open-spherical-camera/reference/camera/startsession) / [`updateSession`](/streetview/open-spherical-camera/reference/camera/updatesession) / [`closeSession`](/streetview/open-spherical-camera/reference/camera/closesession).\n - Deprecated `sessionId` from input of commands [`takePicture`](/streetview/open-spherical-camera/reference/camera/takepicture) / [`getOptions`](/streetview/open-spherical-camera/reference/camera/getoptions) / [`setOptions`](/streetview/open-spherical-camera/reference/camera/setoptions).\n- Deprecated commands [`getImage`](/streetview/open-spherical-camera/reference/camera/getimage) / [`getMetadata`](/streetview/open-spherical-camera/reference/camera/getmetadata).\n - The absolute URL of a file is used to download directly from the HTTP server of the camera.\n- Added/modified commands and [options](/streetview/open-spherical-camera/reference/options) for video capture, interval image capture and live preview.\n - Added commands [`startCapture`](/streetview/open-spherical-camera/reference/camera/startcapture) / [`stopCapture`](/streetview/open-spherical-camera/reference/camera/stopcapture) / [`getLivePreview`](/streetview/open-spherical-camera/reference/camera/getlivepreview) / [`processPicture`](/streetview/open-spherical-camera/reference/camera/processpicture) / [`reset`](/streetview/open-spherical-camera/reference/camera/reset).\n - Renamed [`listImages`](/streetview/open-spherical-camera/reference/camera/listimages) to [`listFiles`](/streetview/open-spherical-camera/reference/camera/listfiles) and modified inputs/outputs to handle video types as well as image types.\n - Added options `previewFormat`, `previewFormatSupport`, `captureInterval`, `captureIntervalSupport`, `captureNumber`, `captureNumberSupport`, `remainingVideoSeconds`, `pollingDelay`, `delayProcessing`, `delayProcessingSupport`, and `clientVersion`.\n - Modified options `captureModeSupport`, `isoSupport`, `shutterSpeedSupport`, `fileFormatSupport`, `hdr`, `hdrSupport`, `exposureBracket`, and `exposureBracketSupport`.\n- Added [360 video XMP](/streetview/open-spherical-camera/reference/header/video-xmp) specification.\n- Added `apiLevel` field to [`/osc/info`](/streetview/open-spherical-camera/guides/osc/info#output) output.\n - apiLevel: Field was added in API level 2. It is considered to be API level 1 by default when this field is missing. It is developers' responsibility to retrieve this information and implement differently based on the value.\n\nBackward compatibility\n----------------------\n\n- Camera manufacturers: If you have been supporting API level 1, it is highly recommended that you support both API level 1 and API level 2 as an intermediate solution for a few months before the final update and provide a firmware update for cameras running API level 1, otherwise, clients supporting only API level 1 won't work with your cameras.\n- App developers: Be aware these changes affect your previously-published app and it is your responsibility to make corresponding changes to either handle both versions and reminds camera owners to update their firmware."]]