DuetLapse available for Alpha testing
-
@stuartofmt said in DuetLapse available for Alpha testing:
If you are using my DuetLapse.py then it will prevent starting twice - so you need to make sure it's stopped before starting it again
kill -s <pid> if you are running in background else CTL+C works.Heh - yeah, I might switch back to my DuetLapse, but take your ffmpeg command line. I have mine set to run and restart continuously, that way, I'll get a timelapse created every time a print starts.
John
-
If you are using systemd and it’s set up correctly then you should be fine with my version. All my code does on startup is look to see if there is an instance already running and if so - not create an additional instance (which would case “confusion”). Similarly systemd should not try to start a new instance if there is one already running (if you have it set up that way).
Bottom line, they should be compatible with each other. -
@stuartofmt said in DuetLapse available for Alpha testing:
If you are using systemd and it’s set up correctly then you should be fine with my version. All my code does on startup is look to see if there is an instance already running and if so - not create an additional instance (which would case “confusion”). Similarly systemd should not try to start a new instance if there is one already running (if you have it set up that way).
Bottom line, they should be compatible with each other.Yes, you are correct -- but I also have a little test script that attempts to launch an additional copy of DuetLapse that I use when testing new features. And it was attempting to launch THAT that caused my issues.
So, yes, I stuck with your version but did comment out the process related bits for testing.
-
I’ll add in a switch so you can control with / without the check. May be useful ...
-
@stuartofmt said in DuetLapse available for Alpha testing:
I’ll add in a switch so you can control with / without the check. May be useful ...
Lovely idea!
-
@stuartofmt My short test runs succeed, but longer runs fail. Looking at syslog, the output from ffmpeg is a bit hard to follow. I'm curious if you've tried any tests with more than 50 layers.
I've attached a trimmed section of my Raspberry Pi syslog in case you are interested.
There is one point (line 73) where it mentioned it can't find the file that (I think) it should be writing? Then perhaps it gets confused after that... Not sure if my use of a subdirectory is causing an issue there -- I'm taking advantage of one of your new flags.
DLVideos/DuetLapse1227201756.mp4: No such file or directory
This is the command line I'm using to launch DuetLapse:
/home/pi/DuetLapse/DuetLapse.py -duet railcore.localdomain -camera web -weburl http://octocore.localdomain:8081/snapshot -detect layer -basedir DLVideos -extratime 4
Thanks!
John
faillog.txt [0_1609120917817_faillog](Uploading 100%) -
I'll take a look in the morning but -- the basedir should be an absolute path without the trailing /
e.g /home/pi/DLVideos
-
Made some more changes:
Here https://github.com/stuartofmt/DuetLapse
Changed from print commands to logging option -logtype [console, file, both] default is both. If -logtype console then only written to the console. If -logtype file then a logfile is written to basedir with the name DuelLapse.log If -logtype both then written to the console and the logfile. Messages are prefixed by the ip address set by -duet. This is to distinguish between printers if multiple are used (see also -instances (below)
added a switch for inhibiting multiple instances -instances [single, oneip, many] default is single. If -instances single then the highlander principle applies. If -instances oneip then only one instance per duet ip address (set by -duet ip address). If -instances many then it's the wild west.
-
I took a look at the log - I think it's just the path. So try it with -basedir set as an full path i.e. with leading / and no trailing / as I suggested above.
Also - as a side note - I saw your systemctl restarting the script. I'm not entirely sure why it would not have worked with the single instance being enforced but I changed the exit(x) commands (apparently more applicable for interactive use) to sys.exit(x). The documentation suggests the latter is better form ...
-
@stuartofmt said in DuetLapse available for Alpha testing:
I took a look at the log - I think it's just the path. So try it with -basedir set as an full path i.e. with leading / and no trailing / as I suggested above.
Also - as a side note - I saw your systemctl restarting the script. I'm not entirely sure why it would not have worked with the single instance being enforced but I changed the exit(x) commands (apparently more applicable for interactive use) to sys.exit(x). The documentation suggests the latter is better form ...
I'll give the new version a shot. I'll change -basedir to
/home/pi/DLVideos
Thanks!
-
I just tried with 264 images - no problems creating the Video file.
-
@stuartofmt said in DuetLapse available for Alpha testing:
I just tried with 264 images - no problems creating the Video file.
Correcting the -basedir to full path fixed my issues. The "held frame" is working great.
Not the fanciest timelapse, but shows the hold: https://youtu.be/LW6hV-MECns
Thanks!
-
Looks like you have a nice setup.
I'm looking at a couple of other tweaks (e.g. updating the Duet API calls to the newest style) and making the package a single python script rather than two. I am looking at incorporate a capability or two from the other forks.
When that is done - I think we can start another thread without the "alpha" description (DuetLapse2 ?). I suspect the "alpha' bit turns a few folks off.
Will post the changes when I am done.
P.S. Unrelated and from a small side project - I noticed that the mp4 output from ffmpeg (depending on settings) may not be compatible with iphone/ipad e.g if sent as a text or email attachment. Not sure if the output from DueatLapse has the same problem but will check. If it does I'll tweak accordingly.
-
@stuartofmt please add this https://github.com/jaysuk/DuetWebAPI to the Readme. The old one of Danal does not work anymore with Duet 3 + SBC
-
In the next few days (maybe a week) I will be working on this comment "I'm looking at a couple of other tweaks (e.g. updating the Duet API calls to the newest style) and making the package a single python script rather than two"
Specifically - updating the API calls to the newest Duet standard and doing away with the separate DuetWebAPI. It (the separate API has unneeded calls etc. and use the old API versions).
When done - it should be good to go for Duet # + SBC. As they say in the classics -- "Stay tuned"
-
I have started a new thread with a new version of DuetLapse here:
https://forum.duet3d.com/topic/20932/duetlapse3
Partly because this thread is quite long and difficult to track through and also because the new version has a lot of modifications.
@PCR This should work fine with Duet 3+ SBC
-
pi@duet3:~/DuetLapse $ python3 ./DuetLapse.py -camera web -weburl http://168.172.185.177:8888/videostream.cgi -duet 168.172.188.18 -seconds 20 -detect none
Attempting to connect to printer at 168.172.188.18
http://168.172.188.18 does not appear to be a RRF2 or RRF3 printer
Device at 168.172.188.18 either did not respond or is not a Duet V2 or V3 printer.I am trying to start my timelapse. what could be the problem. not password on my deut3, can access from web browsers.
duet3 6HC + SBC
-
@bothamichael this version isn't maintained anymore. you need to use duetlapse3 instead
https://forum.duet3d.com/topic/20932/duetlapse3?_=1620132755569