As suggested by @Vitaliy_Kiselev I've moved this into it's own topic, originally here. @lenuisible Thanks for the original work on the GH3 Web Controller.
Maybe someone here uses the GH4 for filmmaking and wants to use their iPhone as a wireless monitor. In that case you're like me, but lucky enough I'm a developer ... so I just wanted to let people know that I'm working on a viewfinder app just like that.
It's still a prototype for now, but if you're interested in following the development I suggest following this topic.
I have an ipad mini 2, hooked up to a GH4 on wi-fi. One good thing to note is that you can use the zoom function in the ipad settings to blow up the app monitor window to fullscreen. It's with the three fingers and it can take a bit of practice to zoom in without cutting off the edge of the frame. However, you can also do a visual comparison with the camera LCD to line this up correctly. So a full screen on an I pad mini isn't actually that bad. For a low budget 20 minute film, maybe it's not a bad option. I was considering renting an atomos shogun and recording in 10 bit - but this is not a commercial project, just a self-funded short. I can see that sometimes the focus peaking is disappearing. But generally it's maybe a workable little monitor. Also there is the option of checking the recorded footage on set with a high-resolution laptop. But the important fact for me, is being able to make it fullscreen purely through using the ipad zoom function in settings>accessibility>zoom If anyone has any thoughts on using ipad as a monitor, or has any experience, I would be very interested to hear your thoughts.
Guys, any chance to make it work on Epson Moverio BT-300FPV glasses (it is Android based thing, so by idea must work)?
Really could use it for PV teams.
@Rambalac That's my guess. The AF is not that important to me, but knowing whether the fast focus change commands work is. Therefore, the check at the beginning.
I only have access to a G81, so no, I don't know about cameras not supporting it. I just assumed that there is a reason why some commands are listed explicitly, while others are not.
Do you know the capabilities command from your GH3 and GH4? That would already answer my first question.
I had no success with sniffers installed on my phone – which one are you using? So far I have used macOS's built in sniffer to record the traffic between the camera and the phone. Then analyzed the data in Wireshark.
The report function of my app is of course much more primitive. All it does is to save the responses of the 11 commands it goes through and then allows to send the data via email. In particular, the app itself is not phoning home.
@Rambalac Thanks for the information! I am checking cam.cgi?mode=getinfo&type=capability
for the tele-fast
and wide-fast
commands. Furthermore, I check whether oneshot_af_enable
is listed as spec. But to be honest, I am not sure whether any of this is necessary.
By the way, I forgot to mention that my app includes a report function that goes through all command one-by-one and records the responses. So if anyone has an Android device (5.0 or newer) and some time to kill…
@jimknopf I don't see any reason to request cam.cgi?mode=getinfo&type=capability
. Some features could be useful like camspec
but I'm not sure about full meaning so I prefer try and fallback for such features like focus area resize by pinch.
I get everything I need and much more from allmenu
and my minimum capability is GH3.
I ignore request access for specific older cameras just to make logs cleaner :)
Sorry for hijacking this thread, but the last posts relate directly to what I'm interested in.
I've been developing a follow-focus Android app for my G85 over the last weeks and just published an early access version. The idea is to use your phone to remote control servo-lenses such as the kit lens. While the the speed of the follow-focus is very limited, it might be good enough for certain setups.
However, I would like to figure potential issues with other popular models such as the GH4 before I post about it elsewhere.
I have three questions:
First, does anyone know what happens if you send the access control command (and the set device command) to older models?
My untested code assumes that these cameras will respond with either err_non_support
, err_param
, or HTTP code 404
.
Second, is cam.cgi?mode=getinfo&type=capability
a recent addition or safe to use with older models?
@Rambalac You avoid the first calls entirely for models that don't support them and I could not find the capabilities call in your code. Is there a particular reason?
Finally, is there a way to get the current focus without sending a focus change command?
I have found nothing of that sort in the HTTP data. But I haven't touched the video stream headers yet. @fweinb Do you see a chance something like that is hidden in the fields you could not identify yet?
Any help is appreciated. If you need something to be tested with a G85 (actually, it is a G81), let me know.
The code of my app is available here (including a getting started guide):
https://bitbucket.org/jimknopf/fokoid/overview
Play Store link (Early Access):
https://play.google.com/store/apps/details?id=com.gmail.fokoidapp&hl=en
(you can also find a copy of the APK on Bitbucket)
@Rambalac Oh, just saw your comment about the off-frame bytes. I think I'm good with them for the time being. Thanks tho. :)
@Rambalac Indeed a very unnecessary difference ...
Yeah, I fixed that 3 days ago, tested in local camera store.
Extremely stupid is new cameras send CSV response while old cameras sent XML error response.
@Rambalac I've checked now with G80 and GH5, and the camera seems to repeat
Where value = device_id
(can be really anything), and value2 = <arbitrary name>
The Pana app keeps polling the above command, and the camera keeps answering ok_under_research,etc,etc,etc
(etc
is just more info) until you've accepted the connection on the camera. Once accepter, the camera will reply with a plain ok,etc,etc,etc
.
After that I've witnessed both cameras be sent
http://Cam_IP@/cam.cgi?mode=setsetting&type=device_name&value=GT-I9300
And after that it seems like the procedure is the same.
@mjas I noticed that too. I only have the FZ1000 to test stuff but I think I figured out must of the stuff now. The only information that are missing are the focus/ae points that are currently displayed. I don't have much time to work on it anymore. I updated the documentation on github to include the new calculation for the header stuff. You can find it here: https://gist.github.com/FWeinb/2d51fe63d0f9f5fc4d32d8a420b2c18d
@lenuisible Oh, ok I added that for better Image App like behavior, it will be available in next update together with LUTs . Thanks
@Rambalac G8x (and maybe GX8x) added some sort of device check before the connection is established. If you (or anyone else working on those apps) want to support those new cameras, you have to add some commands before the classic "recmode" camcmd.
On my G80, when I use my good old Galaxy S3, the commands look like this (but I'm pretty sure it should work with any camera and any controlling device) :
http://Cam_IP@/cam.cgi?mode=setsetting&type=device_name&value=GT-I9300
Rgds,
Clement
@mjas By the way, what is specific in connecting to GX85? I dont have that camera, but people say they cannot connect and camera tells them to update app.
Do you need help with Offframe bytes? I updated parsing adding new parameters and fixing difference in two different types of focus area coords.
@Rambalac Thanks!
@Rambalac Sure. Do you have a link? I could only find Panasonic RAW decoding code online. :)
@mjas If you still want to know how parse that data check my c# app sources ;)
@lenuisible @Rambalac I've seen that the header length changes, but as far as I can see the first 46 bytes seem to be the same (judging from GH4 and G80 headers). However I can't see anything in those first 46 bytes that indicates what comes directly after.
@lenuisible It changes depending on lens and focus mode. In face recognition if face is visible it's sending bounding box and eye point, if focus point is selected its position is also sent. GH3 and GH4 are the same, and header can change more than 16 bytes. No difference in PASM modes.
It looks like you're new here. If you want to get involved, click one of these buttons!