onvif协议接口

文章展示了如何使用SOAP协议与ONVIF设备服务进行交互,包括设置命名空间、进行用户名密码认证以及调用一系列如GetSupportedAnalyticsModules、CreateRules等ONVIF提供的API函数来管理网络硬盘录像机的功能。
摘要由CSDN通过智能技术生成

简单对象访问协议(Simple Object Access Protocol)

OpenSSL SSL是Secure Socket Layer(安全套接层协议)

NVR(Network Video Recorder即网络硬盘录像机)

大致编码流程:

struct soap *soap;

char *username = “admin”;
char *password = “12345”;
const char *soap_endpoint = “http://192.168.1.170/onvif/device_service”;
const char *soap_action = NULL;
soap = soap_new();
if( soap == NULL )
{
printf( “soap_new()函数失败!\n” );
return -1;
}
soap_set_namespaces( soap, namespaces );

//使用函数soap_wsse_add_UsernameTokenDigest进行用户名与密码认证

//紧接着下面就可以进行ONVIF提供的协议函数的调用了。

onvif提供的API函数罗列:

SOAP_FMAC5 int SOAP_FMAC6 soap_call___daae__GetSupportedAnalyticsModules

soap_call___daae__CreateAnalyticsModules

soap_call___daae__DeleteAnalyticsModules

soap_call___daae__GetAnalyticsModules

soap_call___daae__ModifyAnalyticsModules

soap_call___dare__GetSupportedRules

soap_call___dare__CreateRules

soap_call___dare__DeleteRules

soap_call___dare__GetRules

soap_call___dare__ModifyRules

soap_call___decpp__CreatePullPoint

soap_call___dee__GetServiceCapabilities

soap_call___dee__CreatePullPointSubscription

soap_call___dee__GetEventProperties

soap_send___denc__Notify

soap_recv___denc__Notify

soap_recv___denc__Notify

soap_call___denf__GetCurrentMessage

soap_call___depp__GetMessages

soap_call___depp__DestroyPullPoint

soap_send___depp__Notify

soap_recv___depp__Notify

soap_call___depps__PullMessages

soap_call___depps__SetSynchronizationPoint

soap_call___depsm__Renew

soap_call___depsm__Unsubscribe

soap_call___depsm__PauseSubscription

soap_call___depsm__ResumeSubscription

soap_call___desm__Renew

soap_call___desm__Unsubscribe

soap_call___dndl__Probe

soap_call___dnrd__Hello

soap_call___dnrd__Bye

soap_call___tad__GetServiceCapabilities

soap_call___tad__DeleteAnalyticsEngineControl

soap_call___tad__CreateAnalyticsEngineControl

soap_call___tad__SetAnalyticsEngineControl

soap_call___tad__GetAnalyticsEngineControl

soap_call___tad__GetAnalyticsEngineControls

soap_call___tad__GetAnalyticsEngine

soap_call___tad__GetAnalyticsEngines

soap_call___tad__SetVideoAnalyticsConfiguration

soap_call___tad__SetAnalyticsEngineInput

soap_call___tad__GetAnalyticsEngineInput

soap_call___tad__GetAnalyticsEngineInputs

soap_call___tad__GetAnalyticsDeviceStreamUri

soap_call___tad__GetVideoAnalyticsConfiguration

soap_call___tad__CreateAnalyticsEngineInputs

soap_call___tad__DeleteAnalyticsEngineInputs

soap_call___tad__GetAnalyticsState

soap_call___tds__GetServices

soap_call___tds__GetServiceCapabilities

soap_call___tds__GetDeviceInformation

soap_call___tds__SetSystemDateAndTime

soap_call___tds__GetSystemDateAndTime

soap_call___tds__SetSystemFactoryDefault

soap_call___tds__UpgradeSystemFirmware

soap_call___tds__SystemReboot

soap_call___tds__RestoreSystem

soap_call___tds__GetSystemBackup

soap_call___tds__GetSystemLog

soap_call___tds__GetSystemSupportInformation

soap_call___tds__GetScopes

soap_call___tds__SetScopes

soap_call___tds__AddScopes

soap_call___tds__RemoveScopes

soap_call___tds__GetDiscoveryMode

soap_call___tds__SetDiscoveryMode

soap_call___tds__GetRemoteDiscoveryMode

