SAFR Windows SDK
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events
RealNetworks.CameraKit.OnvifCamera Class Reference

An ONVIF camera object represents a camera which implements the ONVIF camera discovery and managed standard. More...

Inheritance diagram for RealNetworks.CameraKit.OnvifCamera:
RealNetworks.CameraKit.Camera

Public Member Functions

override void Authenticate (CameraCredentials credentials, CameraConnectCompletion completion)
 Authenticates the camera. This means that the camera will store the provided account and use it to get the current state of the physical camera which requires authentication to access it. E.g. it will fetch the available media profiles. More...
 
override string ToString ()
 
override List< IDepthProfileGetDepthProfiles (IVideoProfile vp)
 The depth profiles that are available for the given video profile More...
 
override CaptureSession CreateCaptureSession (IVideoProfile video, IDepthProfile depth=null, Accelerator accelerator=null)
 Create a new capture session with the given video profile. More...
 
- Public Member Functions inherited from RealNetworks.CameraKit.Camera
 Camera (CameraIdentifier identifier)
 
IVideoProfile GetProfile (string token)
 Returns the profile for the given token or nil if no such profile is known to the camera. More...
 
IDepthProfile GetBestDepthProfile (IVideoProfile vp)
 Returns the highest quality depth profile that is available for the given video profile. More...
 

Properties

Uri ServiceUrl [get]
 Returns the address of the camera. More...
 
VideoPlayer.RtspTransport RtspTransport [get, set]
 Returns the RTSP transport type. More...
 
override? CameraCredentials Credentials [get]
 The credentials to use for authentication More...
 
override bool RequiresAuthentication [get]
 Returns true if the camera requires authentication in order to access its video profile information and to stream from it. More...
 
override bool IsAuthenticated [get]
 Returns true if the camera has been successfully authenticated; false otherwise More...
 
override string LocalizedName [get, set]
 Returns the localized camera name More...
 
override CameraPosition Position [get]
 
override bool CanCaptureDepthData [get]
 Returns true if the camera is able to deliver depth data in addition to video data. More...
 
override bool CanAdjustGainExposure [get]
 Returns true if the camera supports adjusting gain and exposure. More...
 
override Range< float > GainRange [get]
 Returns the range of supported gain values. An empty range is returned if gain adjustment is not supported More...
 
override float Gain [get, set]
 The current camera sensor gain value. More...
 
override Range< float > ExposureRange [get]
 Returns the range of supported exposure values. Exposure is measured in milliseconds. An empty range is returned if exposure adjustments are not supported. More...
 
override float Exposure [get, set]
 The current exposure value in milliseconds. Exposure is typically half the frame rate. Exposure time is capped by the frame rate (it can not be longer than the time of a single frame). More...
 
override bool IsAutoGainExposureEnabled [get, set]
 Controls whether the camera itself should automatically adjust gain and exposure as needed. More...
 
String BackChannel [get, set]
 Returns BackChannel More...
 
String CashpointId [get, set]
 Returns CashpointId More...
 
bool LensCorrectionEnabled [get, set]
 Returns true if lens correction is enabled More...
 
double LensCorrectionFactorK1 [get, set]
 Returns the k1 lens correction factor More...
 
double LensCorrectionFactorK2 [get, set]
 Returns the k2 lens correction factor More...
 
int InitialFramePoolSize [get, set]
 Returns the initial size of the video decoder frame pool. More...
 
override CameraConfiguration Configuration [get, set]
 Returns the camera configuration More...
 
override List< IVideoProfileProfiles [get, protected set]
 The available profiles More...
 
override IVideoProfile DefaultProfile [get]
 Returns the default profile. This is a profile that should be used for capturing if you don't have any specific profile selection criteria. Null is returned if the camera has no suitable profiles available. More...
 
- Properties inherited from RealNetworks.CameraKit.Camera
CameraIdentifier Identifier [get]
 Returns the globally unique camera identifier. More...
 
CameraType CameraType [get]
 Returns the type of the camera. More...
 
abstract string LocalizedName [get, set]
 Returns the localized camera name. More...
 
abstract CameraPosition Position [get]
 Returns the position of the camera. More...
 
abstract bool CanCaptureDepthData [get]
 Returns true if the camera is able to deliver depth data in addition to video data. More...
 
virtual string?? UserSource [get, set]
 The user source override. The global default user source will be used if the camera doesn't have its own user source. More...
 
virtual bool MirroringEnabled [get, set]
 Returns true if the video frames are mirrored about the Y axis; false otherwise. More...
 
virtual int Rotation [get, set]
 Returns the value by which video frames are rotated clockwise after mirroring. More...
 
