Какие API поддерживают новые камеры Sony, например, A9 (ILCE-9), A7r2 (ILCE-7rm2), A7m3 (ILCE-7m3)?
Я заглянул на веб-сайт Sony для разработчиков (3 марта 2018 года), и, хотя дизайн изменился, содержание, похоже, отстает от https://developer.sony.com/develop/cameras
Я не вижу каких-либо подробностей API A9 и камер A7 третьего поколения.
Я знаю, что у этих камер есть WiFi и действительно Bluetooth. Они совместимы с приложением PlayMemories для телефона / планшета. Я также понимаю, что они удалили поддержку приложений PlayMemories (поддержку приложений Adnroid) с самих камер.
Интересно, выставляют ли они документированный API? Есть ли улучшения или новые функции? Существуют ли какие-либо ограничения с учетом того, что платформа была изменена?
Можно ли использовать маломощный Bluetooth для получения событий от камеры?
PS Есть ли USB SDK для управления тросом?
2 ответа
Учитывая, что A7iii / A7M3 / ILCE-7M3 не является частью SDK, и я недавно получил его, я решил провести собственное исследование API. Хорошей новостью является то, что API похож на старые камеры, и знания разработчиков могут быть немедленно использованы.
Похоже, API имеет различные возможности по сравнению со старыми камерами, которые имели API на основе подсистемы приложений, например, A6300, A7R2 и т. Д.
Вот полный список API A7iii, которые я нашел, используя 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
Есть несколько новых API, ранее не доступных на A6300
awaitTakePicture
getAvailableExposureMode
getAvailableFlashMode
getAvailableWirelessFlashSetting
getFlashMode
getSupportedMovieFileFormat
getSupportedMovieQuality
getSupportedNearModeInPF
getSupportedViewAngleMode
getSupportedWirelessFlashSetting
getTemporarilyUnavailableApiList
getWirelessFlashSetting
setFlashMode
setWirelessFlashSetting
startMovieRec
stopMovieRec
Также есть несколько отсутствующих API, которые присутствовали на A6300 и больше не в 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
Я видел, что startRecMode не avaialbe или не требуется вызывать на A7iii перед отправкой других команд.
Кажется, я не могу включить информацию о кадре в LiveView, поэтому мой вид в реальном времени выглядит немного некачественно, т.е. не показывает точки фокусировки. Также функция setTouchAFPosition() исчезла, и я не могу установить точку фокусировки из своего приложения. Я создаю небольшое приложение для настольного компьютера / ноутбука, которое имитирует приложение Sony PlayMemories для телефона, то есть своего рода инструмент для беспроводного подключения.
Странное наблюдение я сделал, что getVersions() возвращает список от 1.0 до 1.8. getMethodTypes(), кажется, покрывает только от 1.0 до 1.3.
Я надеюсь, что это поможет любому, кто пытается выяснить, будет ли приложение или скрипт работать на последних камерах.
PS После дальнейшего изучения я заметил, что getMEthodTypes возвращает coupe больше операций API
actZoom
cancelTouchAFPosition
getAvailableFNumber
getAvailableFocusMode
getAvailableMovieQuality
getAvailableViewAngleMode
getFNumber
getFocusMode
getMethodTypes
getMovieQuality
getSupportedFNumber
getVersions
getViewAngleMode
setExposureMode
setFNumber
setFocusMode
setMovieQuality
setShootMode
setShutterSpeed
setViewAngleMode
startBulbShooting
startContShooting
stopBulbShooting
stopContShooting
Я предполагаю, что они появятся в наборе getAvaialbleApiList, когда настройки камеры будут подходящими, например, при непрерывной съемке или экспозиции в режиме лампы.
Спасибо за ваш интерес к Sony Camera API! Sony действительно делает много камер с различными функциями, но даже если у камеры есть возможность Wi-Fi, это не обязательно означает, что она будет поддерживать удаленный API камеры. Список на веб-сайте является наиболее обновленным списком, поэтому, если камеры нет в этом списке, то, скорее всего, она не поддерживается.
https://developer.sony.com/develop/cameras/api-information/supported-devices
Также на веб-сайте перечислены многие из поддерживаемых функций: https://developer.sony.com/develop/cameras/api-information/supported-features-and-compatible-cameras
но вам придется скачать SDK, чтобы увидеть полный список API. https://developer.sony.com/file/download/sony-camera-remote-api-beta-sdk/
Наконец, API камеры, к сожалению, поддерживает только контроль над Wi-Fi, поэтому вы не сможете использовать другие средства для доступа к API.
Я надеюсь, что это помогает. Пожалуйста, дайте мне знать, если у вас есть еще вопросы!
С февраля 2020 года Sony представила новый SDK для беспроводного удаленного доступа. Camera Remote SDK - это гибкий API, основанный на часто используемых протоколах, таких как HTTP и JSON. И вы можете разрабатывать приложения для любой операционной системы, например Android, iOS или Microsoft Windows.
См. Информацию об API для поддерживаемых устройств (уведомление 2020-09-15). Теперь поддерживаются только ILCE-7C, ILCE-7SM3, ILCE-7RM4, ILCE-9M2.