SayCheese - Control camera of a second device remotely

General discussions about Automagic and automation in general

Moderator: Martin

Post Reply
BoBo
Posts: 128
Joined: 05 May 2014 12:45

SayCheese - Control camera of a second device remotely

Post by BoBo » 03 Jun 2020 14:36

Hi,
I was always interested to find an app like SayCheese, where you can control a smartphone camera remotely.
https://play.google.com/store/apps/deta ... mera&hl=en

What I saw/found so far were only "remote control"-apps for 'real' cameras. I'm sure there are a few more like the above mentioned?!
Feel free to recommend! So my question: would it also be possible to use Automagic to control the (native) camera app of a connected smartphone camera/device? Main features, of course, to be able to see the real-life image on the client and to trigger the shutter release button at the host. UDP? Any ideas?

Thx
BoBo

User avatar
Desmanto
Posts: 2709
Joined: 21 Jul 2017 17:50

Re: SayCheese - Control camera of a second device remotely

Post by Desmanto » 05 Jul 2020 18:25

You have several ways to do this. All of them require the server phone to become hotspot, preferred the one that takes camera (server).The controller (client), connect to this hotspot.

1. Using HTTP request trigger
The server use trigger HTTP request with action Control UI to click on the camera shutter. The client can use shortcut or other trigger, that send HTTP request to the server IP (usually 192.168.43.1 for hotspot), to trigger the flow. This is almost instant with ~10 ms latency. You can also extent the feature to more function, such as zoom, exposure and other, as I have done with my ticwatch https://forum.xda-developers.com/wear-o ... c-t3956264
But this only control the shutter, not showing any viewfinder.

2. To show the realtime camera viewfinder is the challenging part. As there is no direct way to view the server's screen thru client. One way is to take periodic screenshot, save it, the client phone retrieve the screenshot from the HTTP request (webserver) and show in a widget in the client phone. But the delay is so huge, and widget can only update twice persecond, giving 2 fps!!! Well, it is OK for viewing remotely, but the fps will give me cancer. You can also use take the photo instead, but will be several MB, compared to below 1 MB for screenshot. I ever do this in ticwatch and it is much slower, about 3 second per image.

3. You can use combination of 2 apps, android ipwebcam in the server, which turn your main phone into ipcamera. Then another viewer, example Tinycam monitor at the client. The view is realtime, as it is using RTSP stream. You can also use browser instead of tinycam, but the video stream will be a bit choppy. You can control the camera or trigger automagic flow also from the web interface in the client. (Android IPwebcam support Automagic too). But the photo taken is limited to Android IPWebCam setting only. You can't use your favourite main camera.

4. The most full blown solution is to directly mirror the server screen to the client. This might need root in the server phone, as it need to turn on wireless adb (adb over network). Without root, you can only enable it from USB once every restart. (it doesn't need root anymore in android 11, but not yet released). Install scrcpy apk in the client phone and type in the IP 192.168.43.1, and you have full view and remote control of the server phone.

I personally prefer to control the shutter button only, without viewing the viewfinder. So I only use my ticwatch to control the shutter instead.
Index of Automagic useful thread List of my other useful posts (and others')
Xiaomi Redmi Note 5 (whyred), AOSP Extended v6.7 build 20200310 Official, Android Pie 9.0, Rooted.

Post Reply