View Source ExOnvif.Search (ExOnvif v0.7.1)
Interface for making requests to the Onvif search service
Summary
Functions
FindEvents starts a search session, looking for recording events (in the scope that matches the search filter defined in the request).
FindRecordings starts a search session, looking for recordings that matches the scope (See 20.2.4) defined in the request.
GetRecordingSearchResults acquires the results from a recording search session previously initiated
by a ExOnvif.Search.find_recordings/2
operation. The response shall not include results already
returned in previous requests for the same session.
GetRecordingSummary is used to get a summary description of all recorded data.
Functions
@spec find_events(ExOnvif.Device.t(), ExOnvif.Search.FindEvents.t()) :: {:ok, String.t()} | {:error, any()}
FindEvents starts a search session, looking for recording events (in the scope that matches the search filter defined in the request).
Results from the search are acquired using the get_event_search_results/2
request, specifying the search token returned from this request.
The device shall continue searching until one of the following occurs:
- The entire time range from StartPoint to EndPoint has been searched through.
- The total number of matches has been found, defined by the MaxMatches parameter.
- The session has been ended by a client EndSession request.
- The session has been ended because KeepAliveTime since the last request related to this session has expired.
Results shall be ordered by time, ascending in case of forward search, or descending in case of backward search. This operation is mandatory to support for a device implementing the recording search service.
@spec find_recordings(ExOnvif.Device.t(), ExOnvif.Search.FindRecordings.t()) :: {:ok, String.t()} | {:error, any()}
FindRecordings starts a search session, looking for recordings that matches the scope (See 20.2.4) defined in the request.
Results from the search are acquired using the GetRecordingSearchResults request, specifying the search token returned from this request. The device shall continue searching until one of the following occurs:
- The entire time range from StartPoint to EndPoint has been searched through.
- The total number of matches has been found, defined by the MaxMatches parameter.
- The session has been ended by a client EndSession request.
- The session has been ended because KeepAliveTime since the last request related to this session has expired.
The order of the results is undefined, to allow the device to return results in any order they are found. This operation is mandatory to support for a device implementing the recording search service.
@spec get_recording_search_results( ExOnvif.Device.t(), ExOnvif.Search.GetRecordingSearchResults.t() ) :: {:ok, ExOnvif.Search.FindRecordingResult.t()} | {:error, any()}
GetRecordingSearchResults acquires the results from a recording search session previously initiated
by a ExOnvif.Search.find_recordings/2
operation. The response shall not include results already
returned in previous requests for the same session.
If MaxResults is specified, the response shall not contain more than MaxResults results. The number of results relates to the number of recordings. For viewing individual recorded data for a signal track use the FindEvents method.
GetRecordingSearchResults shall block until:
- MaxResults results are available for the response if MaxResults is specified.
- MinResults results are available for the response if MinResults is specified.
- WaitTime has expired.
- Search is completed or stopped.
@spec get_recording_summary(ExOnvif.Device.t()) :: {:ok, ExOnvif.Search.RecordingSummary.t()} | {:error, any()}
GetRecordingSummary is used to get a summary description of all recorded data.