Personal View site logo
Make sure to join PV on Telegram or Facebook! Perfect to keep up with community on your smartphone.
Please, support PV!
It allows to keep PV going, with more focus towards AI, but keeping be one of the few truly independent places.
Control your GH3 from a Web Browser - Now with video !
  • end users post, for technical info see post 3 below

    v0.4 is out. a Java player has been added for live view ! most commands are there

    To test this :

    • download the attached zip file (last version is v0.4) , and decompress it wherever you want
    • for the live view to work, you need :
    • start the Wifi on your GH3, "new connection/remote shooting" (it works also if you connect through a Wifi AP, you just need to find the IP address of the GH3)
      • if you're using a direct connection you can launch the "Control.html" file after you connected your PC/MAC to the GH3 network
      • if you're using a Wifi access point, you have to find/replace all the "192.168.0.1" in the "requests.html" file with the IP address of the GH3 before launching the "Control.html" file
    • if you want to use the live view on a Windows PC launch control.bat instead of control.html (see above for Java installation). If you're using a MAC, you have to find a way to launch UDPServer with Java, I don't know if it works
    • play with the different settings and commands

    • To take a picture, use the shooting button (you can do continuous shooting with press&hold if the dial is in that mode)

    • To start a recording press "record"

    • manual focusing uses press&hold buttons with 2 speeds, you can play with the interval between 2 successive focusing actions with the input fields on top of the 4 focus buttons.

    • The zoom uses press&hold buttons, with 2 speeds (for PZ lenses of course)

    Some commands will not work depending on the selected mode on the dial (ie focal in S mode)

    The screen goes black quite often, just take a picture or half press the shutter button to turn it on again. But now that live view works (on Windows at least), you shouldn't have to look at the GH3 LCD anymore.

    If the GH3 freeze, you may have to take the battery out (may happend if you use a feature non supported by the selected mode on the dials)

    To properly interrupt the connection, just "terminate" it on the GH3 menu

    You can stop the video recording using "playmode" (which is the command to display the photo on Lumix Link).I didn't look at the files generated when you do that, if someone could look at the integrity of the video file after this abrupt stop, it would be useful. You have to press "recmode" to control the gh3 again.

    Clarification :

    This is a PoC. I'm not a developer, and won't spend much time on future version. someone with some basic web dev skills will be able to do a much better job in no time; He just has to look at the code, and eventually ask me.

    image

    LumixLink_captureStill.jpg
    3M
    ControlGH3_V03.jpg
    992 x 800 - 175K
    testLumixLinkv03.zip
    78K
    testLumixLinkv04.zip
    81K
    control.jpg
    1280 x 800 - 244K
  • 157 Replies sorted by
  • download the "LumixLink_captureStill.jpg" attached file LumixLink_captureStill.pcap

    I strongly suggest to just zip it instead making is JPG :-).

  • Technical post - Developers needed!!! - for end users see the 1st post

    This is a summary of the information I know which could be useful for people wanting to help, or develop his own application

    Network Capture

    I see 3 possible ways to capture the network traffic, and analyse it to understand how the Lumix Link application communicates with thr GH3. I've made a few capture using the 3d method, but if people can access to one of these methods, it will be easier to understand (and reproduce) all the missing features:

    GH3 IP address discovery

    If you're not directly connected to the wifi ssid provided by the GH3, As @Vitaliy_Kiselev pointed out, you need to know the ip address of the GH3 to use the web remote, and find/replace all the "192.168.0.1" in the "requests.html" file with the IP address of the GH3. There is a way to make that automatic : make the application able to mimic the SSDP protocol behavior, which imply UDP and multicast... Or you can do a port scan (on port 50001) on all the machine in the same subnet as your machine, but you have to retrieve your subnet.
    Anyone interested in coding this is very welcome (I'm afraid Javascript will not be a good tool to determine your own subnet...)
    Edit v04 : I've managed to discover the GH3 IP address using Java, but I need to make a few changes in the web page to provide the ability to the end user to read it on the Java window title, and write it down on a text field of the web page.

    Remote control features

    For all the camera control features, it's very easy to mimic the LL application : you just have to send GET http requests to the GH3 ip address. You can do that using your browser, for example if you try to go to http://@IP_GH3/cam.cgi?mode=camcmd&value=capture the GH3 will take a picture. You can open the file "requests.html", and you will find most of the possible commands.

    An interesting improvement to the actual interface could be to only display the settings compatible with the mode you're in, and lens you use (PASM...mode, focus mode, left control dial mode, minimum/maximum aperture, ...).
    this can be achieved easily by parsing the XML responses to the following HTTP GETs :

    • http://@IP_GH3/cam.cgi?mode=getinfo&type=curmenu : the answer to that is a xml file listing a lot of info about the actual state of the GH3. For example, if you're not in Program Mode, you will have :
      item id="menu_item_id_program_shift" enable="no" somewhere. You just have to parse this xml file and do a few checks, and you will know exactly in which modes you're in.
    • http://@IP_GH3/cam.cgi?mode=getinfo&type=allmenu : a lot of interesting info here about a lot of commands, and all the GH3 menus in the different languages !
    • http://@IP_GH3/cam.cgi?mode=getinfo&type=lens : lens detected. The answer is a string, ie for the 14-42PZ it's "ok,2304/256,925/256,3072/256,16384/256,0,on,42,14,on,128/1024". I think this site could help us finding the info of all the electronic m4/3 lenses there is:)

    A few applications could be possible using the different commands and writing a little javascript (electronic follow focus, advanced bracketing/time-lapse, ...) and I'm sure it could also serve some very specific, rare use cases.
    Application ideas and developers are welcome

    Liveview

    If you go to http://@IP_GH3/cam.cgi?mode=startstream&value=49152, the GH3 will send an udp stream to your ip address on port 49152. The problem is it's not RTP, so after losing hours trying to find an known header pattern at the beginning of the udp data, I finally had the late idea to look at the last bytes : it is "ff d9". A rapid google search taught me that it was the EoF marker for jpg images. The stream is a MJPEG video over UDP. If you look at this hex dump file, you will find :

    • a 144 bytes "header" (with a few changing bytes, and a lot of repeating patterns in the different occurences of these headers / separators)
    • ff d8 ...... ff d9 : a jpg file
    • a 144 bytes "header"
    • ff d8 ...... ff d9 : another jpg file
    • and so on
      Edit v04 : The "header" size actually change depending on several factors (autofocus, dial mode), but this is taken care of by the live view Java program.

    You will find attached to that email the hex dump of a short video streamed by the GH3 (mjpegOverUdp.hexdump.txt.zip, the data payload of the UDP stream), and the pcap capture file of the session from which it has been extracted (mjpegOverUdp.zip).
    Ideally, it will be better to understand what the changing bytes in the header/separator represent.

    Picture preview/download

    I didn't play much with this, but the GH3 and lumix link use the UPNP set of network protocols to communicate. More testing is needed to see what SOAP messages are exchanged when doing the few interesting actions on the LL app "Playmode". As an example, I attach to this email the SOAP message sent to the GH3 to have the list of pictures (ImageBrowse_requestLL.soap.txt), and the SOAP response of the GH3 (ImageBrowse_responseGH3.soap.txt).

    if you want to code a program that will allow to browse and download pictures, you're welcome

    webGH3.jpg
    391 x 800 - 117K
    ImageBrowse_requestLL.soap.txt
    846B
    ImageBrowse_responseGH3.soap.txt
    8K
    mjpegOverUdp.zip
    2M
    mjpegOverUdp.hexdump.txt.zip
    5M
    UDPServer_JavaCode.zip
    1K
  • Very cool. Just started playing with it on the v1.1 and everything works as advertised.

  • THIS IS AWESOME

    This should be worked on, I'd pay for it!

  • thanks @taawp and @Arquer053.

    I have to confess that I am a little bit disappointed by the lack of interest for this thing, there could be some really nice applications.

    I've tried to understand how to play the video stream, without success. The stream is sent when you press "stream" if you are in the recmode (you can use Wireshark to see the udp stream flowing), but I didn't manage to catch it.

    I have to understand how to send SOAP messages to the GH3 uPnP Mediaserver Control point. There is all the info someone could need (inside this zip file : http://upnp.org/resources/upnpresources.zip), but man, I'm really slow when coding is involved

  • This is very great @lenuisible! Just because you are not seeing more reactions, don't assume we are not interested. It takes a while to digest something as new as what you have done. Hang in there, this is going to be very useful to many... Al

  • I have to confess that I am a little bit disappointed by the lack of interest for this thing, there could be some really nice applications.

    @lenuisible Don't be so impatient (or disappointed). I am very interested in this, but I do not have any immediate use for it though as my main interest right now is mostly to develop the craft of producing proper, basic time-lapse videos with my gear, and I won't be using wi-fi out in the woods much (I tried that, and as you read in the other thread I emptied my iPhone battery in no time using it as a remote).

    However, when I do get around to pick up your research, I might [vapor-alert]put my software development woo-doo to the task of using it[/vapor-alert]. You can for instance create some time-lapse control software that does fake bulb-ramping during sunsets/sunrises with what you have unlocked. You can probably also control time-lapses with more elastic time where speed-shifts are properly splined instead of what you typically see in time-lapse videos with abrupt speed-doublings and halves (which annoys me to no end). A non-live-view remote application is also of interest if there are big battery-saving advantages in doing it that way. All of these I am very interested in "solving" for the GH3, but it is more of a one-year-plan than a one-week-plan if you know what I mean...

  • I have interest in this as im a blackberry user and the lumix app appears to only be for apple or android.

  • It is very interesting and very important research.

    First, some undocumented commands must exist.

    Second, it is natural way to help with some reversing later.

  • I just tried it and it works great! This is so cool! I did hang the GH3 initially, screen froze and had to take out the battery. Not sure what it was that I did. Once I turned it back on and tried again, it worked perfectly... Al Edit: Some handshaking to end the browser control must be needed, either that or I don't know how to terminate the control without a frozen WiFi connection that requires battery removal to recover.

  • @all v0.2 is out !

    @aljimenez it should be more stable, to properly end the connection, use the terminate command on the GH3.

  • @lenuisible Great work..! I'll try it tomorrow morning. windsurf.

  • @lenuisible WOW MAN!!! it really works and you made it ridiculously easy to set up, THANKS, really!!!

    as you said no preview and screen blacking out quite often, but from focus to shutter, iris, wb (temp too), ISO, etc, etc, ALL WORKING :D the only thing I saw is you cannot come back to "raw" quality alone; if you change the "picture quality" you're stuck with jpeg or raw+jpeg. just me nitpicking.

    thanks once again lenuisible, these are great first steps to another dimension, ja ja ja
    m.

  • Great work!!! I havent had time to play with this but I am very very intrested! If it is possible to add all functionality what Lumix Link has this is very BIG for my workflow. I am a mainly mac user and sending pictures from GH3 to mac is not working. With Lumix Link its possible to sent camera->phone. Maybe with this from camera->mac and also use camera remotely... :) I am also willing to pay for this kind of app... I see also possibilities that we have been able only to dream about... Thanks for your work!

  • This is AMAZING. Keep up the good work. I don't have a GH3, but I can see this getting very popular, Congratulations on your great Idea and already working Software! :)

  • At least this require removal of fixed IP from all forms action.

    And addition of JavaScript that discover camera address and set it.

  • Bravo, @lenuisible keep working on this please, I'm following the topic now (didn't see it at first)

    BTW I recommend you to root your android, it has very many advantages.... about as much as hacked GHx vs stock ;-)

  • Wow. Awesome find. Downloaded and will have a look at it. What exactly would people need / like to see and in what form? Would like to hear from you guys. Maybe I can help.

  • @lenuisible @Vitaliy_Kiselev Would it be a good idea to post this topic in the oficial GH3 topic? I think that would increase its popularity.

  • It had been posted, if I reemember properly.

  • It had been posted on the GH3 wireless topic.

    I'm gone right an update tonight if I have the time, I made some progress identifying the format used for the video stream.

    @electonic thanks for proposing your help, what's your domain of expertise ? We're gone need a dev that can write some code to receive and dissect an UDP stream. I don't think we can do that only with Javascript...

  • V0.3 is out

    End users post (the 1st), and technical post (the 3rd) have been rewritten.

    If you read the technical post, you will know as much as I do about this topic.

  • Great stuff. I will definitely try this out.

  • Just tested the latest version. Its a great start and I would love to see it become a full fledged app with full control.

    With that said, is there currently any other way to controlling GH3 via Windows tablet?

  • When I get my GH3 I will see what I can do to help - the main benefit I see for this is to add a control panel for a camera that is rigged and might be difficult to access the touch screen - or for a camera assistant.

    Just need to mount an old tablet or smart phone and you get a full control panel.

    Also good if the camera is up on a jib arm, or on a steady cam, etc.

  • Indeed very interesting research, thank you! I'll be following this as well especially for timelapse purposes. In addition to what has been mentioned previously, this could eventually allow for remote timelapse camera installations that are controllable over long distance (for example by routing through a mobile 3G device).

    And assuming Panasonic will use similar network software in future cameras, this has great potential.

    If it matters, I'd be willing to pay for a developed tool like this as well. But this also has potential in current form as web page app, so anyone with some scripting skills could try and make own control functions for specific needs.

    In any case, your work is appreciated!

  • v0.4 is out. a Java player has been added for live view ! Read the first post to test it.
    It should work fine on a Windows PC, I'm interested to hear from people trying it on other OS.

  • Awesome @lenuisible I got it working in my Windows 7 pc. For a guy who is not much of a programmer you are making incredible progress. It took me awhile to figure out the Live View. Here's what I did. Start a Command prompt window and cd to the folder where all the WebBrowser files are located. While there, then run
    "C:\Program Files (x86)\Java\jre7\bin\java" UDPServer
    This then starts a java window that will display what the camera sees once Start Stream is clicked. Unfortunatetly, no video preview while recording. I also have not been able to see what files have been stored in the camera yet. Stopping video using Playmode, appears to work, so your work is already providing new functionality not in the LUMIX link app. This work is starting to pay off and I hope someone with more knowledge and time than me can join you in continuing to make progress with this awesome work... Al

  • I think WebRTC fails over to UDP - could be possible to run the video native in the latest browsers.

  • First I have -100 knowledge in java and such and right now my head's kind of tired.
    So, though I read the PATH stuff, I wasn't able to set the live view. Other than that EVERYTHING'S WORKING smoothly in a mac OS 10.6.8 The interface is changed a bit, bigger (we still can't select raw alone in Picture Quality ;), I tested pancake 20mm and 14-140, all good. The slow focusing tabs are super nice, totally useful for a rack focus of some kind. BTW didn't experience any of the previous (version) black outs. Way to go!!!

    THANK YOU LENUISIBLE

    hope you get aid/collaboration to see make all this work you're having something even nicer :D

  • @lenuisible Man, you better put this in your portfolio. It's incredible how much you've done in so little time!

  • Thanks guys for the kind words and for testing this,

    @aljimenez yep, this is another way to have the "java UDPServer" working, if you change the PATH like I explained in the first post, you will be able to run java without entering its complete path, so instead of "C:\Program Files (x86)\Java\jre7\bin\java" UDPServer you could just type java UDPServer.
    About the video preview during recording, as ou say it's impossible, but at least you can change the settings (focus, zoom, aperture ...). Maybe Panasonic will unlock this in a future firmware
    About accessing the pictures files stored on the GH3, I would prefer that someone else takes care of it...

    @disordinary I think creating an UDP socket (which is needed in our case) with a pure web solution is tricky, WebRTC needs RTP, which GH3 doesn't use.

    @maxr thanks for testing this on a MAC, it would be cool if you could try the live view, what you basically need is to launch java UDPServer from a terminal (for java installation look here : http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jre.html), you can look here to see how to do it : http://www.cs.princeton.edu/courses/archive/spr04/cos126/hello/mac.html.
    I forgot to add the raw quality, I will update this in the next version, but you can add it yourself adding this line : < OPTION VALUE="raw" >raw < /OPTION > at line 293 of the requests.html file

  • @lenuisible

    I suggest to check Javascript and canvas in HTML5, I think you could make it without Java.

  • @lenuisible

    I forgot to add the raw quality, I will update this in the next version, but you can add it yourself adding this line : < OPTION VALUE="raw" >raw < /OPTION > at line 293 of the requests.html file

    donne and WORKING, thanks

    about JAVA JR7, minimum system requirements imply OS 10.7 or later, so right now I cannot test it, I'll try to kidnap the (very requested) iMac with OS 10.7
    all good

  • @Vitaliy_Kiselev without some sort of gateway, I really don't think so.
    I would be happy to be proven wrong, but you'll have to point me to some page to start with. Remember that you need to create an UDP socket, and that you can't rely on RTP.

  • @lenuisible excellent work so far !!

    this has lots of potential, I would love to see someone with some coding skills help you out.

    It would be really cool to have a bramper like function for time lapse, via a web interface to ramp the settings

    I would donate to the cause

  • @lenuisible

    Looking at google it seems that you can make UDP work with Flash (and it is more common thing than Java now).

  • If we limit it to only Chrome browsers, it looks like a Chrome App can use chrome.socket.

  • @taawp

    Chrome App can be good idea.

  • I really need to try this out for Astro Photography.

  • LIVE VIEW WORKING in OS 10.6.8

    ufff... sometimes would be nice to have a digital machete!!!

    though is supposed not to work and it is not "recorded" anywhere (that I was able to find), I managed to install java 1.7.0_21 (again minimum requirements are OS 10.7 or newer) in a OS 10.6.8

    case someone is interested, here's what I did:

    • download the JDK (java developent kit) from oracle
    • extract both pakages with pacifist, once the install is handicapped
    • now's the tricky part, create a new folder "1.7.0." and inside of which dump the contents of first package; inside of contents' plugin folder dump the second package, the plugin one
    • rename the folder to "1.7.0.jdk" and place it next to the old "1.6.0.jdk" home/System/Library/Java/JavaVirtualMachines
    • Open Java Preferences and under "General" move Java SE 7 to the top
    • As lenuisible explains, set gh3 on wifi> wifi function> new conection> remote shooting
    • select gh3's wifi network from airport, set password given by camera
    • start the control html file, press the "recmode" tab - gh3 reads "Under remote control"
    • then simply open "UDPServer.class" file; you can also fire the stream from a terminal window (which was my case) but it is far easier this way
    • back to firefox and control.html, press "StartStream" tab
    • watch wonderfully boring things anew :P

    again, THANKS LENUISIBLE for the terrific job you're doing!!!

    gashô

  • @maxr Thanks for confirming that it works !

    @taawp & @Vitaliy_Kiselev I'm starting to like Java :). To enable more advanced features, the program needs to be able to retrieve/parse and send XML files from/to the GH3, and it's a nightmare using browser because the GH3 doesn't use any "Access-Control-Allow-Origin:*" in its response header, and browser don't like that. If you're interested in the topic, you can read this : http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy
    I think I'm going to go one with Java for a Lumix Link like application for PC/MAC. A Web UI using JS will be better to develop specific apps. But If someone is willing to spend time on a live view player for the web, the theory is really simple :

    • create a local UDP socket on port X
    • send a GET HTTP like : http://@IP_GH3/cam.cgi?mode=startstream&value=X
    • retrieve the bytes stream, look for 0xFF 0xD8, cut the datagram packet from this 0xFF offset to the end (finishing with 0xFF 0xD9)
    • convert this into a JPG and display it
  • Thanks @lenuisible for your efforts!

    I confirm it worked for me in Chrome and Firefox but in IE10 streaming and shooting did not start. Perhaps some IE settings but it does not matter. I belive there will be a fully functional application one day. It doesn't have to be a web browser based. A standalone application seems fine and even better to me.

  • A small update, you can now download the JPG files stored on the GH3 using Chrome and the attached files.

    • For security reasons, the web browsers doesn't like to parse content coming from other web sites, unless the requesting web page belongs to the same domain as the requested one.
    • To make this work with the GH3, you have to launch chrome with a specific parameter : you need to use the CLI (with Windows or Mac OS), and type "chrome --disable-web-security".
    • Download the attached "BrowseJPG.zip" file, and unzip it wherever you want
    • You can then launch (from this "unsecured" Chrome page) the file "controlBrowseJPG.html" to access the files stored on the GH3

    • you will be presented with the thumbnail pictures, if you click on one of them, you will download the full res jpg.

    • FYI, 3 versions of the files are present on the GH3 :

    Edit : I forgot to change the default value of the IP address of the GH3, which is set to 192.168.0.13 (the IP@ of my GH3).

    • You should be able to change it when you launch the file (ie just change it to 192.168.0.1 before you click on load)
    • If you want to change the default value, edit the "controlBrowseJPG.html" file, and on line 6, replace the value field with the IP address of your GH3 (192.168.0.1 if you're directly connected to the Wifi network of the GH3)
    BrowseJPG.zip
    2K
  • @lenuisible

    could you possibly share the java source code too? Do you simply look for 0xFF 0xD8 to separate JPEGS from each other?

    The idea is to try to make focus peaking based on the stream data. No idea if it will work but worth the try.

  • I thought it was just a standard applet for opening a udp stream? Haven't tested it but I'm guessing that VLC can also open it.

    Focus peaking would be a pretty big ask I would have thought. What resolution is streamed? I doubt its 1080p.

  • Thanks for continuing developing this functionality @lenuisible. I downloaded the new control, but was unable to make it work and I needed to remove the battery every time. I used chrome with your instructions, but all I get back from the camera is ok and no thumbnails. I am still able to control the camera and take pictures, but as soon as I try to see the thumbnails, I get ok and the camera is no longer controllable.

  • @dtbow yes, I'll add it to the first post when I go back home. I played with filters to try to do peaking, it's quite easy to alter the JPG files, what's more complicated is fine tuning the filters and don't kill the perfs. I played with some filters of this guy : http://www.jhlabs.com/ip/filters/index.html, and I try to reproduce what was said in this article : http://www.luminous-landscape.com/forum/index.php?topic=56246.0. The EdgeFilter does a pretty good job, but stacking other filters on top of it degrade the perf too much.
    BTW, could you try to uses the files above and follow the procedure to see if you manage to download the pictures on your MAC ?

    @disordinary I didn't manage to receive the stream with VLC, I think VLC only receive MJPEG over HTTP, or maybe it's looking for some info in the headers which are not there. The streamed resolution is 640x480 (640x360 when 16/9 is chosen)

    @aljimenez thanks for testing, are you sure your chrome is running in the unsecure mode ? You may have to close other chrome windows before launching it with the option, if it works, you should have a message looking like this (in your language) :
    image
    Could you enable the Javascript console on chrome and look at the error message ? If it says something about Null Origin, chrome is not in the unsecure mode. If it says something about gh3ip or gh3ipaddress I may have made a mistake somewhere.

    FYI the GH3 needs to be in "playmode" to get the pictures, and in "recmode" to be controlled. The browseJPG.html file enable "Playmode", so if you want to control the GH3 after using it, you have to click on the recmode button on the control web page

    chromeUnsecure.jpg
    1021 x 393 - 95K
  • OK @lenuisible I got it to work. I had two instances of Chrome running before and that is apparently what kept it from working before. Only photo files that are jpg are visible; the count of pictures displayed shows all including raw files, but thumbnails are only of jpg files. I guess raw files can't be downloaded this way. With this feature of showing thumbnails, the camera does not recover any more, even after terminating the WiFi connection at the camera; it gets hung-up needing a battery pull to get the camera working right again... Al

  • @lenuisible I got it running. The protocol GH3 is using to send data over UDP is actually quite simple: first 2 bytes of each packet is packet length (header + JPEG payload), the header is 132 bytes long after that you have a JPEG image until the end of the packet. So all what you need to do is to strip the first 132 bytes of each packet and there you have your JPEG. Your recording, actually, also contains the data you send over HTTP, not just the UDP stream. I had to do my own recording to find out what's happening over UDP.

    Unfortunately the stream stops when in video recording mode. That is focus peaking on top of wifi is pretty useless. It kind of works, but not very precise - it is based on 640x480 resolution JPEG: not just resolution is low, but also artifacts are there. When not in video recording mode you are better off using the magnification view, when in video recording mode there is no magnification view, but also no wifi stream.

  • BTW, the frame size is about 24-25k, make sure your buffers are big enough. I had to increase the UDP implementation's default buffer size to make it work (on iOS).

  • @dtbow

    the header is 132 bytes long after that you have a JPEG image until the end of the packet.

    actually it depends on the modes the GH3 is in, it can be 132, 144 and 156. To know from where you should cut, you have to read the 32d byte, it give you the relative position of the starting of the JPG (it's either 64, 70 or 7C).

    Unfortunately the stream stops when in video recording mode.

    Yep, nothing we can do I'm afraid (apart from waiting an update or a hack)

    That is focus peaking on top of wifi is pretty useless

    agree, but funny

    I had to increase the UDP implementation's default buffer size to make it work (on iOS).

    Did you code a live view player for iOS ?

    When I asked you to test the above files, I was referencing to the BrowseJPG one (because you complained in another topic that you couldn't download the pictures on your MAC with Lumix Link).

  • @lenuisible

    "actually it depends on the modes the GH3 is in, it can be 132, 144 and 156. To know from where you should cut, you have to read the 32d byte, it give you the relative position of the starting of the JPG (it's either 64, 70 or 7C)."

    Thanks, good to know.

    "Did you code a live view player for iOS ?"

    Yes, I did. iOS is what I develop for most of the time, so the choice was obvious. Furthermore if stream would work during recording using iPhone as a focus support would be really cool.

    BTW, if someone is interested to play with it on his iDevice - let me know. The app is not polished, but seem to work stable (and way faster than Lumix Link iOS app).

    I haven't yet tried the Chrome app, will do. Are RAW files unsupported as in iOS app? Since for photos I mostly shoot RAW, it would make sense to me to invest the time making an app only if RAWs are supported. Maybe a hack could enable this...

  • Hi, I don't know if it's too much to ask, but I make some stopmotion animation and I would love to use my GH3 and lenses in my next project, this software is a good step in that direction but it will be perfect if someone could add the option to get a 50% opacity layer of the previous taken picture over the liveview.... can someone do that?! please!

    Me and the stopmotion community would be the forever grateful for that!

  • brilliant work. do you think is possible to use the video stream coming from gh3 for different purposes than just monitoring e.g.: using it in a broadcasting software just like a input source?

  • @debaser There may be a way to do that without too much work, but it will be ugly :

    • you will have to use jpg+raw so we can access a jpg file of the last picture

    • i will try to make a small web page which allow to display the last taken picture and shoot a new one (it will require that you launch chrome in non secure mode, see the related post above)

    • You will then have to use ghostwin to make this window transparent
    • Finnaly you will use the java liveview behind it (you will have to align them well manually)

    The problem I have is that it requires going from recmode (to take the picture and have the liveview) to playmode (to diplay the last one) and it takes some time, so some delay must be included in the code. you will also only have 640x480 quality to work with on the PC screen for that superposition

    @fegato no, the quality of the stream is really too low : 10 fps, with 24kB jpegs

  • @debaster that sounds like an interesting app idea. Combined with some other support tools to pre-calculate the stop motion / timelapse and motion support (points which location is pre-calculated and animated for each frame) this could become something really unique. I could relatively quickly come up with "something", though making a quality app would require time, as usual. The other question is whether there are enough people getting GH3 to make development of a full-featured app feasible.

    @lenuisible @fegato I get approximately 30fps on iPad, but yes, it is just 640x480 and severely compressed. 10fps is probably due to the java app is not fast enough to draw all frames.

  • Since the G6 also supports WiFi, does anyone know if this app will control that camera as well? That would be cool.

  • @Hionhifi

    I don't have G6, so I don't know, but I assume it should work, we just need a G6 (and a GF6) owner to test it.

  • the weird thing is that you can add in this java subsections in ss and aperture that you cannot set from gh3's body. It is great for fading in a timelapse shot with 768 subsections for one stop :P I also believe (correct me if I am wrong) it shoots only in video mode ss16000, this does not work in photos even when shot with electronic shutter. I am happy now shooting 24p ss48 LOL

  • I know nothing about programming and my question may be childish, is it possible to use a usb midi controller as a camera controller through this program, something like using pitch wheel to focus :P There are usb midi controllers not necessarily with keys but potentiometers and buttons and have nothing to do with sound, just lite data packets of orders

  • I just found some articles about Java input from MIDI, it would be great follow focus, zoom and general control with real buttons and potentiometres

  • is it possible to control focus in olympus zuiko lenses?

  • did the hen came first or the egg? :P

  • I also would be very interested to controll the camera via MIDI or OSC! Is it possible to integrate that?

  • @starios and @johnnymauser I don't know anything about MIDI and OSC, but what you need is anything that can send a HTTP GET request (basically what your web browser is doing when you try to reach a website), if the MIDI device you're speaking of can be programmed to do that, this can work, but you still need a Wifi connection.
    The easiest way to have a physical interface changing the GH3 settings is maybe to use an arduino controller with a wifi shield (http://arduino.cc/en/Main/ArduinoWiFiShield).

    For focusing, I'm afraid that the delay will be too long to have a nice experience.

    About Zuiko lenses, I don't have any, but it should work.

  • Is there a possibility to get recorded movies quickly from the camera to the pc without touching the camera? What we do now is we record the finish of a horse race with a capture card and then we do a replay of that sequence. We could now eliminate that pc and reduce the complexity of the setup if we can start and stop the recording on the camera via web remote and then copy the recorded file to disk and reply it from the second PC. The preferred way to copy the file would be via the usb cable. Does somebody have a solution for this?

  • Suggestion: put the code up on github.com so others can contribute

  • I wish I could write some code but I am only using the software lenuisible made

  • I'm confused about this program. Tried to download .jpg and rename it but says it is not a valid zipfile.

  • I wanted to let you know it works also with G6. Not perfectly, but it works!
    Lenuisible - GREAT work, I am really impressed!

  • I would really like to see an Android APP for this! I will take a look myself around middle of Feb when my gm1 arrives.

  • I know this may not be feasible, but one feature I'd love to see in these remote control software systems is control over manual focus. It'd be terrific if we could specify focus settings in a sequence, and as we go through a take, we tell the camera to shift focus appropriately.

    Let's say we want to rack focus during a shot, but we can't do it by hand. It'd be terrific if we could specify a list of focus settings for the shot. So, when the shot starts, we're at Focus Setting 1. But, when we want to rack focus, we tap a button on the screen, and the camera goes to Focus Setting 2.

    And if such a thing can apply to zoom and aperture, even better.

  • @hellrazor - yes, that is my plan, too! I have a spare prototype now running in plain Java /Swing client running. I'm able to get the IP via UPnP and to successfully connect the camera. I also managed it to create a custom JPanel to display the live stream inside a JFrame without blocking the application (Threading does the trick...). I've to make the application more reliable in terms of network connections and to handle connects/disconnects. I encapsulate as much functionality as possible so the porting to android will be easy.

    I also understand now how to calculate the aperture min & max values from the lens data (value 2 & 3 in the response). So I can calculate the right aperture and send it to the cam. I still have not the full understanding of all values I get as lens data. Has anybody an idea what value 3 & 4 in lens data are about?

    @Brian_Siano: if we can figure out the minimum (close) /maximum (infinite) value for focus and are able to set a distinct focus value then it should be easy to implement your use case.

    I will update my prototype on the weekend and upload it once I get a stable version. So stay tuned

    P.S.: I've a G6 which I use for testing

  • @Lufthummel re the focus issue

    First of all, maybe we ought to refer to this feature as "settings cues." A shot may require having one set of focus, zoom, and aperture settings at one moment, another at a later moment, etc. So the user may have a list of these settings and, as the scene is being shot, taps a button to have the camera adjust to the next cue.

    Second, the focus thing may not require knowing the actual distances. These things depend on the lens, the zoom setting, the aperture, etc. It may only require that the camera "know" how the lens is set at a given moment-- some digital value that the web control can display. Maybe it can be 1 through 100, where 1 is the closest that the lens can focus, and 100 as the furthest. The user can refocus the lens before the shot, take note of the values, and plug those into the cue list.

    I still use a GH2, and boy, sometimes I wish I could control it via a USB cable.

  • @Lufthmmel Looking forward to this! @Brian_Siano if you get focus by the GUI and press a button and focus again and press a button and you wait the time from A to B and press a button... and the every time you press the button the saved scenery gets repeated, wouldn't that help? on top of that setting... lets say if you could adjust a curve? bezier preferred? ...just improvising.

  • I'm working on a wireless FF using Arduino borads and shields (add ons) and from my experience I can say, its quiet easy to set up a hardware_knob <-> USB_interface system (only getting it mechanically together is some work, e.g. putting it in a sturdy box;-) But what about an USB controller:

    http://store.griffintechnology.com/powermate

    or

    http://store.griffintechnology.com/powermate-bluetooth

    Thumbs up for the good work!

  • @hellrazor Not sure if I follow your description. But here's what I was thinking.

    1: You take your camera to the start point of your shot. You adjust focus, aperture, shutter speed, whatever. 2: On your web browser, a set of values for these settings appears. 3: When you have the settings right, you designate this set of values as "Set #1" 4: You move the camera to a point where the new settings will kick in. Again, you adjust focus, aperture, whatever. 5: Again, these new values appear on the web browser. 6: Again, when you have the settings right for this new camera position, you designate this "Set #2." 7: Repeat the above for any further changes during the shot. 8: Click on a button that says "Set #1." The camera adjusts to the first set of settings Begin the shot. 9: As the camera moves to the point described in step 4 above, you click on the "Set #2" button. The camera adjusts to the second set of settings.

    I should say that I don't own a GH3 yet, that I don't know if this is at all possible, and that you ought to focus on what current GH3 users want before trying to meet my suggestions. But if you like this idea, and if it's possible, I figure people might like this capability.

  • Thanks for this so far - a nice added help for me on the GH3.

  • I just had the experience that WLAN from the GM1 is good just for a couple of meters. Are there alternatives rather than keeping an Access Point (e.g. http://www.techreaction.net/2012/08/20/review-tp-link-wireless-n-150-nano-router-and-then-some/) nearby? Actually... I will investigate using OPENWRT on a tp-link 703n. Maybe we could run the app on it!

  • Here is my first (pre-) Alpha Version of my application available: https://code.google.com/p/iunxtio/

    The source is under the Apache License. In the moment the application is very chatty, and the structure not yet finalized. But I'll do my best to add all basic features in the next weeks. Any help is very appreciated!

    You will find a super JAR on the Wiki Tab (Downloads). To build from source best way is to use Maven, a Pom is part of the source. To start the program just type in: java -jar "name of jar file" on the command line. Start your Lumix and connect to your network. In the menu of the application just select "Connect". In the moment only LiveView, Shutter and Aperture are working. Please click on "Get Lens Info" to get the allowed aperture values.

    And keep in mind - this is currently just the prototype.

    You should also notice a lot of information in your terminal during the run of the application. This will be removed in later versions.

    enjoy!

    @lenuisible: thanks for your excellent effort, and I take some of your code as base for my program. If you dislike post me a note and I'll remove your code.

  • I can confirm aperture working, live view working and shutter release working, OS mavericks here.
    Thanks @Lufthummel, @lenuisible and all of you guys for the hard work =)

  • @valdi99 Thanks for testing and confirming that it works the same with the G6

    @Brian_Siano & @Psyco what you’d like to achieve is doable but the challenge will be to have smooth rack focusing because there is only 2 speeds available, and obviously those 2 speeds depend on the lens used. The slow one can be really slow, and you will be limited by the number of commands you can send to the camera with it staying up to speed.

    You could also use the "touch to focus" to memorize the different focus point you’re interested in, but I didn’t clearly understand what the value sent means when you touch the screen somewhere, it needs more work.

    @Lufthummel Thanks for working on this, it’s great to see someone looking into it. Do you have a way to capture the traffic between the camera and the app, or are you only using what’s provided in the html code ? Don’t hesitate to ask me if you need something, It may take some time as I may have to get my access point and switch out of the closet, but it’s doable during the week-end. Rgds

  • Currently I'm just re-implementing what you have already coded in your HTML page. I think this covers already most of the functionality which can be controlled remotely. I have also installed Wireshark which was helpful to get an idea about the UPnP traffic - but the CLING workbench is much better for it (http://4thline.org/projects/cling/). Next after coding basic functionality I try to understand what the UPnP services can really do.

    But thanks for your offer and I'll come back to you for sure :-)

  • Warning to all G6 users - do not install the latest firmware update 1.2! WiFi connection is even worse than ever. I'm not able to get a stable connection which lasts more than a few seconds!

    And they changed (!!!) the protocol so ImageApp, Lumix Link and my own App are not working correctly in the moment.

    Be aware of that!!

  • Some updates here on the protocol changes:

    Setting of the focus has changed: instead of the value 1024 for near and 0 for infinity focus it now seems that the range is 65535/0.

    The GET-Requests for focus are not working: http://ip/cam.cgi?mode=camctrl&type=focus&value=wide-fast ist not working and you are not getting any results until you press the shutter button on the camera. Response is : err_reject,5693464,5693444

    Same for wide-normal, tele-normal, tele-fast. But sometimes these commands seem to work . Live View is extremely slow, a lot of timeouts occur (both direct connection as well as if the G6 is part of my network).

    Other GET commands seem to work but sometimes I've strange reactions on the camera.

    Really interesting is the ping: <10ms on Windows or Android phone, >1800ms on OSX Maverick...

  • Hellouuuu! I got my new GM1 and tested your nice LiveView. But LiveView will stop after some seconds. I must click "Connect"-Button again to reactivate LiveView. BUT "shutter release" button works always! hope this helps.

  • Would very much like to download this, but having an epic fail. I appreciate that the code is in the LumixLink_stillCapture.jpg which needs to be renamed to .zip but not getting anything that can be unzipped. Any chance you could upload the code to a project on bitbucket or github?

  • @Zaphod no, you have to download "testLumixLinkv04.zip", unzip it, etc... You can also look at @Lufthummel code at https://code.google.com/p/iunxtio/

  • @lenuisible Looks like a great app! I'm interested in trying this but I can't find my gh3's ip address. I've used ip scanner and network utility but no luck.

    Does anyone know how to find this ip on a mac?

  • @andrevanberlo Do you mean the GH3's IP?
    System Preferences - Network - here it will show below the status when connected to camera's wifi.
    Also if you click in the Advanced buton and then go to TCP/IP tab =)

  • @maxr Got it!!! Thanks! Stupid thing is I've connected to this camera via wifi a million times but I never new where to look. :-)

  • I tried it with the Panasonic HC-V727 and it works!! I also added some missing commands, like record stop. But LiveView ist not working. Maybe it streams another video format. What can i do to determine what format is used?

  • @yasdfgr you can look at the 3rd post on 1st page, the "Network Capture" part. A rooted android device seems the simplest way.

  • This thread is very interesting! I was hopping to use the remote focus command to perform focus stacking on my new FZ1000. However the network doesn't seems to be working as the GH3, it seems that I absolutely need to do a direct link with a smartphone. Anyone knows if it is possible to remote control the fz1000 with this method?

    -Update: After playing a little bit more with the thing, I figured out that just needed to use a wireless laptop and do a direct connect rather than using my home network. The IP address of the FZ1000 is 192.168.54.1, I don't know if it is the case for all FZ1000... Most commands from the GH3 works, except that I will have to update some list with the actual FZ1000 possible values. (Ex ISO 125). Thanks a lot for sharing, very good stuff!

    -Update: I have very few knowledge in javascript. I think I managed to do something interesting so I tough it would be a good idea to share. Feel free to improve my solution for focus stacking. So here how it works:

    1-First start the Controls.html, then focus_stack.html. (Or you can add it as another Frame.) 2-Adjust your focus manually. (Not too far to start because the script goes in that direction.) 3-Adjust the number of shots per images. This is the number of shot to stack to make a picture. Note that at this time, the focus range is either normal or fast, so if you need the whole focusing range, you will need to increase this value. If you want less shots per pictures, edit the file focus_stack.html to set the speed to _fast instead of _normal. 4-Adjust the interval per image. This is the time between multiple picture. Example if you want to make a movie out of it. If you just want one picture, set this number very high, ex: 999999. 5-Click Start Focus Stacking. 6-Click again to stop when enough sample are capture.

    Don't forget if your address is different then 192.168.54.1 to edit the address in focus_stack.html. I made a global variable to have to change it to only one place...

    Enjoy!

    -Update: I forgot to mention, make sure to use electronic shutter when using my script as it can produce a large amount of pictures!

    focus_stack.zip
    2K
  • is this working with the GH4?

  • Probably yes

  • Yes, it works with the GH4. I'm currently add new features to my pure JAVA app (see code here -> https://code.google.com/p/iunxtio/ ) but running still in the timeout issue. After some seconds I got Socket Timeout exceptions:

    25.08.2014 18:20:31 de.olumix.iunxtio.gui.LiveViewPanel startLiveView INFO: java.net.SocketTimeoutException: Receive timed out

    Maybe somebody has an idea how to fix it - I would rather concentrate on new feature :-)

  • Does it work well with a G6 ?

  • With my G6 I've had the same problem. Maybe I've to "ping" the camera during the live view?

  • @maxbogue: this sounds very interesting! How fast can the FZ1000 shoot with your script? I mean how much time does it take i.e. to take 10 shots at different predefined focus settings? I do panoramic Gigapixel photos, sometimes with focus stacking. speed would be important in that case.

  • @Paroma: Actually my script trig a slow focus move and a picture every 250ms. But that was set arbitrary as it way fast enough for my use. As the camera can do 12fps, it guess it could go as fast as 90-150ms per focus+capture but I don't think it is necessary as with the actual speed, lets suppose you want 20 pictures for a stack which is huge, it would take only 5sec to proceed.

    The only drawback I found to this approach is that focussing range give a lower depth of field then moving the camera (As it is limited to the focus range, rather than the tripod range.) However the result is awesome as the camera is absolutely steady.

    You can open my web page, without connecting it to the camera first. You will see how it works. It run in a batch also. So in the web page you set the interval between two focus stacked picture. This is handy for video or for panoramas...

  • Case pips are focus stacking, an easy way to blend the images in PS CS4 and up =)

  • Hi,

    After I saw the great efforts from lenuisible, I remembered my old VB6 program from 2001 (13 years ago!) to control my beloved Casio QV3000.. I thought "why don't I adapt the program for Lumix cameras?".. Then I went into the code and changed the software..

    I have a Lumix FZ1000 but it should work with variety of lumix cameras with wifi capabilities. I don't know how zoom or focus work with interchangeable lens cameras, if you try, then let me know..

    It is a quick and dirty version, for now:
    no live view, 
    no picture preview or download, 
    you have to enter your camera's IP address manually
    You can only change focus, zoom, aperture, iso, shutter speed and exposure compensation
    you can shoot video and take pictures.
    error checks are not complete, so sometimes (but not frequently) it hangs.
    

    ...But my software was for a different purpose.

    You can record commands (like recording macro in Excel), then play them back as many times as you want. For example, you can record the following actions: 1. change focus a little bit 2. take a picture.

    then you can repeat this sequence 10 times .. and you got a bunch of pictures ready to blend for focus stacking..

    You can also use the program for video to adjust the focus at specific times. Just rehearse the scene and record the focusing actions, then repeat the sequence for the real video..

    You can download the program from http://www.dijitalakademi.com/lumixcontrol.zip

    You can save the sequences, and you can merge saved files, or repeat those files one after another. For example if you make a timelapse, you can change the camera settings after 7:00 pm to adjust the low light..

    The image below is a small help for the program.

    And you can watch a short video from here: http://www.dijitalakademi.com/P1640788.MP4 which is shot by the program after I recorded the actions. You can fine tune the action timings after you record them.. It generates this file (if you save the sequence)

    length of action (ms) | delay between two actions (ms) | action
     234 | 2730 | Record Start
     1400 | 3401 | Focus Tele Fast
     3400 | 3400 | Focus Tele Slow
     3588 | 3121 | Focus Wide Slow
     1731 | 3167 | Focus Wide Fast
     62 | 0 | Record Stop
    

    you can tweak every number after you record it, so you can precisely fine tune the focus, timings etc.. If you lower the values above the focus buttons, you get smoother focus transitions.. but lower than 50 might cause the program to hang. If it happens, simply kill the process and relaunch it. Remember, the distance between camera and computer (if you use direct connection) or router (if you use your network) greatly affects the performance of the program.

    Enjoy...

    Regards,

    Melih

    lumixControl.jpg
    1034 x 873 - 513K
  • I hope sometime to be able to set focus points in camera, like those some wireless ff keep in memory, and the camera to focus without gaps through wifi (for shooting video). Probably this would be a hack in firmware of the camera in combination with the wifi remote control. I don't know :(

  • @melihdummy this looks amazing unfortunately I was not able to install your application. It keeps saying my files must be updated. Even if I do the update and reboot as asked, the application wont install...

    Any advices?

    Being myself also a old VB programmer I was wondering if you be like to share your source with me so that I can do some experiments.

    Thanks

  • GH4 Camera Control and Video Preview on OS X: Results - Very Good!

    I searched for hours trying to find a way to get the Panasonic Image App on a Windows 8 Tablet or my Mac before I stumbled across this. I'm so glad I found it.

    This browser based software is like Panasonic Image App for OS X or Panasonic Image App for Windows.

    Equipment and Software Specs:

    • GH4 with v1.1 firmware

    • Lumix 12-35 lens with 1.2 firmware

    • OSX Yosemite 10.10.1

    • MacPro 5.1 (Mid 2010 12-core)

    • 32GB RAM

    • Safari 8.0.2

    • Comcast Arris TG862G wireless router with default settings.

    • v.04 software

    Procedure:

    • Downloaded the v.04 file and unzipped it. (The instructions for how to do this are VERY unclear and easily took the most time)

    • Downloaded and installed the latest Java (8u25).

    • Connected the GH4 to the Comcast wifi. (There are 10 other devices on this WIFI)

    • Found the IP of the GH4 in the router control panel under "Connected Devices"

    • Opened requests.html from the v.04 download in Text Edit (set to view html as code) and did a "find/replace" search to replace the IP address throughout the document with the IP from the GH4.

    • Opened "Control.html" (if you get to this step quickly enough, the camera won't have timed out of wifi waiting for the "Image App" to connect

    • Opened UDPServer.class

    • Switched back to Control.html in Safari

    • Clicked "recmode"

    • Clicked "Start Stream"

    Voila! Very hassle free.

    Tested successfully:

    • shutter speed

    • aperture

    • iso

    • focus

    • start record and stop record (by using the playmode button).

    • Live view worked flawlessly for the 20 minutes I used it. It was necessary to click "Start Stream" after using the "played" button to stop recording. The resulting 4k video files on the camera did not show any errors and played back normally.

    I did not test the other functions.

    Wow I would love to see this polished up. Combined with Melihdummy's focus control, easier install, and a pleasant interface (Which I would love to help with) and you would have a highly desirable, (salable if you care) product. What a great start. Thank you for writing it.

  • I got this to work with my LX100, but the screen size in the live view is very small. I am using a PC. Any idea how I can adjust the code to maximize the live view image? Thanks

  • Attached is a Python "security camera" program; it uses PIL to look for motion (simple image deltas with a dumb rolling average.) Run this from your Dropbox folder and, viola, free cloud-based security solution.

    Anyone know the protocol for deleting pics off the camera? I haven't been successful in sniffing network traffic between the app and my camera.

    For now I just download but never delete; be sure to clear your card every so often (format does the trick.)

    Edit monitor.py to set your IP's and run it...It'll show the rolling averages and tell you when it's capturing.

    gh4.zip
    4K
  • @cloudnein Cool script. I just tried it from my Raspberry Pi and it detects motion fine and takes pictures with my GX7. Question: How do I setup the script so the pictures download to my Raspberry from the camera? Right now the script says downloading, but nothing happens. Some kind of SOAP module for Python I need to download?

    TIA, David

  • @cloudnein Kind of solved. Transfering pictures work (but really slowly) when I only shoot jpegs. Fun script. :)

  • Must be a very strange question to many. But I could not figure out from where I can download this. Can some one point me to the right place to download this? Thanks.

  • I've just uploaded a new app to the play store. The app uses dlna to get a list of images from the camera and synchronizes all images to the Android device:

    https://play.google.com/store/apps/details?id=ch.masshardt.dlnacamsync

  • Hello,

    We are using Panasonic Camera - HC-V550M(FULL-HD). We have done the steps given for the JAVA program to run on Windows8. We are able to connect to the Camera using the Web commands. Also JAVA program is running and UDP port also created. But the Video or Picture is not streaming using Liveview.

    We would like to know the reason ? We have checked on Ubuntu machine in Terminal we are getting streamed data in UDP port. But we are not able to get in JAVA UI.

    Thank you.

    Image.jpg
    1280 x 800 - 244K
  • Hello,

    Has someone figured out how the GPS data log recorded on a smartphone is uploaded to a lumix APN which support geotagging with the help of Image App ? My plan is to record a GPS log on a dedicated device (a USB keylogger or a Raspberry Pi board with a GPS) and then upload it with the right protocol to the APN.

    Thanks !

  • Hi, has anyone thought about impersonating a Panasonic Camera with a software solution?

    What would be needed besides a web server and and cam.cgi implementation? What DLNA parts would have to be implemented?

    For instance, does anyone know how the official Panasonic Image App scans for a camera?

  • Hello there. Im really appreciate all great work you have doing. Im flying with a octocopter with my gh4. And luke to control exposure and iso ass well as focus and record remotely. Thinking to use arduino or raspberry pi.have some of you doing something like that? I do not need video feed. Thanks in advace

  • @lenuisiblelenuisible - dumb question...I see live view quality (vga/svga) in the screenshots but not in your UI's...Happen to know what URL format to turn on svga live view?

  • I am currently working on a solution for the hc-v727 All the stuff from "allmenu" works. The problem is that the camcorders seem to use a slightly different video protocol. The best i could imagine would be a way to get a 720p video feed over the local network like it can stream to ustream via stupid panasonic services.

    Btw. Has anyone an idea how to change the localisation to unlock the 60hz modes?

  • Hi all, I've updated my code significantly, mainly to improve reliability.

    But also I've added SSDP for camera IP address discovery and I've added a call to

    http://<IP>/cam.cgi?mode=setsetting&type=liveviewsize&value=vga
    

    to switch the live view to VGA resolution.

    Enjoy!

    gh4_security_cam.zip
    8K
  • thanks, this is such a great progress! Did anybody manage to run it on a Macbook??

  • @kilinko - you will need to install PIL...easiest is to install brew (http://brew.sh) and "brew install home-brew/python/pillow" (note the instructions at the end for adding the brew-installed Python libraries to the Python library system path.)

    Once you've done that, you should be good to go. (Will likely need to modify monitor.py to specify your IP address too...)

  • thanks @cloudnein ! If I'll get a Gh3 or gh4 then I'll try it.

  • Hello, in this thread I found most of the info for coding a download images script for the GF7.

    It works on debian GNU/Linux but should be easy to add other posix systems.

    Hopefully it will work also on GH3.

    Look at the first lines and configure it for your network.

    You can do the network setup by other means and comment the step into the file.

    This script is a rough version. Maybe I will work on it in the future and develop it in a public repository.

    Please re-lauch it a few times in order to get the multi-step auth working.

    And let me know if there are smart solution for syncing the camera images using free software!

    Enjoy!

    get_images_from_lumix.sh.txt
    3K
  • I started a thread about using the app with the GH4, with an eye to using it with an Android tablet or a Windows tablet running an Android emulator: http://www.personal-view.com/talks/discussion/14044/panasonic-image-app-use-with-laptops-and-tablets#Item_4

  • cool, so would this be useful on the android devices instead of using the Lumix ap?

  • Has anyone gotten this to work with the G7? I keep getting err_unsuitable_app.

  • Hi, thanks for all the info.

    I can communicate with my TZ 40 but did not manage to get a live stream (with the java UDPServer) or read thumbnails (with browseJPG). Has anybody got some experience with the TZ models?

  • the UDPServer actually works with the TZ 40, the program had just the wrong server IP. thank you!

  • Gonx, maybe CAMremote with Wifi support could be suitable for your drone to control GH4 using Wifi? http://vp-systems.eu/camremote.html

  • How is the current status? I can't access the code and am currently trying to get liveview to work with my v727 using qt but any solution to get liveview to work would be great. I can attach wireshark captures of the stream but i have no idea how that format on the v727 works. One time i got some jpegs out but that was pure luck and i can't remember what i did.

    raw.zip
    2K
  • I am happy to announce that i got a little qt program to control my HC-V727 with live view. It is strange that the other gh3 tool does not work. It also uses a simple jpeg stream. I just search for start and end bytes in the stream and display the image.

    But the stream seems to stop after around 10 seconds. It looks like you have to send some kind of reply and i have no idea what and when. Currently i just send a stream restart every 10 seconds.

    JPEG_0003.jpg
    4096 x 2304 - 980K
  • For anyone interested, this works with the Panasonic HX-A1 action camera as well (uses the same cam.cgi control + actions).

    How much money and where does it go? hahaha... seriously, this was a life saver.

  • Hi all. Maybe I'm just missing something, but I'm really struggling to connect my GH4 to our WiFi through an access point. I can't figure out, what's the right way to do this. Whenever I select one of the "WiFi" functions where I can select my network I have to select a computer afterwards. And actually I don't want to do anything right now. The camera should just hook up to the network, so that I can send commands to it. Is this possible? Thanks!

  • @lenuisible Thanks for the original work on this. It's helped me out.

    I just wanted to let people know that I'm working on a viewfinder app. --> Moved to new thread

    GH4 to iPhone5.jpg
    2000 x 1496 - 969K
  • @mjas

    May be good idea is to make special topic, as it is lot of GH4 owners here?

  • Please Marcus ( @mjas ) ad anamorphic de-squeeze in phone.

  • Hi. I have never been able to connect my GH3 to a router - or maybe it only happened once accidently. It just does not work - WiFi is random, and so is the Panasonic Android app Wi-Fi functionality. I don't think they have it figured out. I'm guessing it's still the same issue with GH4.

    It's surprising as Panasonic generally makes great products, so why can't they figure out Wi-Fi - that is anybody's guess. I have done too much testing and I'm not prepared to use it anymore, unless I really need to.

  • Hi. Thank to @lenuisible work, I have started to develop an Android application which aim at extending lumix camera features. It currently allows to take pictures when a change is detected in the camera stream. It do not aim at replacing Panasonic ImageApp, but aims at providing new features. You can find more information here: http://www.personal-view.com/talks/discussion/16436/eylca-control-fz1000-and-other-lumix-cameras-from-an-android-app

  • Hello, fellow GH3 users and devs. The original starting post is pure gold, got me inspired to spend 2 days coding yet another viewfinder app for android, I had this idea to implement 2 modes:

    • fit mode where the whole picture from the camera will be displayed (leaving some unused space on the screen, because of difference in aspect ratios)
    • fill mode where the whole phone screen is used and picture from the camera is upscaled and cropped so that user could see the central part of it in maximum size

    long story short, it worked and looked good until I realized that GH3 can't serve live video feed while recording a video (or in fact even saving a picture). Bummer! I think GH4 users are more lucky, so I'll maybe even finalize it if I could find some friendly GH4 user in my town to share camera for app testing.

    Question for other devs in the thread: so I guess there is no way to overcome it with GH3? Any thoughts?

  • Like Scopes app for idevices, please make some anamorphic de-squeeze previews.

  • Has anyone got the live view working in a broadcasting application like OBS or X-Split?

  • Does anyone find a command to perform a focus action?

  • Does anybody know format of UDP data between liveview frames? I can find instant aperture, shutter, iso, zoom and camera orientation but it gets shifted every time.

  • Hi,

    I've got an FZ1000 and I can't get focus working.

    I get "err_reject,0,0" when I try.

    I'm using the latest firmware for the camera. Please let me know if you have any success in making this work.

    EDIT // OK, I changed the physical camera mode with the focus dial to MF. This allows it to work.

  • Hi,

    I've got a solution for live view in VB6 (and VB.NET I assume) directly, without Java It uses the csxImage OCX control of Chestysoft (www.chestysoft.com).

    it's rather simple:

    Initialize ...

    ' UDP-Protokoll einstellen Winsock1.Close 'Winsock1 ->Microsoft Winsock control in VB Winsock1.Protocol = sckUDPProtocol

    ' Port, der überwacht werden soll nPort = 49199

    ' Eigene IP ermitteln sOwnIP = Winsock1.LocalIP

    ' Port an die IP "binden" Winsock1.Bind nPort, sOwnIP

    'geht nur im 'recmode' txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi? mode=camcmd&value=recmode") 'Inet1 ->Microsoft Inet control txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=startstream&value=49199") Timer1.Enabled = True 'damit der Datenfluß nicht abbricht txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=setsetting&type=liveviewsize&value=vga")

    ...

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim sData As String Dim bArray As Variant

    On Error Resume Next

    'im Stream werden ganze Bilder übertragen 'Header ist 167 Byte, Rest - JPG 'Das JPEG-Bild beginnt also bei Byte 168 (Lumix GX7)

    Winsock1.GetData sData, vbString

    sData = Mid(sData, 168) bArray = sData ImageBox1.ReadBinary2 bArray 'ImageBox1 ist the csxImage OCX

    End Sub

    Private Sub Timer1_Timer() Dim dummy As Variant

    If CameraIP.Text > "" Then If Not Inet2.StillExecuting Then dummy = Inet2.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=startstream&value=49199") 'Inet2 ->Microsoft Inet control End If

    End Sub

    The length of the header seems to be different in the cameras. For GX7 it is 167 bytes (the JPEG picture begins at FFD8, look for this bytes in a hex editor).

  • Sorry for the bad format, here are the snippets in a better form
    Initialize ...

    ' UDP-Protokoll einstellen
    Winsock1.Close 'Winsock1 ->Microsoft Winsock control in VB

    Winsock1.Protocol = sckUDPProtocol

    ' Port, der überwacht werden soll
    nPort = 49199

    ' Eigene IP ermitteln
    sOwnIP = Winsock1.LocalIP

    ' Port an die IP "binden"
    Winsock1.Bind nPort, sOwnIP

    'geht nur im 'recmode'
    txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=camcmd&value=recmode") 'Inet1 ->Microsoft Inet control

    txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=startstream&value=49199")

    Timer1.Enabled = True 'damit der Datenfluß nicht abbricht

    txtStatus.Text = Inet1.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=setsetting_ &type=liveviewsize&value=vga")

    ...

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim sData As String
    Dim bArray As Variant

    On Error Resume Next

    'im Stream werden ganze Bilder übertragen 'Header ist 167 Byte, Rest - JPG
    'Das JPEG-Bild beginnt also bei Byte 168 (Lumix GX7)

    Winsock1.GetData sData, vbString

    sData = Mid(sData, 168)

    bArray = sData

    ImageBox1.ReadBinary2 bArray 'ImageBox1 ist the csxImage OCX

    End Sub

    Private Sub Timer1_Timer()
    Dim dummy As Variant

    If CameraIP.Text > "" Then

    If Not Inet2.StillExecuting Then
    dummy = Inet2.OpenURL("http://" & CameraIP.Text & "/cam.cgi?mode=startstream_ &value=49199")
    'Inet2 ->Microsoft Inet control
    End If

    End If

    End Sub

  • Hello, i need help. When i turn on my gf7 after few mins the screen is getting stuck and i cannot turn it off. The only way to shut it down is by removing the battery. I cant use my camera because of this issue. Please help me..

  • Hi all, can you help me out?

    I am looking for a way to read the current aperture value of the GH5 via Wifi (browser?).

    It must be possible as the apps out there notice any changes made directly on the camera... But "/cam.cgi?mode=getinfo&type=lens" is not sufficient.

    Thank you in advance!

    Barkeeper

  • I can post a few projects that i worked on that were inspired from this initial discussion: 1) a driver for ASCOM platform that allows to integrate lumix cameras over Wifi in the astrophotography setup. This runs on windows - https://github.com/totoantibes/LumixCameraAscomDriver 2) an improvement (?!) on cloudnein PY script for home security. https://github.com/totoantibes/LumixSecurity 3) an inclusion of Lumix in libgphoto2 camlibs https://github.com/gphoto/libgphoto2 for those that are more unix focused.

  • Wow, i only found this great research & code after having bought a G9 and am about to sell my GH3. I used a HDMI capture box to use the GH3 as a webcam...

  • hey, anyone still interested in controlling Panasonic Lumix Cameras over Wifi? I adopted this script and made some improvements, it works with new cameras like Lumix S1, Lumix Gh5, Lumix Gh5s, and soon also Lumix S5IIX (need to handshake first i think).

    You can tweak many parameters (unfortunately not yet color temperature in Kelvin and some color shifts, this seems to be submitted through picture protocol ??!! from Lumix Sync App) and i made a multi camera control surface where you can add as many cameras a you like. Some values are same for all types of cameras, some are unique, so i tried to hard-code them depending on your camera but it´s too much work. better would be to start with a more powerful enviroment where you can parse the camera XML replys and get possible menu-entries from there. Also i want to add functions so you can set all cameras to same settings, sync recording start/stop or take fotos on all cameras at same time.

    if anyone is interested to get involved, please write below and i will start a new github repo since the old one was archived. cheers from Germany Christoph

    Bildschirmfoto 2023-06-27 um 22.10.44.png
    3454 x 1732 - 479K
  • Dear Christoph,

    I have a G9 with the latest firmware. Do you have a handshake for that? I'm currently building a project that needs automated picture taking, the WiFi http method here works with my GX80 but I'd like to use the higher quality G9. I only need to shoot individual images and get a response acknowledging the picture was saved.

    Thanks!!

  • Artworkfoto, I would be very interested in seeing if I can get it to work with my s5ii!