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 :
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.
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
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:
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.
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 :
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
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 :
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.
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
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!!!
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
I suggest to check Javascript and canvas in HTML5, I think you could make it without Java.
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
Looking at google it seems that you can make UDP work with Flash (and it is more common thing than Java now).
Chrome App can be good idea.
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 :
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.
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.
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).
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) :
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
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.
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).
"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!
@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)
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.
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.
noted
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. :-)
@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!
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
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.
@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. :)
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.
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!
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!
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?
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.
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.
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
May be good idea is to make special topic, as it is lot of GH4 owners here?
@Vitaliy_Kiselev Sure thing.
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:
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
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!
It looks like you're new here. If you want to get involved, click one of these buttons!