通过Sony Remote Camera API连接多台摄像机

时间:2016-06-08 02:40:40

标签: camera sony

  • 使用Sony Remote Camera SDK 2.1.2
  • 我没有使用任何移动设备与我的索尼相机交谈
  • 我正在使用Ubuntu,C ++和路由器来访问我的Sony相机
  • 我的索尼相机适用于一个API调用,它们提供对Sony Camera Remote API调用的响应" startLiveview"但这是索尼相机会响应的唯一索尼相机远程API调用,我已经尝试过" startLivewviewWithSize"," getSupportedLiveviewSize"," getLivewviewSize",和& #34; getAvailableAppList"," getApplicationInfo",这些API调用都没有得到我索尼相机的响应,一般来说,有一个例外,见下文
  • 我只用了一台Sony Camera就试过了所有这些电话。

例外:当我真的从索尼相机获得回复时。如果我打电话给" getAvailableAppList",这将导致索尼相机发生一些事情,我将开始得到它的响应,但仅当相机处于Wifi实时预览模式时

现在的情景:

我有两台索尼HDR-AZ1相机,我将它们都设置为"执行实时流媒体":

enter image description here

目前,我能够使用VLC PLayer和Netgear路由器捕获Livepreview流,记录它,我为摄像机分配静态IP地址:

enter image description here

我已经在我的Netgear路由器的LAN设置中分配了Sony相机:

#define SONY_CAMERA_1   @"http://192.168.178.13:8080/sony/camera"
#define SONY_CAMERA_2   @"http://192.168.178.14:8080/sony/camera"

因为我在路由器上分配了静态IP地址,所以我可以从两台摄像机捕获Liveview流。

Livepreview流始终是流媒体,没有API调用发送到摄像机,静态分配的IP地址允许我使用VLC播放器捕获流来录制流

现在我想弄清楚我是否可以使用带有静态IP地址的Sony Remote Camera API与多个摄像头通信。我在网上看到这是可能的,而且这是不可能的,但我还没有找到关于这个或那个事实的明确陈述。

这篇Stackoverflow文章将通过Sony @ Marlin-SONY的答案的最后一句话暗示使用Sony Remote Camera API:Is there a way to send multiple wifi camera a signal to take a picture at the same time?

但Simon Wood的回答和code,以及其他文章表明,通过Sony Remote Camera API的多重连接仍然是一个难以捉摸的未解决的问题。

使用我在路由器上分配的静态IP地址,我希望我可以进行以下调用:

http://192.168.178.13:8080/sony/camera

strCmd = "{"
         "\"method\" : \"getApplicationInfo\","
         "\"params\" : [],"
         "\"id\" : 1,"
         "\"version\" : \"1.0\""
         "}".toJSON;

并得到回复,但我从未得到回复,无论相机设置的Wifi模式是什么。

我假设我需要将Sony HDR-AZ1相机上的WiFi模式切换为" WiFi"或者" Wifi Multi Connection"而不是" WiFi执行实时流媒体"我目前已经将它们设置为,但即便在我可以find的任何地方都没有明确记录。

  1. 我是否可以通过Sony Remote Camera API连接多台摄像机,我认为答案是肯定的,但我的摄像机不是无线接入点,当摄像机处于摄像头状态时,它们是否仍会收到所有记录的Sony Camera Remote API呼叫通过我的路由器为它们分配了一些静态IP地址的Wifi?
  2. 我的相机需要使用什么WiFi模式才能使用Sony Remote Camera API? 1)Wifi,2 Wifi多重连接(这似乎仅适用于Sony遥控器产品)或3)Wifi Livepreview?
  3. 我是否需要使用路由器分配静态IP地址,还是可以使用SSDP查找摄像机?

2 个答案:

答案 0 :(得分:2)

对您来说不是直接的答案,但如果您想玩,我曾尝试在此项目中检测多台摄像机(但没有合适的硬件进行测试): https://github.com/Bloodevil/sony_camera_api

脚本' src / examples / scan_for_cameras.py'将尝试查找所有绑定到本地网络/机器的摄像机。

我真的很想知道它是否确实有效;-) 干杯, 西蒙。

答案 1 :(得分:2)

您是否尝试过查看Camera Remote SDK中的CameraRemoteSampleApp示例代码?

https://developer.sony.com/downloads/all/sony-camera-remote-api-beta-sdk/

有一些示例可以获取Android和iOS相机的IP地址。

编辑:要回答上述问题,Sony Camera Remote API不支持从单个手机或通过路由器连接多台摄像机。它仅通过手机和相机之间的1:1直接WiFi连接支持API。