Comments (20)
I see what you mean. I'll figure out the fastest workaround, the best would be to just hold 1 state and no matter how many browser window you open, you see the current state of the process. But this may not be so straightforward to implement.
The other workaround would be something like you say, keep the current behaviour (it actually doesn't stop counting when you close the window, it stops counting when you refresh the page or make another request from another browser), but store the counting data in a file that we can access later on..
from opendatacam.
Ok done, now the behaviour is that if you refresh the windows (or close it and open it later), it will display the current state of the process and not restart everything.
So this workflow should works now:
- Open the app, define counting area start counting
- Close the browser windows, the jetson keep counting
- Open again the browser window, it will display the counting screen with the current counting info. You can stop it then and download the data.
Please test it and tell me if this works.
I've added a note about updating the code of the app in the README: https://github.com/moovel/lab-open-data-cam#bonus-update-the-open-data-cam-app-when-you-have-already-set-up-everything
Also great work on the more detailed install guide, but just one modification to it, you do not need to install next globally, it will install it localy on npm install. I just had forgotten to add in the README the build step... I've seen you figured it out, just for you to know that npm run build
will call the next build but you do not need to have it installed globaly. (it can triggers bug to have it installed globaly if it's not the same version)
from opendatacam.
@florianporada and I just tried the data cam after your update. We noticed the following at the counter:
- icons do not load
- nothing gets detected
- screen stays like in the image (0 fps, 0 objects detected, 0 min)
Any idea why this happens?
from opendatacam.
Could you try to run the node app manually in the terminal to see what happen in the logs ? It seems that the app is crashing when starting yolo.
Do something like (directly on the jetson ubuntu interface)
# Stop the app running in pm2
pm2 stop open-traffic
# Start the app manually in a terminal
npm run build
npm run start
# Open a browser windows and load the app at http://localhost:8080
Interact with the app and see if the logs at telling you something meaninfull
from opendatacam.
Here is the log:
nvidia@tegra-ubuntu:~/lab-open-data-cam$ sudo npm run start
> [email protected] start /home/nvidia/lab-open-data-cam
> PORT=8080 NODE_ENV=production node server.js
Please specify the path to the raw detections file
Process YOLO initialized
Process WebcamStream initialized
> Ready on http://localhost:8080
> Ready on http://192.168.2.1:8080
WebcamStream: Sub-Process Stream webcam started
WebcamStream: Sub-Process FFServer started
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
ffserver version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
ffserver.conf:42: Setting default value for video bit rate = 64000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video bit rate tolerance = 32000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video max rate = 128000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video buffer size = 128000. Use NoDefaults to disable it.
bind(port 8090): Address already in use
Wed Mar 7 12:07:56 2018 Could not start server
[video4linux2,v4l2 @ 0x4c55c0] The V4L2 driver changed the video from 1280x720 to 1024x768
[mjpeg @ 0x4c6110] Changeing bps to 8
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 5489.128486, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1024x768 [SAR 1:1 DAR 4:3], -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[swscaler @ 0x4db870] deprecated pixel format used, make sure you did set range correctly
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
Metadata:
creation_time : 2018-03-07 12:07:57
encoder : Lavf56.40.101
Stream #0:0: Video: mjpeg, yuvj422p(pc), 1280x720 [SAR 3:4 DAR 4:3], q=2-31, 64 kb/s, 30 fps, 1000k tbn, 2 tbc
Metadata:
encoder : Lavc56.60.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[mjpeg @ 0x4cde60] rc buffer underflow
Last message repeated 1 times
[mjpeg @ 0x4cde60] rc buffer underflow60kB time=00:00:01.00 bitrate= 491.5kbits/s
[mjpeg @ 0x4cde60] rc buffer underflow88kB time=00:00:01.50 bitrate= 480.6kbits/s dup=0 drop=16
[mjpeg @ 0x4cde60] rc buffer underflow20kB time=00:00:02.00 bitrate= 491.5kbits/s dup=0 drop=36
[mjpeg @ 0x4cde60] rc buffer underflow52kB time=00:00:02.50 bitrate= 498.1kbits/s dup=0 drop=45
[mjpeg @ 0x4cde60] rc buffer underflow80kB time=00:00:03.00 bitrate= 491.5kbits/s dup=0 drop=53
[mjpeg @ 0x4cde60] rc buffer underflow12kB time=00:00:03.50 bitrate= 496.2kbits/s dup=0 drop=61
[mjpeg @ 0x4cde60] rc buffer underflow40kB time=00:00:04.00 bitrate= 491.5kbits/s dup=0 drop=69
[mjpeg @ 0x4cde60] rc buffer underflow72kB time=00:00:04.50 bitrate= 495.2kbits/s dup=0 drop=77
[mjpeg @ 0x4cde60] rc buffer underflow04kB time=00:00:05.00 bitrate= 498.1kbits/s dup=0 drop=85
[mjpeg @ 0x4cde60] rc buffer underflow32kB time=00:00:05.50 bitrate= 494.5kbits/s dup=0 drop=93
[mjpeg @ 0x4cde60] rc buffer underflow64kB time=00:00:06.00 bitrate= 497.0kbits/s dup=0 drop=101
[mjpeg @ 0x4cde60] rc buffer underflow92kB time=00:00:06.50 bitrate= 494.0kbits/s dup=0 drop=109
[mjpeg @ 0x4cde60] rc buffer underflow24kB time=00:00:07.00 bitrate= 496.2kbits/s dup=0 drop=117
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:07.50 bitrate= 498.1kbits/s dup=0 drop=125
[mjpeg @ 0x4cde60] rc buffer underflow84kB time=00:00:08.00 bitrate= 495.6kbits/s dup=0 drop=133
[mjpeg @ 0x4cde60] rc buffer underflow16kB time=00:00:08.50 bitrate= 497.3kbits/s dup=0 drop=141
[mjpeg @ 0x4cde60] rc buffer underflow44kB time=00:00:09.00 bitrate= 495.2kbits/s dup=0 drop=149
[mjpeg @ 0x4cde60] rc buffer underflow76kB time=00:00:09.50 bitrate= 496.7kbits/s dup=0 drop=157
[mjpeg @ 0x4cde60] rc buffer underflow04kB time=00:00:10.00 bitrate= 494.8kbits/s dup=0 drop=165
[mjpeg @ 0x4cde60] rc buffer underflow36kB time=00:00:10.50 bitrate= 496.2kbits/s dup=0 drop=173
[mjpeg @ 0x4cde60] rc buffer underflow68kB time=00:00:11.00 bitrate= 497.5kbits/s dup=0 drop=181
[mjpeg @ 0x4cde60] rc buffer underflow96kB time=00:00:11.50 bitrate= 495.8kbits/s dup=0 drop=189
[mjpeg @ 0x4cde60] rc buffer underflow28kB time=00:00:12.00 bitrate= 497.0kbits/s dup=0 drop=197
[mjpeg @ 0x4cde60] rc buffer underflow60kB time=00:00:12.50 bitrate= 498.1kbits/s dup=0 drop=205
[mjpeg @ 0x4cde60] rc buffer underflow92kB time=00:00:13.00 bitrate= 499.1kbits/s dup=0 drop=213
[mjpeg @ 0x4cde60] rc buffer underflow24kB time=00:00:13.50 bitrate= 500.0kbits/s dup=0 drop=221
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:14.00 bitrate= 500.9kbits/s dup=0 drop=229
{ yellow: 9 fps=1.9 q=31.4 size= 888kB time=00:00:14.50 bitrate= 501.7kbits/s dup=0 drop=237
{ a: -2.2483146586100378,
b: 966.5819073830324,
xBounds: { xMin: 503.0835429430554, xMax: 604.1428470239917 } } }
/home/nvidia/lab-open-data-cam/node_modules/eventemitter2/lib/eventemitter2.js:290
throw arguments[1]; // Unhandled 'error' event
^
Error: Cannot stop process that is not running.
at /home/nvidia/lab-open-data-cam/node_modules/forever-monitor/lib/forever-monitor/monitor.js:357:26
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `PORT=8080 NODE_ENV=production node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/nvidia/.npm/_logs/2018-03-07T12_08_13_526Z-debug.log
from opendatacam.
I tried killing the FFserver because of the Address already in use
and it stopped again with the following error:
nvidia@tegra-ubuntu:~/lab-open-data-cam$ sudo npm run start
> [email protected] start /home/nvidia/lab-open-data-cam
> PORT=8080 NODE_ENV=production node server.js
Please specify the path to the raw detections file
Process YOLO initialized
Process WebcamStream initialized
> Ready on http://localhost:8080
> Ready on http://192.168.2.1:8080
WebcamStream: Sub-Process Stream webcam started
WebcamStream: Sub-Process FFServer started
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
ffserver version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
ffserver.conf:42: Setting default value for video bit rate = 64000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video bit rate tolerance = 32000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video max rate = 128000. Use NoDefaults to disable it.
ffserver.conf:42: Setting default value for video buffer size = 128000. Use NoDefaults to disable it.
Wed Mar 7 12:15:20 2018 FFserver started.
[video4linux2,v4l2 @ 0x4c55c0] The V4L2 driver changed the video from 1280x720 to 1024x768
[mjpeg @ 0x4c6110] Changeing bps to 8
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 5933.048915, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1024x768 [SAR 1:1 DAR 4:3], -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Wed Mar 7 12:15:21 2018 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
[swscaler @ 0x4db870] deprecated pixel format used, make sure you did set range correctly
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
Metadata:
creation_time : 2018-03-07 12:15:21
encoder : Lavf56.40.101
Stream #0:0: Video: mjpeg, yuvj422p(pc), 1280x720 [SAR 3:4 DAR 4:3], q=2-31, 64 kb/s, 30 fps, 1000k tbn, 2 tbc
Metadata:
encoder : Lavc56.60.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[mjpeg @ 0x4cde60] rc buffer underflow
Last message repeated 1 times
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:01.00 bitrate= 458.8kbits/s
[mjpeg @ 0x4cde60] rc buffer underflow88kB time=00:00:01.50 bitrate= 480.6kbits/s dup=0 drop=16
[mjpeg @ 0x4cde60] rc buffer underflow16kB time=00:00:02.00 bitrate= 475.1kbits/s dup=0 drop=36
[mjpeg @ 0x4cde60] rc buffer underflow48kB time=00:00:02.50 bitrate= 485.0kbits/s dup=0 drop=44
[mjpeg @ 0x4cde60] rc buffer underflow76kB time=00:00:03.00 bitrate= 480.6kbits/s dup=0 drop=52
[mjpeg @ 0x4cde60] rc buffer underflow08kB time=00:00:03.50 bitrate= 486.8kbits/s dup=0 drop=60
[mjpeg @ 0x4cde60] rc buffer underflow36kB time=00:00:04.00 bitrate= 483.3kbits/s dup=0 drop=68
[mjpeg @ 0x4cde60] rc buffer underflow68kB time=00:00:04.50 bitrate= 487.9kbits/s dup=0 drop=76
[mjpeg @ 0x4cde60] rc buffer underflow96kB time=00:00:05.00 bitrate= 485.0kbits/s dup=0 drop=84
[mjpeg @ 0x4cde60] rc buffer underflow28kB time=00:00:05.50 bitrate= 488.5kbits/s dup=0 drop=92
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:06.00 bitrate= 486.1kbits/s dup=0 drop=100
[mjpeg @ 0x4cde60] rc buffer underflow88kB time=00:00:06.50 bitrate= 489.0kbits/s dup=0 drop=108
[mjpeg @ 0x4cde60] rc buffer underflow16kB time=00:00:07.00 bitrate= 486.8kbits/s dup=0 drop=116
[mjpeg @ 0x4cde60] rc buffer underflow48kB time=00:00:07.50 bitrate= 489.3kbits/s dup=0 drop=124
[mjpeg @ 0x4cde60] rc buffer underflow76kB time=00:00:08.00 bitrate= 487.4kbits/s dup=0 drop=132
[mjpeg @ 0x4cde60] rc buffer underflow08kB time=00:00:08.50 bitrate= 489.6kbits/s dup=0 drop=140
[mjpeg @ 0x4cde60] rc buffer underflow36kB time=00:00:09.00 bitrate= 487.9kbits/s dup=0 drop=148
[mjpeg @ 0x4cde60] rc buffer underflow68kB time=00:00:09.50 bitrate= 489.8kbits/s dup=0 drop=156
[mjpeg @ 0x4cde60] rc buffer underflow96kB time=00:00:10.00 bitrate= 488.2kbits/s dup=0 drop=164
[mjpeg @ 0x4cde60] rc buffer underflow24kB time=00:00:10.50 bitrate= 486.8kbits/s dup=0 drop=172
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:11.00 bitrate= 488.5kbits/s dup=0 drop=180
[mjpeg @ 0x4cde60] rc buffer underflow84kB time=00:00:11.50 bitrate= 487.2kbits/s dup=0 drop=188
[mjpeg @ 0x4cde60] rc buffer underflow16kB time=00:00:12.00 bitrate= 488.8kbits/s dup=0 drop=196
[mjpeg @ 0x4cde60] rc buffer underflow44kB time=00:00:12.50 bitrate= 487.6kbits/s dup=0 drop=204
[mjpeg @ 0x4cde60] rc buffer underflow76kB time=00:00:13.00 bitrate= 489.0kbits/s dup=0 drop=212
[mjpeg @ 0x4cde60] rc buffer underflow04kB time=00:00:13.50 bitrate= 487.9kbits/s dup=0 drop=220
[mjpeg @ 0x4cde60] rc buffer underflow36kB time=00:00:14.00 bitrate= 489.2kbits/s dup=0 drop=228
[mjpeg @ 0x4cde60] rc buffer underflow64kB time=00:00:14.50 bitrate= 488.1kbits/s dup=0 drop=236
[mjpeg @ 0x4cde60] rc buffer underflow96kB time=00:00:15.00 bitrate= 489.3kbits/s dup=0 drop=244
[mjpeg @ 0x4cde60] rc buffer underflow24kB time=00:00:15.50 bitrate= 488.3kbits/s dup=0 drop=252
[mjpeg @ 0x4cde60] rc buffer underflow56kB time=00:00:16.00 bitrate= 489.5kbits/s dup=0 drop=260
{ yellow:
{ a: 79.14776714247859,
b: -46857.75175644006,
xBounds: { xMin: 584.9637090232301, xMax: 590.1273231003582 } } }
events.js:183
throw er; // Unhandled 'error' event
^
Error: spawn ./darknet ENOENT
at _errnoException (util.js:1022:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `PORT=8080 NODE_ENV=production node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/nvidia/.npm/_logs/2018-03-07T12_15_39_308Z-debug.log
from opendatacam.
There is a problem when starting YOLO... Weird, is the PATH_TO_YOLO well configured in the config.json file ?
Can you try to manually go from the terminal to the darknet folder and try to run this command ?
./darknet detector demo cfg/voc.data cfg/yolo-voc.cfg yolo-voc.weights -c 1 -address "ws://localhost" -port 8080
from opendatacam.
./darknet detector demo cfg/voc.data cfg/yolo-voc.cfg yolo-voc.weights -c 1 -address "ws://localhost" -port 8080
videoPath:./output.avi, namedPipe:0, writeVideo:0, showWindow:0
using comm protocol ws
address:ws://localhost, port:8080
setting up ws
ws onerror: (-2): Could connect to any address returned by getaddrinfo
comm setup done
Demo
layer filters size input output
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32
1 max 2 x 2 / 2 416 x 416 x 32 -> 208 x 208 x 32
2 conv 64 3 x 3 / 1 208 x 208 x 32 -> 208 x 208 x 64
3 max 2 x 2 / 2 208 x 208 x 64 -> 104 x 104 x 64
4 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128
5 conv 64 1 x 1 / 1 104 x 104 x 128 -> 104 x 104 x 64
6 conv 128 3 x 3 / 1 104 x 104 x 64 -> 104 x 104 x 128
7 max 2 x 2 / 2 104 x 104 x 128 -> 52 x 52 x 128
8 conv 256 3 x 3 / 1 52 x 52 x 128 -> 52 x
...
30 conv 125 1 x 1 / 1 13 x 13 x1024 -> 13 x 13 x 125
31 detection
mask_scale: Using default '1.000000'
Loading weights from yolo-voc.weights...Done!
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
FPS:8272.8
Objects:
640 x 480
ws onerror: (-12): Error during send in libwsclient_send
FPS:6.6
Objects:
640 x 480
ws onerror: (-12): Error during send in libwsclient_send
FPS:6.6
Objects:
640 x 480
ws onerror: (-12): Error during send in libwsclient_send
FPS:6.7
Objects:
640 x 480
ws onerror: (-12): Error during send in libwsclient_send
...i`m getting the feeling that this could be a permission problem?
from opendatacam.
YOLO work when you start it directly... This is weird.
First we should make sure this is not caused by my last update, try to revert to the commit before the update: (I don't think it is but we never now)
git checkout 61090b85ccd71417b11c8c29c3542a86320c7b93
npm install
npm run build
npm run start
If it also fails, this means it's not the new update that causes the bug, and it's something else. I'm not sure it is a permission problem because you successfully runned the thing before... I'm thinking what else could cause this to fail
from opendatacam.
Also double check the PATH_TO_YOLO_DARKNET in config.json
from opendatacam.
I'm kind of thinking it is caused by the PATH_TO_YOLO_DARKNET beeing wrong... Because the error ENOENT means it can't find the command ./darknet
.
from opendatacam.
It was indeed a problem with the path. I used the relative path (~/to/darknet
) and executed the code with sudo pm2 start
// sudo npm start
. So no issue with your update
from opendatacam.
Great ! I'm curious, the absolute path doesn't work in your case ?
eg: /home/nvidia/to/darknet-net
from opendatacam.
Everything works fine now with the absolute path! 😃
from opendatacam.
Ok, yep maybe it needs to be documented a bit better in the README (I mention it should be the absolute path): https://github.com/moovel/lab-open-data-cam#5-download-and-install-the-open-data-cam-node-app-on-the-jetson
from opendatacam.
FYI: The session based tracking is working but there is an issues:
When defining multiple lines (e.g. yellow and blue) and reloading the page. The second line will not be accessible anymore. You will only see the tracking information for the first (yellow) line.
In the exported file however you can see that the second line will still be tracked. (but it's not accessible in the web-app anymore)
from opendatacam.
Ahhh, yes, very true... I'll fix that. Have you been able to test it in a street ?
from opendatacam.
Yesterday I set it up in the office and tested it for a couple of hours with an external battery. So this was kind of the first test with the hardware been completely off the gird. We counted some people passing through the office. (...cars aren't allowed in yet. :) )
from opendatacam.
Ok, great ! I just pushed the fix you mentioned, you can update the app code and should be able to see all the counting areas when restoring the page.
from opendatacam.
I just tested it - Looks good! 👍
from opendatacam.
Related Issues (20)
- Saving counter locations and names HOT 2
- Yolo Simulation in Live Mode does not increment frame ID correctly
- Add missing docker-compose file for cpu-amd64 platform
- Path View: Keep color if ID does not change
- Fix urlHelper
- MongoDB CPU usage increasing over time HOT 1
- Update to NodeJS v20 HOT 1
- Run Darknet in Docker with Jetpack v5 HOT 11
- Update Darknet for to latest upstream HOT 3
- Update GitHub Actions to latest version in Darknet repo HOT 1
- Think about merging those changes from opendatacam/[email protected]:darknet:odc into https://github.com/vsaw/darknet/tree/607-darknet-jetpack5 HOT 3
- Detection in 3.0.2 is not working on desktop HOT 15
- Fix annnoying failing Darknet builds
- Update Darknet Desktop Docker Image HOT 2
- Update Documentation and make CUDA 11 a minimum requirement to run OpenDataCam
- Builld Darknet CPU Image from main branch HOT 1
- Get yolov4-416x416.cfg into Darknet main branch
- Rename Docker Repository to OpenDataCam/Darknet
- Update NextJS and React HOT 3
- (node:40) UnhandledPromiseRejectionWarning: TypeError: Cannot set property 'filename' of undefined HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opendatacam.