如何在现代相机上传输图像?

时间:2018-05-27 20:10:53

标签: sony sony-camera-api

我有两台现代索尼相机:

  • A7RIII
  • 一个RX100V

通过API 2.4文档阅读,这两款相机都应支持"传输图像"。

然而,在标有"将相机功能更改为传输图像"的部分中,建议的顺序是:

  • 相机/ getStorageInformation
  • 相机/ setCameraFunction

当我在任一摄像机上查询可用的API方法时,都没有列出这些功能。

据我所知,这两款相机都是最新的。

到目前为止,我能找到的唯一方法是将相机放入"发送到智能手机"模式,它启动一个UPnP服务器,但这只提供JPEG,所以对我来说并不是很有用。

那么如何在现代相机上传输图像?是否需要一些神奇的咒语才能启用似乎存在的API?

1 个答案:

答案 0 :(得分:1)

也许我可以帮助你: 你必须注意某些服务器(索尼设备)需要一个"开始录制模式"在其他api电话之前,即使你不是"录制"。

"开始录制模式"你会看到可用的api列表会改变(轮询或回调)。

我看一下去年我为RX100V写的代码

这是我的初始化序列(就在wifi连接之后......):

1)GetVersion

2)StartRecMode

3)(getAvailableLiveviewSize)如果你需要实时视图...

4)(setLiveviewFrameInfo)如果你需要实时视图...... ...

"遥控拍摄"是默认值。

对于Contents Transfert,您可以: setCameraFunction(" Contents Transfer",.....

回到远程拍摄: setCameraFunction("遥控射击",....

请注意,StartRecMode和setCameraFunction更改需要一些时间,您需要等待轮询或回调。

====

我做了一个新的测试。 一步一步:

1) Wifi连接
液晶屏显示"连接......"消息

GetEvent在" availableApiList":中返回10个元素 " getVersions" " getMethodTypes" " getApplicationInfo" " getAvailableApiList" " getEvent" " getSupportedCameraFunction" " startRecMode" " stopRecMode" " getCameraFunction" " getAvailableCameraFunction"

2) 我这样做:" GetVersion"和" StartRecMode" api叫 Lcd屏幕现在显示当前视图

GetEvent在availableApiList中返回68个元素:
" getVersions"
" getMethodTypes"
" getApplicationInfo"
" getAvailableApiList"
" getEvent" " getSupportedCameraFunction" " actTakePicture"
" stopRecMode"
" startLiveview"
" stopLiveview"
" startLiveviewWithSize"
" setCameraFunction"
" getCameraFunction"
" getAvailableCameraFunction"
...
...
" getLiveviewFrameInfo"

3)我这样做:setCameraFunction(" Contents Transfer",.....)api call
Lcd现在是黑色的,带有关于转移的消息......

GetEvent返回availableApiList中的10个元素(与1中的元素不同):
" getVersions"
" getMethodTypes"
" getApplicationInfo"
" getAvailableApiList"
" getEvent"
" getSupportedCameraFunction"
" setCameraFunction"
" getCameraFunction"
" getAvailableCameraFunction"
" getStorageInformation"