Rpos

Raspberry Pi Onvif Server

View project on GitHub

rpos

Raspberry Pi Onvif Server

Node.js based Onvif Soap service. (http://www.onvif.org)

Initial goal is to provide a Onvif Media service which is compatible with Synology Surveillance Station. This allows the Pi to be used as a surveillance camera without the need for adding any custom camera files to your Synology NAS. First demo video @ https://youtu.be/ZcZbF4XOH7E

This version uses a patched version of the "node-soap" v0.80 library (https://github.com/vpulim/node-soap/releases/tag/v0.8.0) located @ https://github.com/BreeeZe/node-soap

Features:

  • Streams H264 video over rtsp
  • Camera control (resolution and framerate) through Onvif
  • Set other camera options through a web interface.

How to:

Install the live555 library to stream h264 video over rtsp [ source http://forum.synology.com/enu/viewtopic.php?f=82&t=69224&start=15#p289293 ] :

*login to your pi via ssh
cd /home/pi/
wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz
tar xvzf live555-latest.tar.gz
cd live
./genMakefiles linux
make
#delete sources
cd ..
rm live -r -f

Install nodejs on your pi (http://weworkweplay.com/play/raspberry-pi-nodejs/):

wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

Download rpos release from github to your pi

wget https://github.com/BreeeZe/rpos/releases/download/0.1.0/rpos-0.1.0.zip
unzip rpos-0.1.0.zip
cd rpos-0.1.0

Optionaly set the service port or other options in rposConfig.json

Then you start rpos by running "sudo node rpos.js"

Camera settings

You can set camera settings by browsing to : http://CameraIP:Port/ These settings are then saved in a file called v4l2ctl.json and are persisted on rpos restart.

Known Issues

  • 1920x1080 can cause hangs and crashes.

ToDo's

  • Add authentication
  • Add MJPEG
  • Implement more ONVIF calls
  • and more...