Documentation ¶
Index ¶
- Constants
- Variables
- type Appliance
- type Audio
- type AudioEncoderConfiguration
- type AudioOutput
- type AudioSource
- type CertificateX
- type DeviceDescriptor
- type DeviceNetwork
- type DeviceSecurity
- type DeviceSystem
- type Event
- type Media
- type NetworkInterfaceX
- type ProfileMedia
- type ProfilePTZ
- type ProfileUris
- type Profiles
- type Ptz
- type Video
- type VideoEncoderConfiguration
- type VideoSource
- type XProfile
Constants ¶
View Source
const (
ProtocolRTSP = onvif.TransportProtocol("RTSP")
)
View Source
const (
StreamTypeDefault = onvif.StreamType("000")
)
Variables ¶
View Source
var ( // Logger is a zerolog logger, that can be safely used from any part of the application. // It gathers the format and the output. The application can replace the default Logger // for an alternative that meets its own output. Logger = zerolog. New(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339}). With().Timestamp(). Logger() )
Functions ¶
This section is empty.
Types ¶
type Appliance ¶ added in v0.0.3
type Appliance interface { // GetUUID return the unique identifier of the remote appliance. // The UUID is Usually known after the discovery. // TODO(jfs): determine the UUID for devices that do not requires discovery GetUUID() string GetDeviceEndpoint() string GetEndpoint(name string) string GetServices() map[string]string FetchStreamURI(ctx context.Context) string FetchDeviceDescriptor(ctx context.Context) DeviceDescriptor // FetchDeviceNetwork fetches from the Appliance the network configuration from the Device FetchDeviceNetwork(ctx context.Context) DeviceNetwork // FetchDeviceNetwork fetches from the Appliance the security configuration from the Device FetchDeviceSecurity(ctx context.Context) DeviceSecurity // FetchDeviceNetwork fetches from the Appliance the core system configuration from the Device FetchDeviceSystem(ctx context.Context) DeviceSystem // FetchMedia fetches from the Appliance a fully-hydrated Media structure FetchMedia(ctx context.Context) Media // FetchPTZ fetches from the Appliance a fully-hydrated Ptz structure FetchPTZ(ctx context.Context) Ptz // FetchEvent fetches from the Appliance a fully-hydrated Event structure FetchEvent(ctx context.Context) Event // FetchMediaProfiles fetches from the Appliance only the Profile related information, // otherwise part from the Media information FetchProfiles(ctx context.Context) Profiles }
func NewDevice ¶
func NewDevice(ctx context.Context, info networking.ClientInfo, auth networking.ClientAuth, httpClient *http.Client) (Appliance, error)
func WrapClient ¶ added in v0.0.3
func WrapClient(ctx context.Context, client *networking.Client, auth networking.ClientAuth) (Appliance, error)
type Audio ¶
type Audio struct { Sources []AudioSource Encoders []AudioEncoderConfiguration Outputs map[onvif.ReferenceToken]*AudioOutput }
type AudioEncoderConfiguration ¶
type AudioEncoderConfiguration struct { Configuration onvif.AudioEncoderConfiguration Options onvif.AudioEncoderConfigurationOptions }
type AudioOutput ¶
type AudioOutput struct { Output onvif.AudioOutput Configurations []onvif.AudioOutputConfiguration }
type AudioSource ¶
type AudioSource struct { Source onvif.AudioSource Configurations []onvif.AudioSourceConfiguration }
type CertificateX ¶ added in v0.0.3
type CertificateX struct { Certificate onvif.Certificate Pkcs10Response onvif.BinaryData Information onvif.CertificateInformation }
type DeviceDescriptor ¶
type DeviceDescriptor struct { Capabilities *onvif.Capabilities ServiceCapabilities *device.DeviceServiceCapabilities Information *device.GetDeviceInformationResponse Service []device.Service SystemDateAndTime *onvif.SystemDateTime Scopes []onvif.Scope EndpointReference string WsdlUrl string }
type DeviceNetwork ¶ added in v0.0.3
type DeviceNetwork struct { DPAddress []onvif.NetworkHost NetworkProtocols []onvif.NetworkProtocol RelayOutputs []onvif.RelayOutput NICs map[onvif.ReferenceToken]*NetworkInterfaceX Dot1XConfiguration map[onvif.ReferenceToken]*onvif.Dot1XConfiguration NTP *onvif.NTPInformation DNS *onvif.DNSInformation DynDNS *onvif.DynamicDNSInformation NetworkGateway *onvif.NetworkGateway ZeroConfiguration *onvif.NetworkZeroConfiguration IPAddressFilter *onvif.IPAddressFilter }
type DeviceSecurity ¶ added in v0.0.3
type DeviceSecurity struct { RemoteUser *onvif.RemoteUser Users []onvif.User AccessPolicy *onvif.BinaryData ClientCertificateMode bool NvtCertificate []CertificateX CACertificate []CertificateX CertificateStatus []onvif.CertificateStatus }
type DeviceSystem ¶ added in v0.0.3
type DeviceSystem struct { SystemLog *string AccessLog *string SupportInformation string DiscoveryMode string RemoteDiscoveryMode string Location *onvif.LocationEntity Hostname *onvif.HostnameInformation SystemUris *device.GetSystemUrisResponse StorageConfigurations []device.StorageConfiguration }
type Event ¶ added in v0.0.3
type Event struct { Capabilities event.Capabilities Properties event.GetEventPropertiesResponse }
type NetworkInterfaceX ¶ added in v0.0.3
type NetworkInterfaceX struct { NetworkInterface onvif.NetworkInterface Dot1XConfiguration onvif.Dot1XConfiguration Status onvif.Dot11Status }
type ProfileMedia ¶ added in v0.0.3
type ProfileMedia struct { CompatibleMetadata []onvif.ReferenceToken CompatibleVideoSources []onvif.ReferenceToken CompatibleVideoEncoders []onvif.ReferenceToken CompatibleVideoAnalytics []onvif.ReferenceToken CompatibleAudioSources []onvif.ReferenceToken CompatibleAudioEncoders []onvif.ReferenceToken CompatibleAudioOutputs []onvif.ReferenceToken CompatibleAudioDecoders []onvif.ReferenceToken }
type ProfilePTZ ¶ added in v0.0.3
type ProfilePTZ struct { Status onvif.PTZStatus Configuration onvif.PTZConfiguration Options onvif.PTZConfigurationOptions Preset []onvif.PTZPreset PresetTour []onvif.PresetTour }
type ProfileUris ¶ added in v0.0.3
type Profiles ¶
type Profiles struct {
Profiles map[onvif.ReferenceToken]*XProfile
}
type Ptz ¶ added in v0.0.3
type Ptz struct { Capabilities ptz.Capabilities Nodes []onvif.PTZNode Configuration []onvif.PTZConfiguration }
type Video ¶
type Video struct { Sources []VideoSource Encoders []VideoEncoderConfiguration AnalyticsConfigurations []onvif.VideoAnalyticsConfiguration }
type VideoEncoderConfiguration ¶
type VideoEncoderConfiguration struct { Configuration onvif.VideoEncoderConfiguration Options onvif.VideoEncoderConfigurationOptions }
type VideoSource ¶
type VideoSource struct { Source onvif.VideoSource Configurations []onvif.VideoSourceConfiguration }
type XProfile ¶
type XProfile struct { Profile onvif.Profile Uris ProfileUris Media ProfileMedia PTZ ProfilePTZ }
Click to show internal directories.
Click to hide internal directories.