Connecting to Multiple Cameras via Sony Remote Cam

2020-02-15 02:51发布

问题:

  • Using Sony Remote Camera SDK 2.1.2
  • I am not using any mobile devices to talk to my Sony cameras
  • I am using a Ubuntu, C++ and a router to access my Sony cameras
  • My Sony cameras WORK for one API call, they provide a response to the Sony Camera Remote API call "startLiveview" but that is the only Sony Camera Remote API call that the Sony cameras will respond to, I have tried "startLivewviewWithSize", "getSupportedLiveviewSize", "getLivewviewSize", and "getAvailableAppList", "getApplicationInfo", none of these API calls get a response from either of my Sony Cameras, in general, there is one exception see below
  • I have tried all these calls with only one Sony Camera on.

The exception: when I will actually get responses from the Sony Cameras. If I call "getAvailableAppList", this will cause something to happen to the Sony Camera, and I will start to get responses from it but only when the camera is in Wifi Live Preview mode

Now the Scenario:

I have two Sony HDR-AZ1 cameras, I have them both set to "Perform Live Streaming":

Currently, I am able to capture the Livepreview stream, recording it, using VLC PLayer and a Netgear Router where I assign static IP addresses to the cameras:

I have assigned the Sony Cameras in my LAN settings in my Netgear Router:

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

So I can capture the Liveview stream from two cameras because of the static IP addresses I have assigned with my router.

The Livepreview stream is always streaming, no API calls are sent to the camera, the static assigned IP addresses allow me to capture the stream using VLC Player to record the stream:

Now I am trying to figure out if I can use the Sony Remote Camera API with my static IP addresses to talk to multiple cameras. I have read online that it is possible and that it is not possible, yet I haven't found a clear statement on the fact one way or the other.

This Stackoverflow article would imply, via the last sentence of Sony's @Marlin-SONY's answer that it is possible, using the Sony Remote Camera API: Is there a way to send multiple wifi camera a signal to take a picture at the same time?

But Simon Wood's answer and code, along with other articles convey that multiple connection via Sony Remote Camera API is still a bit of an elusive unsolved issue.

With my static IP addresses, assigned at the router, I expect that I can do the following call:

http://192.168.178.13:8080/sony/camera

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

and get a response, but I never get a response, not matter what Wifi mode the camera is set to.

I assume I will need to switch the WiFi mode on the Sony HDR-AZ1 cameras to either just "WiFi" or "Wifi Multi Connection" instead of the "WiFi Perform Live Streaming" I currently have them set to be but even that is not clearly documented anywhere that I can find.

  1. Can I connect to multiple cameras via the Sony Remote Camera API, I assume the answer is yes but my cameras are not acting as Wireless Access Points, do they still receive all documented Sony Camera Remote API calls when the the cameras are in some flavor of Wifi with static IP addresses assigned to them via my router?
  2. What WiFi mode do my cameras need to be in to work with the Sony Remote Camera API? 1)Wifi, 2 Wifi Multi Connection (This seems to be only for the Sony Remote Control product) or 3) Wifi Livepreview?
  3. Do I need to use my router to assign static IP addresses or can I use SSDP to find the cameras?

回答1:

Have you tried looking at the CameraRemoteSampleApp sample code inside the Camera Remote SDK?

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

There are examples of how to get the IP address for the cameras for both Android and iOS.

Edit: To answer your questions above the Sony Camera Remote API does not support connecting to multiple cameras from a single phone or via a router. It only supports the API over a direct WiFi connection 1:1 between a phone and a camera.



回答2:

Not a direct answer for you, but if you'd like to play I had attempted detecting multiple cameras (but don't have appropriate hardware to test) in this project: https://github.com/Bloodevil/sony_camera_api

The script 'src/examples/scan_for_cameras.py' will attempt to find all cameras bonded to local network/machine.

I'd be real interested in finding out whether it actually works ;-) Cheers, Simon.



标签: camera sony