abstract bool CanAdjustGainExposure [get]
 Returns true if the camera supports adjusting gain and exposure. More...
 
abstract Range< float > GainRange [get]
 Returns the range of supported gain values. An empty range is returned if gain adjustment is not supported More...
 
abstract float Gain [get, set]
 The current camera sensor gain value. More...
 
abstract Range< float > ExposureRange [get]
 Returns the range of supported exposure values. Exposure is measured in milliseconds. An empty range is returned if exposure adjustments are not supported. More...
 
abstract float Exposure [get, set]
 The current exposure value in milliseconds. Exposure is typically half the frame rate. Exposure time is capped by the frame rate (it can not be longer than the time of a single frame). More...
 
abstract bool IsAutoGainExposureEnabled [get, set]
 Controls whether the camera itself should automatically adjust gain and exposure as needed. More...
 
bool CanCrop = true [get, protected set]
 Is cropping supported. More...
 
virtual bool CroppingEnabled [get, set]
 Is cropping enabled. More...
 
virtual ? RectangleF CropRectangle [get, set]
 The video crop rectangle in a normalized coordinate system from 0-1 with the origin in the top left corner. The video frame is cropped from the native resolution to this rectangle. If this is nil no cropping will occur. More...
 
float FrameRateReduction [get, set]
 Frame rate reduciton ratio (1.0 - no reduction). More...
 
abstract CameraConfiguration Configuration [get, set]
 Returns the camera configuration. More...
 
virtual bool ContrastEnhancementEnable [get, set]
 Enables / disables contrast enhancement. More...
 
virtual double LowLightThreshold [get, set]
 Contrast enhancement low light threshold. More...
 
virtual double ExposureBoost [get, set]
 Contrast enhanement exposure boost. More...
 
virtual bool DetectionOnlyContrastEnhancement [get, set]
 Enables / disables deferring of contrast enhancement from the camera side to the face detector side. More...
 
abstract List< IVideoProfileProfiles [get, protected set]
 The available profiles. More...
 
abstract IVideoProfile DefaultProfile [get]
 Returns the default profile. This is a profile that should be used for capturing if you don't have any specific profile selection criteria. Nil is returned if the camera has no suitable profiles available. More...
 
bool IsConnected [get]
 Returns true if the camera is connected and false if it got disconnected / removed. More...
 
abstract ? CameraCredentials Credentials [get]
 The credentials to use for authentication. More...
 
abstract bool RequiresAuthentication [get]
 Returns true if the camera requires authentication in order to access its video profile information and to stream from it. More...
 
abstract bool IsAuthenticated [get]
 Returns true if the camera has been successfully authenticated; false otherwise. More...
 
virtual int MetadataPort [get, set]
 The metadata ip port. More...
 
bool ShouldRestartCaptureSession = false [get, set]
 The metadata ip port. More...
 
DirectionOfTravelDescriptor DirectionOfTravelDescriptor [get, set]
 Unauthorized direction configuration. More...
 

Additional Inherited Members

- Protected Member Functions inherited from RealNetworks.CameraKit.Camera
void OnConfigurationDidChange (bool restartCaptureSession=false)
 Saves the current camera state and posts a didChange notification. Does nothing if the key paths array is empty. More...
 
- Events inherited from RealNetworks.CameraKit.Camera
EventHandler< DidChangeConfigurationEventArgsDidChangeConfiguration
 Configuration change event handler. More...
 

Detailed Description

An ONVIF camera object represents a camera which implements the ONVIF camera discovery and managed standard.

An ONVIF camera must be authenticated before it allows you to access the available video profile information and before you are able to create a capture session.

You authenticate an ONVI camera after it has been discovered by the camera manager and before you create a capture session. Invoke the Authenticate() function on the camera object with the correct camera credentials. The camera will start the authentication process and invoke the callback that you provided to the Authenticate() function once authentication is complete. The callback is invoked with an appropriate error if authentication was unsuccessful.

Member Function Documentation

◆ Authenticate()

override void RealNetworks.CameraKit.OnvifCamera.Authenticate ( CameraCredentials  credentials,
CameraConnectCompletion  completion 
)
virtual

Authenticates the camera. This means that the camera will store the provided account and use it to get the current state of the physical camera which requires authentication to access it. E.g. it will fetch the available media profiles.

Parameters
credentialsthe ONVIF credentials
completionthe completion handler

Implements RealNetworks.CameraKit.Camera.

◆ CreateCaptureSession()

override CaptureSession RealNetworks.CameraKit.OnvifCamera.CreateCaptureSession ( IVideoProfile  video,
IDepthProfile  depth = null,
Accelerator  accelerator = null 
)
virtual

