What APIs do new Sony cameras support i.e. A9 (ILCE-9), A7r2 (ILCE-7rm2), A7m3 (ILCE-7m3)?

前端 未结 3 1078
不思量自难忘°
不思量自难忘° 2021-02-04 16:33

I looked into Sony\'s developer website (3 March 2018) and while the design is changed, the contents seem to lag behind.

https://developer.sony.com/develop/cameras

相关标签:
3条回答
  • 2021-02-04 17:01

    Thanks for your interest in the Sony Camera API! Sony does make many cameras with various features, but even if a camera does have wifi capability it does not necessarily mean that it will support the camera remote API. The list on the website is the most updated list so if a camera is not on that list then it is more than likely not supported.

    https://developer.sony.com/develop/cameras/api-information/supported-devices

    Also the website lists many of the supported features, https://developer.sony.com/develop/cameras/api-information/supported-features-and-compatible-cameras

    but you will have to download the SDK to see the full API list. https://developer.sony.com/file/download/sony-camera-remote-api-beta-sdk/

    Lastly the camera API unfortunately only supports control over Wifi, so you would not be able to use any other means to tap in to the API.

    I hope that this helps. Please let me know if you have any more questions!!

    0 讨论(0)
  • 2021-02-04 17:06

    Given that the A7iii / A7M3 / ILCE-7M3 is not part of the SDK and I got it recently I set to do my own exploration of the API. Good news is the API is similar to older cameras and developer knowledge can be put to immediate use.

    It seems the API has different capability relative to older cameras that had API based in the Apps subsystem e.g. A6300, A7R2 etc.

    Here is the full list of A7iii APIs I found using getAvailableApiList()

    getAvailableApiList
    getShootMode
    getSupportedShootMode
    getAvailableShootMode
    setFlashMode
    getFlashMode
    getSupportedFlashMode
    getAvailableFlashMode
    setSelfTimer
    getSelfTimer
    getSupportedSelfTimer
    getAvailableSelfTimer
    getSupportedMovieQuality
    startLiveview
    stopLiveview
    actTakePicture
    startMovieRec
    stopMovieRec
    awaitTakePicture
    getExposureMode
    getSupportedExposureMode
    getAvailableExposureMode
    getSupportedFocusMode
    setExposureCompensation
    getExposureCompensation
    getSupportedExposureCompensation
    getAvailableExposureCompensation
    setFNumber
    getFNumber
    getSupportedFNumber
    getAvailableFNumber
    setWhiteBalance
    getWhiteBalance
    getSupportedWhiteBalance
    getAvailableWhiteBalance
    getShutterSpeed
    getSupportedShutterSpeed
    getAvailableShutterSpeed
    setIsoSpeedRate
    getIsoSpeedRate
    getSupportedIsoSpeedRate
    getAvailableIsoSpeedRate
    actHalfPressShutter
    cancelHalfPressShutter
    getSupportedProgramShift
    getSupportedMovieFileFormat
    setContShootingMode
    getContShootingMode
    getSupportedContShootingMode
    getAvailableContShootingMode
    getSupportedViewAngleMode
    getSupportedNearModeInPF
    setWirelessFlashSetting
    getWirelessFlashSetting
    getSupportedWirelessFlashSetting
    getAvailableWirelessFlashSetting
    getApplicationInfo
    getEvent
    getTemporarilyUnavailableApiList
    

    There are couple of new APIs not available on A6300 previously

    awaitTakePicture
    getAvailableExposureMode
    getAvailableFlashMode
    getAvailableWirelessFlashSetting
    getFlashMode
    getSupportedMovieFileFormat
    getSupportedMovieQuality
    getSupportedNearModeInPF
    getSupportedViewAngleMode
    getSupportedWirelessFlashSetting
    getTemporarilyUnavailableApiList
    getWirelessFlashSetting
    setFlashMode
    setWirelessFlashSetting
    startMovieRec
    stopMovieRec
    

    There are also few missing APIs that were present on A6300 and no longer in A7iii

    getAvailableCameraFunction
    getAvailableFocusMode
    getAvailableLiveviewSize
    getAvailablePostviewImageSize
    getAvailableSilentShootingSetting
    getCameraFunction
    getFocusMode
    getLiveviewFrameInfo
    getLiveviewSize
    getMethodTypes
    getPostviewImageSize
    getSilentShootingSetting
    getStorageInformation
    getSupportedCameraFunction
    getSupportedContShootingSpeed
    getSupportedLiveviewSize
    getSupportedPostviewImageSize
    getSupportedSilentShootingSetting
    getSupportedZoomSetting
    getTouchAFPosition
    getVersions
    setCameraFunction
    setFocusMode
    setLiveviewFrameInfo
    setPostviewImageSize
    setShootMode
    setSilentShootingSetting
    setTouchAFPosition
    startLiveviewWithSize
    stopRecMode
    

    I saw startRecMode is not avaialbe or required to invoke on A7iii before sending other commands.

    I do not seem able to enable frame info in LiveView so my live view looks a bit substandard i.e. not showing focus points. Also setTouchAFPosition() is gone and I cannot set focus point from my app. I am building a small Desktop/Laptop app that mimics Sony's PlayMemories phone app i.e. sort of wireless tethering tool.

    A strange observation I made is that getVersions() returns list from 1.0 through 1.8. getMethodTypes() seems to only cover 1.0 through 1.3.

    I hope this helps anyone that is trying to figure out if an app or script will run on the latest cameras.

    PS After further examination I noticed getMEthodTypes returns coupe more API operations

    actZoom
    cancelTouchAFPosition
    getAvailableFNumber
    getAvailableFocusMode
    getAvailableMovieQuality
    getAvailableViewAngleMode
    getFNumber
    getFocusMode
    getMethodTypes
    getMovieQuality
    getSupportedFNumber
    getVersions
    getViewAngleMode
    setExposureMode
    setFNumber
    setFocusMode
    setMovieQuality
    setShootMode
    setShutterSpeed
    setViewAngleMode
    startBulbShooting
    startContShooting
    stopBulbShooting
    stopContShooting
    

    I assume those will appear in the getAvaialbleApiList set when camera settings are appropriate e.g. continuous shooting or bulb mode exposure.

    0 讨论(0)
  • 2021-02-04 17:06

    Since feb 2020 Sony has provided a new wirelessly remote SDK. The Camera Remote SDK is a flexible API that builds on commonly-used protocols such as HTTP and JSON. And you can develop apps for any operating system, such as Android, iOS or Microsoft Windows.

    See Api Information for supported devices (notification 2020-09-15). Only ILCE-7C, ILCE-7SM3, ILCE-7RM4, ILCE-9M2 are supported now.

    0 讨论(0)
提交回复
热议问题