soap_call___tds__SetRemoteDiscoveryMode

soap_call___tds__GetDPAddresses

soap_call___tds__GetEndpointReference

soap_call___tds__GetRemoteUser

soap_call___tds__SetRemoteUser

soap_call___tds__GetUsers

soap_call___tds__CreateUsers

soap_call___tds__DeleteUsers

soap_call___tds__SetUser

soap_call___tds__GetWsdlUrl

soap_call___tds__GetCapabilities

soap_call___tds__SetDPAddresses

soap_call___tds__GetHostname

soap_call___tds__SetHostname

soap_call___tds__SetHostnameFromDHCP

soap_call___tds__GetDNS

soap_call___tds__SetDNS

soap_call___tds__GetNTP

soap_call___tds__SetNTP

soap_call___tds__GetDynamicDNS

soap_call___tds__SetDynamicDNS

soap_call___tds__GetNetworkInterfaces

soap_call___tds__SetNetworkInterfaces

soap_call___tds__GetNetworkProtocols

soap_call___tds__SetNetworkProtocols

soap_call___tds__GetNetworkDefaultGateway

soap_call___tds__SetNetworkDefaultGateway

soap_call___tds__GetZeroConfiguration

soap_call___tds__SetZeroConfiguration

soap_call___tds__GetIPAddressFilter

soap_call___tds__SetIPAddressFilter

soap_call___tds__AddIPAddressFilter

soap_call___tds__RemoveIPAddressFilter

soap_call___tds__GetAccessPolicy

soap_call___tds__SetAccessPolicy

soap_call___tds__CreateCertificate

soap_call___tds__GetCertificates

soap_call___tds__GetCertificatesStatus

soap_call___tds__SetCertificatesStatus

soap_call___tds__DeleteCertificates

soap_call___tds__GetPkcs10Request

soap_call___tds__LoadCertificates

soap_call___tds__GetClientCertificateMode

soap_call___tds__SetClientCertificateMode

soap_call___tds__GetRelayOutputs

soap_call___tds__SetRelayOutputSettings

soap_call___tds__SetRelayOutputState

soap_call___tds__SendAuxiliaryCommand

soap_call___tds__GetCACertificates

soap_call___tds__LoadCertificateWithPrivateKey

soap_call___tds__GetCertificateInformation

soap_call___tds__LoadCACertificates

soap_call___tds__CreateDot1XConfiguration

soap_call___tds__SetDot1XConfiguration

soap_call___tds__GetDot1XConfiguration

soap_call___tds__GetDot1XConfigurations

soap_call___tds__DeleteDot1XConfiguration

soap_call___tds__GetDot11Capabilities

soap_call___tds__GetDot11Status

soap_call___tds__ScanAvailableDot11Networks

soap_call___tds__GetSystemUris

soap_call___tds__StartFirmwareUpgrade

soap_call___tds__StartSystemRestore

soap_call___timg__GetServiceCapabilities

soap_call___timg__GetImagingSettings

soap_call___timg__SetImagingSettings

soap_call___timg__GetOptions

soap_call___timg__Move

soap_call___timg__Stop

soap_call___timg__GetStatus

soap_call___timg__GetMoveOptions

soap_call___tls__GetServiceCapabilities

