Onvif Device Reference Design/Project Architecture/High Level Design: Difference between revisions

Line 5: Line 5:


The high-level design of the reference design is presented in figure 1. There are the following modules:
The high-level design of the reference design is presented in figure 1. There are the following modules:
* Default Server: This class instance the OnvifServer provided by LibOnvif and set up all its necessary information such as network interface, port, encryption, etc. See an example of this [[Onvif_device_server/User_Guide/Basic_Onvif_server_implementation|here]].
* Base Server: This class instance the OnvifServer provided by LibOnvif and set up all its necessary information such as model, hardware ID, RTSP ports, encryption used, etc. See an example of this [[Onvif_device_server/User_Guide/Basic_Onvif_server_implementation|here]]. This Base Server makes his custom implementation of the iVideoEncoderHandelr, iVideoSourceHandler, and iRtspStreamHandler to support the custom behavior of the NVIDIA Jetson devices.
 
**JetsonEncoderHandler: manages the custom encoders of the NVIDIA Jetson devices and reports them to the base server.
**JetsonSourceHandler: manages the custom video sources of the NVIDIA Jetson devices and reports them to the base server.
**GstJetsonStreamHandler: manages the multimedia using a GStreamer pipeline configuring it with the provided information.
 
 
*Default Server: This class inherits from Base Server and sets the network interface, port, and factory of the Onvif Media Client.
 
*
 
 
[[File:OnvifRefDesignHighLevelDiagram.png|thumb|center|1100px|Figure 1: High Level Design of Onvif Reference ]]
[[File:OnvifRefDesignHighLevelDiagram.png|thumb|center|1100px|Figure 1: High Level Design of Onvif Reference ]]
File:OnvifRefDesignHighLevelDiagram.png
File:OnvifRefDesignHighLevelDiagram.png