A Python library for interfacing with cameras that implement the OpenSphericalCamera API
Usage of the pure OSC API
from osc.osc import * # Initializing the class starts a session camera = OpenSphericalCamera() camera.state() camera.info() # Only need to call this if there was a problem # when 'camera' was created camera.startSession() # Capture image response = camera.takePicture() # Wait for the stitching to finish camera.waitForProcessing(response['id']) # Copy image to computer camera.getLatestImage() # Close the session camera.closeSession()
Usage of the Ricoh Theta S extended API
from osc.theta import RicohThetaS thetas = RicohThetaS() thetas.state() thetas.info() # Capture image thetas.setCaptureMode( 'image' ) response = thetas.takePicture() # Wait for the stitching to finish thetas.waitForProcessing(response['id']) # Copy image to computer thetas.getLatestImage() # Stream the livePreview video to disk # for 3 seconds thetas.getLivePreview(timeLimitSeconds=3) # Capture video thetas.setCaptureMode( '_video' ) thetas.startCapture() thetas.stopCapture() # Copy video to computer thetas.getLatestVideo() # Close the session thetas.closeSession()
The BublOscClient.js client is the only documentation I can find for the Bublcam custom commands. The client was not tested with actual hardware.
The Python Requests library is used to manage all calls to the OSC API.
Install requests with pip:
pip install requests
Many thanks to Craig Oda, the author and maintainer of Theta S API Tests repo.
The original author of this library is:
- Haarm-Pieter Duiker
This library was tested with a Ricoh Theta S using Python 2.7 on OSX Yosemite.
Copyright (c) 2016 Haarm-Pieter Duiker
See the LICENSE file in this repo