0

I use the Sony Camera Remote API to stream the live view from my Sony a7R to my Android smartphone. I started with the sample application which is shipped with the SDK. In this scenario, the image quality is not great, but acceptable.

However, I am only interested in the central 1/9th-tile of the image (i.e. 1/3 of both width and height of the original image). I want to magnify this center tile to cover all of the screen of the Android device, the rest is not shown. The magnified image exhibits severe artifacts (see screenshot of my Android app). The camera itself of course produces image-qualities far beyond of what is sent by the Remote API currently.

Is it possible to increase the quality of the images sent by the camera? How can this be achieved?

Screenshot (magnified view)

pasbi
  • 2,037
  • 1
  • 20
  • 32

1 Answers1

1

Actually you have several options when it comes to setting the quality of the camera images from movie to stills. It sounds like you are streaming so you will probably want to set the Postview image size. In this case try setting it to 2 megapixel.

{ "method": "setPostviewImageSize", "params": ["2M"], "id": 1, "version": "1.0" }

Have a look at page 16 of the documentation to see some of the other available image quality settings. Please let me know if this is what you are looking for.

pg316
  • 1,380
  • 1
  • 8
  • 7
  • When should this request be issued? I tried at various places within `SampleCameraActivity.startLiveview`, but the result is always the same: `{"id":4,"error":[1,"Not Available Now"]}`. The `getAvailableApiList`-response never contains 'setPostviewImageSize'. – pasbi Mar 28 '18 at 10:20
  • Sorry for the delay in getting back to you. According to the documentation on some cameras you have to call the startRecMode API before calling startLiveview. This may be the case with your camera. Try calling startRecMode first to see if this fixes the issue : { "method": "startRecMode", "params": [], "id": 1, "version": "1.0" } – pg316 Apr 03 '18 at 21:40
  • I believe you've misunderstood me: the `{"method": "startLiveview", ...}` request works. It's the `{"method": "setPostviewImageSize", ...}` request which does not. What I've tried to say was that I issued this `setPostviewImageSize`-request from within the `SampleCameraActivity.startLiveview` method of the sample app, and I'm not sure if that's the right place. Unfortunately, your suggestion does not affect the issue. – pasbi Apr 04 '18 at 08:21
  • I am so sorry as it looks like I have misunderstood. In the newer versions of the camera remote api you can use the "startLiveviewWithSize" option. Try replacing your current startLiveView API call to this. The 2 options are "M" : "XGA size scale " ::: "L" : VGA size scale. The call will be something like this : { "method": "startLiveviewWithSize", "params": ["M"], "id": 1, "version": "1.0" }. Let me know if this is what you are looking for and I will update my answer. – pg316 Apr 04 '18 at 21:03