ONVIF Device Reference Design - Customizing the Project

From RidgeRun Developer Wiki



Previous: Reference Designs Index Next: Contact Us





As mentioned in previous sections, the ONVIF Reference Design gives you the flexibility to extend it to other platforms if needed. For that purpose, a set of interfaces are provided. In this section, you will see how to do it and also you can take a look at the Class Diagram for a better idea.

Handler interfaces

The designs provide you with 3 interfaces that are used to abstract hardware specifics and give a default implementation for Jetson Platforms which can be used as a reference for custom implementations. These interfaces are as follows:

iVideoSourceHandler

This class, as its name indicates, manages the video sources. It is used by the core to retrieve the available video sources. The implementation of this class should use hardware-specific logic to report the available cameras.

iVideoEncoderHandler

This class, as its name indicates, manages the video encoders. It is used by the core to retrieve the available video encoder. The implementation of this class should use hardware-specific logic to report the available video encoders.

iRtspStreamHandler

The implementation of this interface is the one in charge of creating/destroying the rtsp streams. The core will give this class all the information necessary for it to create a stream that can be done using any framework. ONVIF Reference Design gives an implementation using GStreamer and RidgeRun's GstRtspSink element.

Factory

To make it easier to abstract hardware specifics, a factory is provided. This Factory is the one in charge of instantiating the actual implementations of the handlers. To give support for a new platform, a factory for the specific hardware should be created inheriting from the provided factory interface.

You can take a look at the default implementations for Jetson boards provided with the Reference Design.




Previous: Reference Designs Index Next: Contact Us