Create a new capture session with the given video profile.

Parameters
videothe desired video profile
depththe desired depth profile (optional)
acceleratorthe accelerator that should be used for video decoding. Null means use the primary display accelerator
Returns
the capture session

Implements RealNetworks.CameraKit.Camera.

◆ GetDepthProfiles()

override List<IDepthProfile> RealNetworks.CameraKit.OnvifCamera.GetDepthProfiles ( IVideoProfile  vp)
virtual

The depth profiles that are available for the given video profile

Parameters
vpthe video profile
Returns
the available depth profiles

Implements RealNetworks.CameraKit.Camera.

◆ ToString()

override string RealNetworks.CameraKit.OnvifCamera.ToString ( )

Property Documentation

◆ BackChannel

String RealNetworks.CameraKit.OnvifCamera.BackChannel
getset

Returns BackChannel

◆ CanAdjustGainExposure

override bool RealNetworks.CameraKit.OnvifCamera.CanAdjustGainExposure
get

Returns true if the camera supports adjusting gain and exposure.

◆ CanCaptureDepthData

override bool RealNetworks.CameraKit.OnvifCamera.CanCaptureDepthData
get

Returns true if the camera is able to deliver depth data in addition to video data.

◆ CashpointId

String RealNetworks.CameraKit.OnvifCamera.CashpointId
getset

Returns CashpointId

◆ Configuration

override CameraConfiguration RealNetworks.CameraKit.OnvifCamera.Configuration
getset

Returns the camera configuration

◆ Credentials

override? CameraCredentials RealNetworks.CameraKit.OnvifCamera.Credentials
get

The credentials to use for authentication

◆ DefaultProfile

override IVideoProfile RealNetworks.CameraKit.OnvifCamera.DefaultProfile
get

Returns the default profile. This is a profile that should be used for capturing if you don't have any specific profile selection criteria. Null is returned if the camera has no suitable profiles available.

◆ Exposure

override float RealNetworks.CameraKit.OnvifCamera.Exposure
getset

The current exposure value in milliseconds. Exposure is typically half the frame rate. Exposure time is capped by the frame rate (it can not be longer than the time of a single frame).

◆ ExposureRange

override Range<float> RealNetworks.CameraKit.OnvifCamera.ExposureRange
get

Returns the range of supported exposure values. Exposure is measured in milliseconds. An empty range is returned if exposure adjustments are not supported.

◆ Gain

override float RealNetworks.CameraKit.OnvifCamera.Gain
getset

The current camera sensor gain value.

◆ GainRange

override Range<float> RealNetworks.CameraKit.OnvifCamera.GainRange
get

Returns the range of supported gain values. An empty range is returned if gain adjustment is not supported

◆ InitialFramePoolSize

int RealNetworks.CameraKit.OnvifCamera.InitialFramePoolSize
getset

Returns the initial size of the video decoder frame pool.

◆ IsAuthenticated

override bool RealNetworks.CameraKit.OnvifCamera.IsAuthenticated
get

Returns true if the camera has been successfully authenticated; false otherwise

◆ IsAutoGainExposureEnabled

override bool RealNetworks.CameraKit.OnvifCamera.IsAutoGainExposureEnabled
getset

Controls whether the camera itself should automatically adjust gain and exposure as needed.

◆ LensCorrectionEnabled

bool RealNetworks.CameraKit.OnvifCamera.LensCorrectionEnabled
getset

Returns true if lens correction is enabled

◆ LensCorrectionFactorK1

double RealNetworks.CameraKit.OnvifCamera.LensCorrectionFactorK1
getset

Returns the k1 lens correction factor

◆ LensCorrectionFactorK2

double RealNetworks.CameraKit.OnvifCamera.LensCorrectionFactorK2
getset

Returns the k2 lens correction factor

◆ LocalizedName

override string RealNetworks.CameraKit.OnvifCamera.LocalizedName
getset

Returns the localized camera name

◆ Position

override CameraPosition RealNetworks.CameraKit.OnvifCamera.Position
get

◆ Profiles

override List<IVideoProfile> RealNetworks.CameraKit.OnvifCamera.Profiles
getprotected set

The available profiles

◆ RequiresAuthentication

override bool RealNetworks.CameraKit.OnvifCamera.RequiresAuthentication
get

Returns true if the camera requires authentication in order to access its video profile information and to stream from it.

◆ RtspTransport

VideoPlayer.RtspTransport RealNetworks.CameraKit.OnvifCamera.RtspTransport
getset

Returns the RTSP transport type.

◆ ServiceUrl

Uri RealNetworks.CameraKit.OnvifCamera.ServiceUrl
get

Returns the address of the camera.