DuetLapse3
-
@stuartofmt
The problem was the usb port. The snapshot works with camera2, but the picture is so dark that you can't see anything -
@Proschi78 said in DuetLapse3:
@stuartofmt
The problem was the usb port. The snapshot works with camera2, but the picture is so dark that you can't see anythingI would like to help but you need to provide details of what you are doing. At a minimum, please post the logfile with -verbose.
If you are using usb then fswebcam is being used.
If you are not getting images from the stream, then likely you have the wrong url in the commandline.In both cases - the quality of the image is down to the settings on the program that is serving those images. DuetLapse does not manipulate the images, it only copies and shows what is there.
if fswebcam now works (before it did not) then something has changed.
What do you want to use: fswebcam (usb) or streaming ? Lets stick with one as jumping around just muddies the waters.
There are just too many combinations of software settings and cameras - some work together, some do not. This is all BEFORE DuetLapse.
-
@stuartofmt I'll save the log today. I actually want to use the stream to take the pictures. The dark image was not made with the mjpeg streamer. It looks like he used something else. No idea why
2023-01-14 11:29:12,549 - MainThread - DUETLAPSE3 LOGFILE 2023-01-14 11:29:12,549 - MainThread - /home/pi/Duetlapse/RepetierServer/192-168-178-91/startup.log 2023-01-14 11:29:12,549 - MainThread - ------------------------------------------------------------------------------- 2023-01-14 11:29:12,550 - MainThread - ################### Options at start of this print job ##################### 2023-01-14 11:29:12,550 - MainThread - # Environment 2023-01-14 11:29:12,550 - MainThread - -duet = 192.168.178.91 2023-01-14 11:29:12,550 - MainThread - -basedir = /home/pi/Duetlapse 2023-01-14 11:29:12,550 - MainThread - -poll = 12 2023-01-14 11:29:12,551 - MainThread - -instances = single 2023-01-14 11:29:12,551 - MainThread - -logtype = both 2023-01-14 11:29:12,551 - MainThread - -nolog = False 2023-01-14 11:29:12,551 - MainThread - -verbose = True 2023-01-14 11:29:12,552 - MainThread - -host = 0.0.0.0 2023-01-14 11:29:12,552 - MainThread - -port = 8025 2023-01-14 11:29:12,552 - MainThread - -keeplogs = False 2023-01-14 11:29:12,552 - MainThread - -novideo = False 2023-01-14 11:29:12,552 - MainThread - -deletepics = False 2023-01-14 11:29:12,553 - MainThread - -maxffmpeg = 2 2023-01-14 11:29:12,553 - MainThread - -keepfiles = False 2023-01-14 11:29:12,553 - MainThread - # Execution 2023-01-14 11:29:12,554 - MainThread - -dontwait = False 2023-01-14 11:29:12,554 - MainThread - -seconds = 0 2023-01-14 11:29:12,555 - MainThread - -detect = layer 2023-01-14 11:29:12,555 - MainThread - -pause = no 2023-01-14 11:29:12,555 - MainThread - -movehead = [0, 0] 2023-01-14 11:29:12,555 - MainThread - -rest = 1 2023-01-14 11:29:12,556 - MainThread - -standby = False 2023-01-14 11:29:12,556 - MainThread - -restart = False 2023-01-14 11:29:12,556 - MainThread - # Camera 2023-01-14 11:29:12,556 - MainThread - -camera1 = usb 2023-01-14 11:29:12,556 - MainThread - -camera2 = stream 2023-01-14 11:29:12,556 - MainThread - -weburl1 = http://192.168.178.70:8081/?action=stream 2023-01-14 11:29:12,557 - MainThread - -weburl2 2023-01-14 11:29:12,557 - MainThread - # Video 2023-01-14 11:29:12,557 - MainThread - -extratime = 0 2023-01-14 11:29:12,557 - MainThread - -fps = 10 2023-01-14 11:29:12,557 - MainThread - -minvideo = 5 2023-01-14 11:29:12,558 - MainThread - -maxvideo = 0 2023-01-14 11:29:12,558 - MainThread - # Overrides 2023-01-14 11:29:12,558 - MainThread - -camparam1 2023-01-14 11:29:12,559 - MainThread - -camparam2 2023-01-14 11:29:12,559 - MainThread - -vidparam1 2023-01-14 11:29:12,559 - MainThread - -vidparam2 2023-01-14 11:29:12,560 - MainThread - # UI 2023-01-14 11:29:12,560 - MainThread - -hidebuttons = False 2023-01-14 11:29:12,560 - MainThread - # Special Functions 2023-01-14 11:29:12,560 - MainThread - -execkey 2023-01-14 11:29:12,561 - MainThread - ----------------------------------------------------------------------- 2023-01-14 11:29:12,561 - MainThread - ########################################################## 2023-01-14 11:29:12,562 - MainThread - Will start capturing images on first layer change 2023-01-14 11:29:12,562 - MainThread - ########################################################## 2023-01-14 11:29:12,562 - MainThread - ########################################################## 2023-01-14 11:29:12,562 - MainThread - Video will be created when printing ends 2023-01-14 11:29:12,563 - MainThread - or if requested from the browser interface or M117 DuetLapse3. message 2023-01-14 11:29:12,563 - MainThread - ########################################################## 2023-01-14 11:29:12,563 - MainThread - ########################################################## 2023-01-14 11:29:12,563 - MainThread - If running from a console using the command line 2023-01-14 11:29:12,564 - MainThread - Press Ctrl+C one time to stop the program and create a video. 2023-01-14 11:29:12,564 - MainThread - ########################################################## 2023-01-14 11:29:12,564 - MainThread - url: http://192.168.178.91/rr_model?key=boards post: False 2023-01-14 11:29:12,580 - MainThread - ############################################################### 2023-01-14 11:29:12,580 - MainThread - Connected to printer at 192.168.178.91 2023-01-14 11:29:12,580 - MainThread - Using Duet version 3.5beta1 2023-01-14 11:29:12,580 - MainThread - Using API interface rr_model 2023-01-14 11:29:12,580 - MainThread - ############################################################### 2023-01-14 11:29:12,581 - MainThread - url: http://192.168.178.91/rr_gcode?gcode=M117 "" post: False 2023-01-14 11:29:12,593 - MainThread - ########################################################## 2023-01-14 11:29:12,593 - MainThread - ***** Started http listener ***** 2023-01-14 11:29:12,593 - MainThread - ########################################################## 2023-01-14 11:29:12,594 - gcodeLoop - ########################### 2023-01-14 11:29:12,594 - gcodeLoop - Starting gcode Listener 2023-01-14 11:29:12,594 - gcodeLoop - ########################### 2023-01-14 11:29:12,595 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:12,595 - MainThread - Initiating with action set to start 2023-01-14 11:29:12,595 - gcodeLoop - Getting Status 2023-01-14 11:29:12,596 - MainThread - ++++++ start state requested ++++++ 2023-01-14 11:29:12,599 - MainThread - nextAction requested stopCaptureLoop 2023-01-14 11:29:12,600 - MainThread - captureLoop is not running 2023-01-14 11:29:12,600 - MainThread - nextAction satisfied waitforCaptureLoop 2023-01-14 11:29:12,601 - MainThread - ++++++ Determining next logical action ++++++ 2023-01-14 11:29:12,596 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:12,604 - captureLoop - Starting Capture Loop 2023-01-14 11:29:12,609 - MainThread - ++++++ Entering start state ++++++ 2023-01-14 11:29:12,609 - captureLoop - ****** Duet status changed to: Not yet determined ***** 2023-01-14 11:29:12,609 - MainThread - nextAction exiting normally 2023-01-14 11:29:12,610 - captureLoop - ****** Print State changed to: Waiting ***** 2023-01-14 11:29:16,036 - Thread-1 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:17,625 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:17,626 - gcodeLoop - Getting Status 2023-01-14 11:29:17,631 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:22,036 - Thread-2 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:22,657 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:22,657 - gcodeLoop - Getting Status 2023-01-14 11:29:22,660 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:24,622 - captureLoop - ****** Duet status changed to: processing ***** 2023-01-14 11:29:24,623 - captureLoop - ****** Print State changed to: Capturing ***** 2023-01-14 11:29:24,624 - captureLoop - ****** Print State changed to: Capturing ***** 2023-01-14 11:29:24,624 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:24,625 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:24,643 - captureLoop - Calling function Status from Check for Pause with rr_model 2023-01-14 11:29:24,643 - captureLoop - Getting Status 2023-01-14 11:29:24,644 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:24,663 - captureLoop - Layer - Camera1: capturing frame 1 at layer 3 after layer change 2023-01-14 11:29:24,664 - captureLoop - Created working directory: /home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1 2023-01-14 11:29:24,666 - captureLoop - Calling function Jobname from renameworkingDir with rr_model 2023-01-14 11:29:24,667 - captureLoop - url: http://192.168.178.91/rr_model?key=job.file.fileName post: False 2023-01-14 11:29:24,684 - captureLoop - Renaming working directory: /home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts 2023-01-14 11:29:24,712 - captureLoop - Command Failure: fswebcam --quiet --no-banner /home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera1_00000001.jpeg 2023-01-14 11:29:24,712 - captureLoop - [31mError selecting input 0 [0m[31mVIDIOC_S_INPUT: Device or resource busy [0m 2023-01-14 11:29:24,713 - captureLoop - !!!!! There was a problem capturing an image !!!!! 2023-01-14 11:29:24,713 - captureLoop - elapsed: 12.148980379104614 2023-01-14 11:29:24,713 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:24,713 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:24,729 - captureLoop - Calling function Status from Check for Pause with rr_model 2023-01-14 11:29:24,729 - captureLoop - Getting Status 2023-01-14 11:29:24,730 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:24,745 - captureLoop - Layer - Camera2: capturing frame 1 at layer 3 after layer change 2023-01-14 11:29:25,015 - captureLoop - Command Exception: ffmpeg -threads 1 -loglevel quiet -y -i -vframes 1 -threads 1/home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera2_00000001.jpeg 2023-01-14 11:29:25,015 - captureLoop - Command 'ffmpeg -threads 1 -loglevel quiet -y -i -vframes 1 -threads 1/home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera2_00000001.jpeg' returned non-zero exit status 1. 2023-01-14 11:29:25,016 - captureLoop - !!!!! There was a problem capturing an image !!!!! 2023-01-14 11:29:25,016 - captureLoop - elapsed: 12.45192813873291 2023-01-14 11:29:25,016 - captureLoop - Calling function Status from unPause with rr_model 2023-01-14 11:29:25,016 - captureLoop - Getting Status 2023-01-14 11:29:25,016 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:27,686 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:27,687 - gcodeLoop - Getting Status 2023-01-14 11:29:27,690 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:28,038 - Thread-3 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:32,714 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:32,715 - gcodeLoop - Getting Status 2023-01-14 11:29:32,718 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:34,041 - Thread-4 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:37,037 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:37,038 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:37,055 - captureLoop - elapsed: 24.49109148979187 2023-01-14 11:29:37,056 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:37,056 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:37,072 - captureLoop - elapsed: 24.507537603378296 2023-01-14 11:29:37,072 - captureLoop - Calling function Status from unPause with rr_model 2023-01-14 11:29:37,073 - captureLoop - Getting Status 2023-01-14 11:29:37,073 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:37,742 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:37,743 - gcodeLoop - Getting Status 2023-01-14 11:29:37,745 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:40,037 - Thread-5 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:42,771 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:42,771 - gcodeLoop - Getting Status 2023-01-14 11:29:42,774 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:46,044 - Thread-6 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:47,801 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:47,806 - gcodeLoop - Getting Status 2023-01-14 11:29:47,807 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:49,103 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:49,103 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:49,114 - captureLoop - Calling function Status from Check for Pause with rr_model 2023-01-14 11:29:49,115 - captureLoop - Getting Status 2023-01-14 11:29:49,115 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:49,128 - captureLoop - Layer - Camera1: capturing frame 1 at layer 4 after layer change 2023-01-14 11:29:49,143 - captureLoop - Command Failure: fswebcam --quiet --no-banner /home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera1_00000001.jpeg 2023-01-14 11:29:49,143 - captureLoop - [31mError selecting input 0 [0m[31mVIDIOC_S_INPUT: Device or resource busy [0m 2023-01-14 11:29:49,143 - captureLoop - !!!!! There was a problem capturing an image !!!!! 2023-01-14 11:29:49,144 - captureLoop - elapsed: 36.57973766326904 2023-01-14 11:29:49,144 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:29:49,144 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:29:49,158 - captureLoop - Calling function Status from Check for Pause with rr_model 2023-01-14 11:29:49,159 - captureLoop - Getting Status 2023-01-14 11:29:49,159 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:49,172 - captureLoop - Layer - Camera2: capturing frame 1 at layer 4 after layer change 2023-01-14 11:29:49,429 - captureLoop - Command Exception: ffmpeg -threads 1 -loglevel quiet -y -i -vframes 1 -threads 1/home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera2_00000001.jpeg 2023-01-14 11:29:49,430 - captureLoop - Command 'ffmpeg -threads 1 -loglevel quiet -y -i -vframes 1 -threads 1/home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts/Camera2_00000001.jpeg' returned non-zero exit status 1. 2023-01-14 11:29:49,430 - captureLoop - !!!!! There was a problem capturing an image !!!!! 2023-01-14 11:29:49,430 - captureLoop - elapsed: 36.866106033325195 2023-01-14 11:29:49,430 - captureLoop - Calling function Status from unPause with rr_model 2023-01-14 11:29:49,431 - captureLoop - Getting Status 2023-01-14 11:29:49,431 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:52,043 - Thread-7 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:29:52,829 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:52,829 - gcodeLoop - Getting Status 2023-01-14 11:29:52,832 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:57,859 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:29:57,859 - gcodeLoop - Getting Status 2023-01-14 11:29:57,862 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:29:58,041 - Thread-8 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:30:01,457 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:30:01,458 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:30:01,477 - captureLoop - elapsed: 48.913480281829834 2023-01-14 11:30:01,479 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:30:01,479 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:30:01,496 - captureLoop - elapsed: 48.932276010513306 2023-01-14 11:30:01,497 - captureLoop - Calling function Status from unPause with rr_model 2023-01-14 11:30:01,498 - captureLoop - Getting Status 2023-01-14 11:30:01,499 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:02,888 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:30:02,888 - gcodeLoop - Getting Status 2023-01-14 11:30:02,891 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:04,035 - Thread-9 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:30:07,918 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:30:07,919 - gcodeLoop - Getting Status 2023-01-14 11:30:07,922 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:10,037 - Thread-10 - !!!!! http call: {'displayStatus': ['true']} !!!!! 2023-01-14 11:30:12,450 - Thread-11 - !!!!! http call: {'displayFiles': ['true']} !!!!! 2023-01-14 11:30:12,451 - Thread-11 - list_dir called with path = /home/pi/Duetlapse/RepetierServer/192-168-178-91 2023-01-14 11:30:12,451 - Thread-11 - Finished parsing the files directory 2023-01-14 11:30:12,944 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:30:12,945 - gcodeLoop - Getting Status 2023-01-14 11:30:12,948 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:13,530 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:30:13,530 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:30:13,549 - captureLoop - elapsed: 60.98456144332886 2023-01-14 11:30:13,549 - captureLoop - Calling function Layer from oneInterval with rr_model 2023-01-14 11:30:13,550 - captureLoop - url: http://192.168.178.91/rr_model?key=job.layer post: False 2023-01-14 11:30:13,567 - captureLoop - elapsed: 61.002771615982056 2023-01-14 11:30:13,568 - captureLoop - Calling function Status from unPause with rr_model 2023-01-14 11:30:13,568 - captureLoop - Getting Status 2023-01-14 11:30:13,568 - captureLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:14,677 - Thread-12 - !!!!! http call: {'displayVideo': ['true']} !!!!! 2023-01-14 11:30:15,608 - Thread-13 - !!!!! http call: {'displayFiles': ['true']} !!!!! 2023-01-14 11:30:15,608 - Thread-13 - list_dir called with path = /home/pi/Duetlapse/RepetierServer/192-168-178-91 2023-01-14 11:30:15,610 - Thread-13 - Finished parsing the files directory 2023-01-14 11:30:17,972 - gcodeLoop - Calling function Status from gcodelistener with rr_model 2023-01-14 11:30:17,973 - gcodeLoop - Getting Status 2023-01-14 11:30:17,978 - gcodeLoop - url: http://192.168.178.91/rr_model?key=state post: False 2023-01-14 11:30:19,410 - Thread-14 - !!!!! http call: {'getfile': ['/home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts.log']} !!!!! 2023-01-14 11:30:19,412 - Thread-14 - Trying to get file /home/pi/Duetlapse/RepetierServer/192-168-178-91/7123_1_Speed_rechts.log 2023-01-14 11:30:19,444 - Thread-14 - application/octet-stream
-
@stuartofmt thanks for your help, i got it working
-
@Proschi78
Its important for other people reading these posts that they benefit from what works. That feedback is very helpful.I can see, from the logfile that the usb camera ( -camera1 usb) was failing AND the stream camera (-camera 2 stream) was failing.
How did you get it working? Did you us the command line that I recommended ? If no - what did you use?
-
@stuartofmt use the following for the mjpeg streamer
python3 DuetLapse3.py -port 8025 -duet 192.168.178.91 -detect layer -weburl1 http://192.168.178.70:8081/?action=snapshot -camera1 web
How do I enable it to automatically generate a video when it ends?
pi@RepetierServer:~/Duetlapse $ 192.168.178.91 terminate - Terminating 192.168.178.91 nextAction - ++++++ Entering terminate state ++++++ 192.168.178.91 terminate - captureLoop is not running 192.168.178.91 nextAction - nextAction exiting normally 192.168.178.91 terminate - Wait for video to complete 192.168.178.91 terminate - makeVideo is not running 192.168.178.91 terminate - ***** Cleaning up files for phase: terminate ***** 192.168.178.91 terminate - ********* gcodeLoopState is 0 - Waiting to complete ********* 192.168.178.91 Thread-332 - !!!!! http call: {'displayStatus': ['true']} !!!!! 192.168.178.91 terminate - !!!!! http listener stopped !!!!! 192.168.178.91 terminate - Program Terminated Killed ^C
-
I am pleased to announce the release of version 5.0.0 of DuetLapse3.
Thanks to the good graces of the Duet3D team, I will soon be developing against an SBC. This release is the first step towards a plugin. The UI is completely refactored and there are some new features as well (e.g. being able to set the maximum video length).
See the first post for download links
VERSION 5.0.x
Note .x releases are issued without documentation to correct minor issues e.g. a typo or edge-case logic error.[1] Completely revised UI
[2] Added display of last captured image to UI
[3] Added ability to specify a config file with -file option This avoids the need for long command lines. Options in command line over-write those in config file
[4] Added -maxvideo. Limits the maximum length of video by varying fps as needed
[5] Added ability to change -fps -minvideo and -maxvideo in the UI
[6] UI gives indication of video creation status
[7] Changed logfile name on startup
[8] Sequential jobs are numbered
[9] Misc bug fixesEnjoy and as always, feedback and suggestions are welcome.
-
@Proschi78
I have no idea. You did not use -verbose.
Instead of copy paste the log file its best to upload the logfile.The logfile can be downloaded by clicking on the link for the logfile. The currently running logfile is the one at the top (shown highlighted in this example). Previous logfiles are below. You can use the -keepfiles option to maintain some history.
-
ok i do it again with verbose
-
@Proschi78 said in DuetLapse3:
ok i do it again with verbose
Version 5.0.3 has been posted to github. It has a few changes from the version I gave you access to. Mostly these are cosmetic but its best to be on this version.
-
Wanted to bring to your attention Verson 5.0.x.
I got side-tracked with some significant code re-arangement ( same functionality). The ability to set max video length is formally included.Please let me know what you think.
-
-
@stuartofmt I couldn't try it anymore. But the new version didn't start at all
-
@Proschi78 said in DuetLapse3:
@stuartofmt I couldn't try it anymore. But the new version didn't start at all
A logfile with -verbose will reveal all.
-
@stuartofmt said in DuetLapse3:
Wanted to bring to your attention Verson 5.0.x.
I got side-tracked with some significant code re-arangement ( same functionality). The ability to set max video length is formally included.Please let me know what you think.
@stuartofmt Thanks, I'll take a look!
-
It doesn't seem to be making any videos for me. I see that the temporary folder is created during the print but no video. I'll attach a log file.
481_1_overhang_test_mini.log.txt -
Thanks for the logfile. There may be two problems and a "condition".
The likely problem.
You start Duetlapse in standby state but nothing tells it to go to start state. As a result there is no attempt to capture images hence no video can be created.
In the options:
2023-01-24 17:40:55,863 - terminate - -standby = True
The logfile shows DuetLapse entering standby state:
2023-01-24 17:40:55,944 - terminate - ++++++ Entering standby state ++++++
But there is nothing that takes it out of standby state. In fact, throughout most of the log, DuetLapse is simply looking for a command.
In the logfile, towards the end of the print (I'm assuming), there is a command to DuetLapse
2023-01-25 16:48:23,135 - gcodeLoop - M117 Command: DuetLapse3.completed
Did you intended the gcode to take DuetLapse out of standby mode with:
M117 DuetLapse3.start ; start G4 S10
Either , the command is missing from the gcode or DuetLapse did not "see" the command.
The condition
There are a few instances where there are network issues in the log. Most are sub-second (not uncommon in my experience). It is possible that DuetLapse did not see the start command because it was sent during a network issue. This would be plain bad luck
There is a network disconnect that lasts about 3 minutes. On reconnect, DuetLapse goes back to its previous (standby) state :
2023-01-25 10:39:05,717 - gcodeLoop - Cannot connect to the printer <snip> 2023-01-25 10:42:52,139 - checkforConnection - ----------------------- Reconnected to printer ---------------------- <snip> 2023-01-25 10:42:57,145 - nextAction - nextAction resuming after reconnect target = standby
The same pattern occurs at 11:50
The second problem
At the end after the command to complete the print job; DuetLapse tries, correctly (for the first time), to get an image and make copies to satisfy the
-extratime 2
option.There is an error because this command failed
wget --auth-no-challenge -nv -O /home/pi/ftp/files/DuetLapse/octopi/192-168-1-8/481_1_overhang_test_mini/Camera1_00000102.jpeg "http://cam.local:8765/picture/1/current/"
i.e. it could not get an image from the camera.I'm concerned about this for two reasons (1) Is the camera working / are the parameters correct and (2) I do not expect to see the image file being requested as number
102
I recommend you verify that you can capture images using the following from the command line:
wget --auth-no-challenge -nv -O ./test.jpeg "http://cam.local:8765/picture/1/current/"
I will take a look and see why the image number is not what I expect. Its possible that I have a bug that somehow prevented attempts to capture images but the code logic does not change based on camera type.
2023-01-25 16:48:31,220 - nextAction - Command Exception: wget --auth-no-challenge -nv -O /home/pi/ftp/files/DuetLapse/octopi/192-168-1-8/481_1_overhang_test_mini/Camera1_00000102.jpeg "http://cam.local:8765/picture/1/current/" > /dev/null 2>&1 2023-01-25 16:48:31,221 - nextAction - Command 'wget --auth-no-challenge -nv -O /home/pi/ftp/files/DuetLapse/octopi/192-168-1-8/481_1_overhang_test_mini/Camera1_00000102.jpeg "http://cam.local:8765/picture/1/current/" > /dev/null 2>&1' returned non-zero exit status 1. 2023-01-25 16:48:31,222 - nextAction - !!!!! There was a problem capturing an image !!!!! 2023-01-25 16:48:31,222 - nextAction - Copying last frame to extend video by 2 seconds
-
@stuartofmt
I executed the command that you listedwget --auth-no-challenge -nv -O ./test.jpeg "http://cam.local:8765/picture/1/current/"
and an image file was created. I downloaded it and it was what I expected. I updated my router firmware and changed some settings, I also added a -port modifier to duetlapse, but I still get the wget --auth-no-challenge error and no images are captured. Here's another log file if it helps.
604_3_Fidgit3_resize.log.txtPS I also did an apt full-upgrade on my duetlapse pi and my camera server and updated to the latest dev version of motioneye.
-
@osterac said in DuetLapse3:
wget --auth-no-challenge -nv -O
The earler problem was clearly the lack of start command. Now however, its clearly the wget that is unhappy.
I'm not sure why because the command is being reported as syntactically identical when executed by DuetLapse3 as the one you proved to be working at the command line.
Try this version of DuetLapse3. All I have done is use a different form of the wget command ( -v instead of -nv) when -verbose is set.
Hopefully this will generate better output from wget as to why it is unhappy.DuetLapse3.py -
@stuartofmt
ran a print with the new script. log:
604_1_xyzCalibration_cube.log.txt