ONVIF Device Reference Design - Customizing the Project
Make sure you also check Onvif Device Reference Design's companion project: Onvif device server |
ONVIF Device Reference Design |
---|
Project Architecture |
Getting Started |
Reference Designs |
Customizing the Project |
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.