Pov: Difference between revisions
Jump to navigation
Jump to search
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=== | === What is it === | ||
POV is the (virtual) server managing the | POV is the (virtual) server managing the [[Webcams]]. | ||
It stores video files of all webcams over the last 2 days. | It stores video files of all RevSpace webcams over the last 2 days. | ||
Line 15: | Line 15: | ||
=== | === Software === | ||
* motion [https://motion-project.github.io/ https://motion-project.github.io/] | * motion [https://motion-project.github.io/ https://motion-project.github.io/] | ||
** used for camera 6 and 11 which are down | ** originally used for all cameras, still used for camera 6 and 11 which are down. | ||
* constatus [https:// | * constatus [https://vanheusden.com/constatus/ https://vanheusden.com/constatus/] | ||
** all | ** all cameras but 6 and 11. | ||
==== | ==== Motion ==== | ||
* motion is installed from the debian repository | * motion is installed from the debian repository | ||
* configuration files are under /etc/motion | * configuration files are under /etc/motion | ||
* main configuration is motion.conf which includes cam*.conf | * main configuration is motion.conf which includes cam*.conf | ||
* as by the design of motion, all | * as by the design of motion, all configured cameras (6 + 11) are monitored from 1 process | ||
=== | ==== Constatus ==== | ||
* installed from the github repository | * installed from the github repository [https://github.com/folkertvanheusden/constatus https://github.com/flok99/constatus] | ||
* installed under /usr/local/constatus | * installed under /usr/local/constatus | ||
* started (currently, 20170903) from /etc/rc.local | * started (currently, 20170903) from /etc/rc.local | ||
* each camera has its own constatus process - the idea is that if something crashes, that not all cameras will go down | * <strike>each camera has its own constatus process - the idea is that if something crashes, that not all cameras will go down</strike> this is since 2.0 no longer the case; it seldomly (if ever?) crashes anyway | ||
* video archive can be viewed under http://10.42.19.84:port/ where port is 8101 for camera 1, 8102 for camera 2 and so on | |||
The configuration <strike>files are JSON</strike>file is a libconfig++ file. | |||
* | For revspace: | ||
* | * general section: logfile is located in the /usr/local/constatus directory and loglevel set to info | ||
* source: max-fps set as low as possible (must be high enough for all "users") | |||
* always resizing to 640x480, ignoring aspect ratio | |||
* for mjpeg sources, it is chosen to always ignore issues with ssl certificates | |||
* http-server: one server is initiated per camera and there's also a global http-server | |||
** first server is for motion compatibility: it pushes mjpeg-data without any http handshake whatsoever (apart from the http headers). framerate set to 2fps. | |||
** <strike>second server serves an html menu with a couple of options. it allows you to browser through the recorded videos. framerate set to 1fps.</strike> | |||
* stream-to-disk: only 1 file (currently). avi-container with mjpeg frames. jpeg quality set to 50, frame rate set to 1 fps | |||
* no motion detection | |||
* cam5 is mirrored in both axes as it has been mounted upside down | |||
* every camera adds a text in the upper left corner with the camera-number in it and in the lower-right corner the timestamp of the moment that the frame was recorded(!) | |||
=== Recording Specifications === | |||
* 1 FPS video files | |||
* 2 FPS HTTP streaming web interface | |||
* CAM 1 | * each webcam produces +/- 50MB of data on /camdata per half hour, so that's +/- 50 * 2 * 24 * 10 = 24GB/day and as /camdata is 100GB we can store around 4 days of video data | ||
=== Cameras === | |||
{| class="wikitable" | |||
! style="text-align:left;" |Number | |||
! style="text-align:left;" |Stream port | |||
! style="text-align:left;" |HTML port | |||
! style="text-align:left;" |Physical device protocol | |||
! style="text-align:left;" |Where | |||
|- | |||
|CAM 1||8084||8101||RTSP||hanging above the 3D printer | |||
|- | |||
|CAM 2||8085||8102||MJPEG||cantina/kitchen | |||
|- | |||
|CAM 3||8086||8103||MJPEG||back side of klusruimte | |||
|- | |||
|CAM 4||8087||8104||MJPEG||front side of klusruimte | |||
|- | |||
|CAM 5||8088||8105||RTSP||houtbewerkingsruimte (woodworking shop) | |||
|- | |||
|CAM 6||colspan=4|broken | |||
|- | |||
|CAM 7||8090||8107||rowspan=4|MJPEG, source is [[Verint Nextiva]]||rowspan=4|these produce an RTP stream which are converted to MJPEG by scripting running on the shell server, see [https://github.com/Peetz0r/revcaminfra https://github.com/Peetz0r/revcaminfra]. | |||
|- | |||
|CAM 8||8091||8108 | |||
|- | |||
|CAM 9||8092||8109 | |||
|- | |||
|CAM 10||8093||8110 | |||
|- | |||
|CAM 11||colspan=4|These go to eleven?! (this camera doesn't actually exist yet) | |||
|} |
Latest revision as of 18:03, 1 July 2023
What is it
POV is the (virtual) server managing the Webcams. It stores video files of all RevSpace webcams over the last 2 days.
OS specifications
- debian stretch
- 32b
- virtual machine with 2 cores
- 1GB ram
- 10GB root filesystem
- 100GB storage for camera files
Software
- motion https://motion-project.github.io/
- originally used for all cameras, still used for camera 6 and 11 which are down.
- constatus https://vanheusden.com/constatus/
- all cameras but 6 and 11.
Motion
- motion is installed from the debian repository
- configuration files are under /etc/motion
- main configuration is motion.conf which includes cam*.conf
- as by the design of motion, all configured cameras (6 + 11) are monitored from 1 process
Constatus
- installed from the github repository https://github.com/flok99/constatus
- installed under /usr/local/constatus
- started (currently, 20170903) from /etc/rc.local
each camera has its own constatus process - the idea is that if something crashes, that not all cameras will go downthis is since 2.0 no longer the case; it seldomly (if ever?) crashes anyway- video archive can be viewed under http://10.42.19.84:port/ where port is 8101 for camera 1, 8102 for camera 2 and so on
The configuration files are JSONfile is a libconfig++ file.
For revspace:
- general section: logfile is located in the /usr/local/constatus directory and loglevel set to info
- source: max-fps set as low as possible (must be high enough for all "users")
- always resizing to 640x480, ignoring aspect ratio
- for mjpeg sources, it is chosen to always ignore issues with ssl certificates
- http-server: one server is initiated per camera and there's also a global http-server
- first server is for motion compatibility: it pushes mjpeg-data without any http handshake whatsoever (apart from the http headers). framerate set to 2fps.
second server serves an html menu with a couple of options. it allows you to browser through the recorded videos. framerate set to 1fps.
- stream-to-disk: only 1 file (currently). avi-container with mjpeg frames. jpeg quality set to 50, frame rate set to 1 fps
- no motion detection
- cam5 is mirrored in both axes as it has been mounted upside down
- every camera adds a text in the upper left corner with the camera-number in it and in the lower-right corner the timestamp of the moment that the frame was recorded(!)
Recording Specifications
- 1 FPS video files
- 2 FPS HTTP streaming web interface
- each webcam produces +/- 50MB of data on /camdata per half hour, so that's +/- 50 * 2 * 24 * 10 = 24GB/day and as /camdata is 100GB we can store around 4 days of video data
Cameras
Number | Stream port | HTML port | Physical device protocol | Where |
---|---|---|---|---|
CAM 1 | 8084 | 8101 | RTSP | hanging above the 3D printer |
CAM 2 | 8085 | 8102 | MJPEG | cantina/kitchen |
CAM 3 | 8086 | 8103 | MJPEG | back side of klusruimte |
CAM 4 | 8087 | 8104 | MJPEG | front side of klusruimte |
CAM 5 | 8088 | 8105 | RTSP | houtbewerkingsruimte (woodworking shop) |
CAM 6 | broken | |||
CAM 7 | 8090 | 8107 | MJPEG, source is Verint Nextiva | these produce an RTP stream which are converted to MJPEG by scripting running on the shell server, see https://github.com/Peetz0r/revcaminfra. |
CAM 8 | 8091 | 8108 | ||
CAM 9 | 8092 | 8109 | ||
CAM 10 | 8093 | 8110 | ||
CAM 11 | These go to eleven?! (this camera doesn't actually exist yet) |