soap_call___tls__GetLayout
soap_call___tls__SetLayout
soap_call___tls__GetDisplayOptions
soap_call___tls__GetPaneConfigurations
soap_call___tls__GetPaneConfiguration
soap_call___tls__SetPaneConfigurations
soap_call___tls__SetPaneConfiguration
soap_call___tls__CreatePaneConfiguration
soap_call___tls__DeletePaneConfiguration
soap_call___tmd__GetServiceCapabilities
soap_call___tmd__GetAudioSources
soap_call___tmd__GetAudioOutputs
soap_call___tmd__GetVideoSources
soap_call___tmd__GetVideoOutputs
soap_call___tmd__GetVideoSourceConfiguration
soap_call___tmd__GetVideoOutputConfiguration
soap_call___tmd__GetAudioSourceConfiguration
soap_call___tmd__GetAudioOutputConfiguration
soap_call___tmd__SetVideoSourceConfiguration
soap_call___tmd__SetVideoOutputConfiguration
soap_call___tmd__SetAudioSourceConfiguration
soap_call___tmd__SetAudioOutputConfiguration
soap_call___tmd__GetVideoSourceConfigurationOptions
soap_call___tmd__GetVideoOutputConfigurationOptions
soap_call___tmd__GetAudioSourceConfigurationOptions
soap_call___tmd__GetAudioOutputConfigurationOptions
soap_call___tmd__GetRelayOutputs
soap_call___tmd__SetRelayOutputSettings
soap_call___tmd__SetRelayOutputState
soap_call___tptz__GetServiceCapabilities
soap_call___tptz__GetConfigurations
soap_call___tptz__GetPresets
soap_call___tptz__SetPreset
soap_call___tptz__RemovePreset
soap_call___tptz__GotoPreset
soap_call___tptz__GetStatus
soap_call___tptz__GetConfiguration
soap_call___tptz__GetNodes
soap_call___tptz__GetNode
soap_call___tptz__SetConfiguration
soap_call___tptz__GetConfigurationOptions
soap_call___tptz__GotoHomePosition
soap_call___tptz__SetHomePosition
soap_call___tptz__ContinuousMove
soap_call___tptz__RelativeMove
soap_call___tptz__SendAuxiliaryCommand
soap_call___tptz__AbsoluteMove
soap_call___tptz__Stop
soap_call___trc__GetServiceCapabilities
soap_call___trc__CreateRecording
soap_call___trc__DeleteRecording
soap_call___trc__GetRecordings
soap_call___trc__SetRecordingConfiguration
soap_call___trc__GetRecordingConfiguration
soap_call___trc__CreateTrack
soap_call___trc__DeleteTrack
soap_call___trc__GetTrackConfiguration
soap_call___trc__SetTrackConfiguration
soap_call___trc__CreateRecordingJob
soap_call___trc__DeleteRecordingJob
soap_call___trc__GetRecordingJobs
soap_call___trc__SetRecordingJobConfiguration
soap_call___trc__GetRecordingJobConfiguration
soap_call___trc__SetRecordingJobMode
soap_call___trc__GetRecordingJobState
soap_call___trp__GetServiceCapabilities
soap_call___trp__GetReplayUri
soap_call___trp__GetReplayConfiguration
soap_call___trp__SetReplayConfiguration
soap_call___trt__GetServiceCapabilities
soap_call___trt__GetVideoSources
soap_call___trt__GetAudioSources
soap_call___trt__GetAudioOutputs
soap_call___trt__CreateProfile
soap_call___trt__GetProfile
soap_call___trt__GetProfiles
soap_call___trt__AddVideoEncoderConfiguration
soap_call___trt__AddVideoSourceConfiguration
soap_call___trt__AddAudioEncoderConfiguration
soap_call___trt__AddAudioSourceConfiguration
soap_call___trt__AddPTZConfiguration
soap_call___trt__AddVideoAnalyticsConfiguration
soap_call___trt__AddMetadataConfiguration

soap_call___trt__AddAudioDecoderConfiguration

soap_call___trt__AddAudioOutputConfiguration
soap_call___trt__RemoveVideoEncoderConfiguration
soap_call___trt__RemoveVideoSourceConfiguration
soap_call___trt__RemoveAudioEncoderConfiguration
soap_call___trt__RemoveAudioSourceConfiguration
soap_call___trt__RemovePTZConfiguration
soap_call___trt__RemoveVideoAnalyticsConfiguration
soap_call___trt__RemoveMetadataConfiguration
soap_call___trt__RemoveAudioOutputConfiguration
soap_call___trt__RemoveAudioDecoderConfiguration
soap_call___trt__DeleteProfile
soap_call___trt__GetVideoSourceConfigurations
soap_call___trt__GetVideoEncoderConfigurations
soap_call___trt__GetAudioSourceConfigurations
soap_call___trt__GetAudioEncoderConfigurations
soap_call___trt__GetVideoAnalyticsConfigurations
soap_call___trt__GetMetadataConfigurations
soap_call___trt__GetAudioOutputConfigurations
soap_call___trt__GetAudioDecoderConfigurations
soap_call___trt__GetVideoSourceConfiguration
soap_call___trt__GetVideoEncoderConfiguration
soap_call___trt__GetAudioSourceConfiguration
soap_call___trt__GetAudioEncoderConfiguration
soap_call___trt__GetVideoAnalyticsConfiguration
soap_call___trt__GetMetadataConfiguration
soap_call___trt__GetAudioOutputConfiguration
soap_call___trt__GetAudioDecoderConfiguration
soap_call___trt__GetCompatibleVideoEncoderConfigurations

