Personal View site logo
GH4 — Use iPhone as wireless monitor
  • 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.

    Video of prototype in action

  • 153 Replies sorted by
  • 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 OK, then I will remove it from the connection procedure. Thanks!

  • @jimknopf GH3 has fast focusing so I bet everything newer also has

  • @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.

  • @jimknopf Does oneshot_af_enable mean AF in manual focus mode? Do you know any camera not able tele-fast and wide-fast?

    I use Android VPN non-root sniffer to check what Image App is doing but have only GH3 and GH4.

  • @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

    http://Cam_IP@/cam.cgi?mode=accctrl&type=req_acc&value=4D454930-0100-1000-8001-020D0090325B&value2=GT-I9300

    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=accctrl&type=req_acc&value=4D454930-0100-1000-8001-020D0090325B&value2=GT-I9300

    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 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.