Pov
Jump to navigation
Jump to search
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) |