soap_call___trt__GetCompatibleVideoSourceConfigurations
soap_call___trt__GetCompatibleAudioEncoderConfigurations
soap_call___trt__GetCompatibleAudioSourceConfigurations
soap_call___trt__GetCompatibleVideoAnalyticsConfigurations
soap_call___trt__GetCompatibleMetadataConfigurations
soap_call___trt__GetCompatibleAudioOutputConfigurations
soap_call___trt__GetCompatibleAudioDecoderConfigurations
soap_call___trt__SetVideoSourceConfiguration
soap_call___trt__SetVideoEncoderConfiguration
soap_call___trt__SetAudioSourceConfiguration
soap_call___trt__SetAudioEncoderConfiguration
soap_call___trt__SetVideoAnalyticsConfiguration
soap_call___trt__SetMetadataConfiguration
soap_call___trt__SetAudioOutputConfiguration
soap_call___trt__SetAudioDecoderConfiguration
soap_call___trt__GetVideoSourceConfigurationOptions
soap_call___trt__GetVideoEncoderConfigurationOptions
soap_call___trt__GetAudioSourceConfigurationOptions
soap_call___trt__GetAudioEncoderConfigurationOptions
soap_call___trt__GetMetadataConfigurationOptions
soap_call___trt__GetAudioOutputConfigurationOptions
soap_call___trt__GetAudioDecoderConfigurationOptions
soap_call___trt__GetGuaranteedNumberOfVideoEncoderInstances
soap_call___trt__GetStreamUri
soap_call___trt__StartMulticastStreaming
soap_call___trt__StopMulticastStreaming
soap_call___trt__SetSynchronizationPoint
soap_call___trt__GetSnapshotUri
soap_call___trv__GetServiceCapabilities
soap_call___trv__GetReceivers
soap_call___trv__GetReceiver
soap_call___trv__CreateReceiver
soap_call___trv__DeleteReceiver
soap_call___trv__ConfigureReceiver
soap_call___trv__SetReceiverMode
soap_call___trv__GetReceiverState
soap_call___tse__GetServiceCapabilities
soap_call___tse__GetRecordingSummary
soap_call___tse__GetRecordingInformation
soap_call___tse__GetMediaAttributes
soap_call___tse__FindRecordings
soap_call___tse__GetRecordingSearchResults
soap_call___tse__FindEvents
soap_call___tse__GetEventSearchResults
soap_call___tse__FindPTZPosition
soap_call___tse__GetPTZPositionSearchResults
soap_call___tse__GetSearchState
soap_call___tse__EndSearch
soap_call___tse__FindMetadata
soap_call___tse__GetMetadataSearchResults
————————————————

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ONVIF协议是一种用于网络视频监控设备的开放型标准协议,它定义了设备端接口的规范。设备端指的是支持ONVIF协议的监控设备,比如网络摄像机、网络录像机等。 设备端接口是指设备端提供给上层应用的程序接口,通过这些接口,上层应用可以与设备进行通信、配置和控制。ONVIF协议规定了设备端接口的统一标准,这样不同厂家的设备可以实现互操作性。 设备端接口的源码主要由设备端厂商编写和实现。在实现ONVIF协议时,厂商需要参考ONVIF协议的规范文档和代码示例,并根据自己的设备特性进行开发。厂商需要实现一些基本的接口,如设备发现接口、设备信息获取接口、视频流获取接口、图像配置接口等。同时,为了保证互操作性,厂商还需要进行协议栈的开发,负责处理ONVIF协议相关的网络通信和数据传输。 设备端接口的具体源码实现会因厂商而异,每个厂商可能有自己的代码风格和实现方式。根据ONVIF协议的规范,厂商需要按照规范实现接口的功能和行为,并进行相应的接口测试和认证。这样,设备端才能确保与其他支持ONVIF协议的设备进行无缝的互联互通。 总之,ONVIF协议设备端接口的源码是由设备端厂商编写和实现的,它遵循ONVIF协议的规范,并实现相应的功能和行为。这样才能实现不同厂家的设备之间的互操作性,提供更好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值