Pov: Difference between revisions

From RevSpace
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
=== what is it ===
=== What is it ===


POV is the (virtual) server managing the webcams.
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 webcams over the last 2 days.


Line 15: Line 15:




=== software ===
=== 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://vanheusden.com/constatus/ https://vanheusden.com/constatus/]
* constatus [https://vanheusden.com/constatus/ https://vanheusden.com/constatus/]
** all other cameras
** all cameras but 6 and 11.




==== motion ====
==== 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 its cameras (6 + 11) are monitored from 1 process
* as by the design of motion, all configured cameras (6 + 11) are monitored from 1 process




==== constatus ====
==== Constatus ====


* installed from the github repository [https://github.com/flok99/constatus https://github.com/flok99/constatus]
* installed from the github repository [https://github.com/flok99/constatus https://github.com/flok99/constatus]
Line 42: Line 42:
The configuration files are JSON files.
The configuration files are JSON files.
They consist of 2 or more sections: general, source and then optional sections.
They consist of 2 or more sections: general, source and then optional sections.
Every other section (apart from video loopback) have an array of entries for their data.
Every other section (apart from video loopback) has an array of entries for their data.


For revspace:
For revspace:
Line 50: Line 50:
* for mjpeg sources, it is chosen to always ignore issues with ssl certificates
* for mjpeg sources, it is chosen to always ignore issues with ssl certificates
* http-server: two servers are instantiated per camera
* http-server: two servers are instantiated per camera
** first server is for motion compatibility: it pushes mjpeg-data without any http handshake whatsoever (apart from the http headers). framerate set to 2fps
** 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.
** 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
* 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
* no motion detection
* cam5 is mirrored in both axises as it has been mounted upside down
* 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(!)
* 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(!)



Revision as of 07:15, 4 September 2017

What is it

POV is the (virtual) server managing the Webcams. It stores video files of all 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

  • 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 down
  • 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 JSON files. They consist of 2 or more sections: general, source and then optional sections. Every other section (apart from video loopback) has an array of entries for their data.

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: two servers are instantiated per camera
    • 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


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)