Onvif Device Reference Design - Getting Started - Environment Setup

From RidgeRun Developer Connection
Jump to: navigation, search




Previous: Getting Started Index Next: Getting Started/Evaluating the Project




These steps aim to guide through the installation and building process for the ONVIF Reference Design Project.

Dependencies

  • Install Meson
pip install meson

Sometimes it doesn't work correctly when installing it, run this command to see if it installed correctly.

meson --version
  • Install Ninja
pip install ninja
  • Install Pre-commit
pip3 install pre-commit
  • Install Doxygen
sudo apt-get install doxygen
  • Install LibOnvif

To install LibOnvif follow [1].

  • Install GSTD

To install GSTD follow this guide.


  • Install RTSPsink

To install GstRtspSink you can follow the guide here.


  • Install Oatpp
git clone https://github.com/oatpp/oatpp.git
cd oatpp/
mkdir build && cd build
cmake ..
make install
  • Install Oatpp-openssl
git clone https://github.com/oatpp/oatpp-openssl
cd  oatpp-openssl
cmake .
sudo make install

Build ONVIF reference design

  • Create a build directory within the project directory
mkdir build
  • Build the application
meson build
cd build
  • Build the project and install
cd build
ninja
sudo ninja install
  • To check the correct functionality, go to the src directory and run:
cd rr/src/
./onvif-server-reference-design-version

Common Issues

Server stops without any message

If the server doesnt start and exits instantly, one of the possible reason is that the server openssl certificates are not working. The only way to solve this is to create new CA certificates and compare them to the ones delivered with this project.

The server doesn't start and ends with a message of missing configuration

This means that the user configuration file doesn't exist. This configuration file needs to exists for the server to start, to verify if it exists run the following command

ls /usr/share/onvif_settings/
#expected output
configurations.json  UserSettings.txt

If it exists and continues to fail, it may mean that it doesn't have right or write permissions.



Previous: Getting Started Index Next: Getting Started/Evaluating the Project