The filter parameters can be passed at the end of the URL, with each "parameter=value" prefixed by a ">" or "!" character.

By example to specify a buffering of 100 milliseconds, add:

>buffer=100

or

!buffer=100

at the end of the URL. E.g.:

onvif://user:pass@192.168.2.55:8080>buffer=100

Several parameters can be combined, by example to specify no buffering (buffer=0) and low delay (lowdelay=1):

onvif://user:pass@192.168.2.55:8080>buffer=0>lowdelay=1

onvif://user:pass@192.168.2.55:8080!buffer=0!lowdelay=1

another examples that removes the buffering, latency and renders immediately (vidsync=0):

onvif://user:pass@192.168.2.55:8080>buffer=0>lowdelay=1>vidsync=0

parameter name | useable from the TVideoGrabber SDK | description

recordingfilename

- yes with StartPreview()

- not recommended with StartRecording(), the file name is controlled by the RecordingFileName property

Sets the recording file name. Setting this property enables the recording of the RTSP stream to a file. The extension determines the format of the recording.

The formats supported by the current version are:

mp4, flv, mov, avi, mkv

Examples:
c:\folder\recfile.mp4

c:\folder\recfile.flv

c:\folder\recfile.mov

c:\folder\recfile.avi

c:\folder\recfile.mkv

To configure the filter in recording mode without starting immediately the recording, set a nul file name without path with the desired extension, e.g.:

nul.mp4
Then, once the filter is running, when you want to really start the recording, just invoke:

Action (RTSP_Action_RecordToNewFileNow, c:\folder\realfilename.mp4)

to start writing to the file.

Remarks:

- the filter does not include an H264 encoder, it just saves the native H264 samples to the recording file.

- if the audio recording is enabled, it encodes the audio stream to PCM, MP3 or AAC depending on the recording format selected.

- if the recording file name is set while the filter is running, this closes the current file being recorded and starts saving to a new file on the fly.

autoreconnect | yes | Enables/disables the automatic reconnection of the filter. Default: enabled
maxanalyzeduration | yes | Maximum duration of the anaysis of the stream during the initial connection, expressed in milliseconds, e.g.: >maxanalyzeduration=1000
devicelosttimeout | controlled by TVideoGrabber, invoke SetIPCameraSetting (ips_ReceiveTimeout, value) | If no frame is received after this timeout (expressed in milliseconds, default = 10000) the auto reconnection (if autoreonnect=1) or device lost event (if autoreconnect=0) occurs (see the Auto reconnection chapter) Default: 10 sec. (10000)
buffer | yes | Specifies the buffering duration in milliseconds. Default: 0 if no audio, 1000 milliseconds if audio
timeout | controlled by TVideoGrabber, invoke SetIPCameraSetting (ips_ConnectionTimeout, value) | Connection timeout in milliseconds Default: 20000 (20 seconds)

rtsptransport

yes

RTSP transport mode:
0: automatic

1: tcp

2: udp

3: http

4: udp_multicast

rtsprange | yes | Optional Rtsp range specification (e.g. to start playing a clip stored on the RTSP source at the specified date/time). E.g.: clock=20150217T153000Z-
starttime | yes | If the source URL supports seeking, you can specify the start time expressed in milliseconds. E.g. if the start time should be 2 min 30 sec → 2x60 + 30 = 150 seconds = 150000 milliseconds, invoke SetInt ("Source_StartTime_int", 150000)
threads | yes | Number of threads assigned to the decoding (and eventually encoding) of the source. Default: 1 0: auto

lowdelay

yes

Used to enable/disable the low delay mode.
Enabling the low delay mode may help to reduce the latency.
However, when enabled, in some rare cases the video may appear jerky. In this case this setting must be kept disabled to avoid the jerkiness.
-1 : auto
0: disabled
1: enabled

srcframerate

yes

Used to specify the native frame rate of the video stream in the case it would not be properly detected (this has been reported with some video streams configured in Variable Bit Rate mode (VBR))

E.g. to specify 30 fps:

- programmatically:
DatasteadRTSPSourceConfig.Action (RTSP_Source_FrameRate_double, 30.0)

- at the end of the URL:
>srcframerate=30.0

|  | VIDEO OUTPUT PIN
videostreamenabled | no, controlled by TVideoGrabber | Enables/disables the video decompression and the rendering of the video pin Default: true

videopinformat

no, controlled by TVideoGrabber

By default the video pin can connect in RGB32 or RGB24 format.
This property allows to force one of the following pin formats (not case-sensitive):
RGB32
RGB24
RGB565
RGB555
NV12
UYVY
I420

textoverlay

not recommended, use instead the text overlay features of TVideoGrabber

Enables a text overlay
To enable more than one overlay, invoke the function more than one time with a different overlay ID.
Note: the overlay(s) must be enabled before loading the URL. If they must not be displayed immediately, set an empty string, then update it while the filter is running.
See the Text overlay chapter above for the syntax.

brighthuesat | no, use VideoProcessing_Brightness, VideoProcessing_Contrast, VideoProcessing_Saturation | Enables the brightness/hue/saturation adjustment. Note: must be enabled before loading the URL. If they must not be applied immediately, set the default values (b=0,h=0,s=1), then update them while the filter is running. See the Brightness/Hue/Saturation chapter for the syntax.
hwaccel | yes | Enables hardware-accelerated decoding: 0: no hardware acceleration 1: dxva2 acceleration 2: Intel Quick Sync acceleration
videostreamindex | yes | If the RTSP URL outputs more than 1 video stream, you can specify the index of the video stream to use (in the 0..n-1 range) Default: 0
deint | yes | Enables the deinterlacing: 0: no deinterlacing (default) 1: yadif deinterlacing 2: w3fdif deinterlacing (consumes more CPU)
width | yes | Used to specify a non-default frame width for the video pin note: when the URL is connected, GetInt (RTSP_VideoStream_Width_int, Value) returns the video width of the decoded video stream
height | yes | Used to specify a non-default frame height for the video pin note: when the URL is connected, GetInt (RTSP_VideoStream_Height_int, Value) returns the video height of the decoded video stream
maxframerate | yes | Used to specify the frame rate of the video pin Default: native frame rate of the video stream Note: passing -1 as value let enable the keyframe-only decoding mode, only the key frames are decoded. In this case the frame rate depend on the key frame spacing of the IP camera or RTSP / RTMP source.
vidsync | yes | If disabled, the filter removes the sample times, so the samples are rendered as fast as possible (the samples are not scheduled for rendering) Default: 1 vidsync=0 disables it
videofilter | yes | Specifies a Ffmpeg video filter to use, e.g. hflip for an horizontal flipping, vflip for a top-down image Note: depending on the context, some filters may not be useable
|  | FRAME CAPTURE
framecapturewidth | no, controlled by the FrameCaptureWidth property of TVideoGrabber | Specifies a non-default width for the next captured frame
framecaptureheight | no, controlled by the FrameCaptureHeight property of TVideoGrabber | Specifies a non-default height for the next captured frame
framecapturetime | no | Schedules the stream time the next frame will be captured, expressed in milliseconds
framecapturefilename | no, controlled by TVideoGrabber | Specifies the full path and file name of the next frame to capture. The extension specifies the format, the supported formats are: BMP, JPG, PNG, TIFF E.g.: DatasteadRTSPSourceConfig.SetStr (RTSP_FrameCapture_FileName_str, "c:\folder\nextframe.png")
|  | AUDIO OUTPUT PIN
audiobitrate | yes | Specifies the encoding bit rate for the audio codec (PCM, MP3 or AAC)
audiostreamenabled | no, controlled by TVideoGrabber (AudioDeviceRendering and/or AudioRecording) | Enables/disables the audio decompression and the rendering of the audio pin Default: true
audiostreamindex | yes | If the RTSP URL outputs more than 1 audio stream, you can specify the index of the audio stream to use (in the 0..n-1 range) Default: 0
audiofilter | yes | Specifies a Ffmpeg audio filter to use Note: depending on the context, some filters may not be useable
audiovolume | yes | audio volume adjustment. 65535 = default volume 0 = muted < 65535: reduces the volume > 65535: increases the volume
|  | RESTREAMING: DESTINATION URL AND ENCODING

desturl

yes

Sets the re-streaming URL.
Examples (at the end of the RTSP URL)

RTSP server on port 6000 (the IP address is the address of a network card on the PC running the filter)

>desturl=rtspsrv://192.168.0.25:6000

UDP unicast on port 5000 (the IP address is the IP address of the client PC

>desturl=udp://192.168.0.200:5000

UDP multicast on port 4000
>desturl=udp://239.255.0.10:4000

Programmatical example:
DatasteadRTSPSourceConfig.SetStr ("RTSP_Dest_URL_str", "rtspsrv://192.168.0.25:6000")

destvideobitrate | yes | Sets the re-streaming video bit rate expressed in kb/s
destvideoquality | yes | Sets the re-streaming video quality in the 0..31 range (-1 = disabled, 0 = best quality, other values decrease the quality) Note: setting a value enables the VBR encoding mode
destvideokeyframeinterval | yes | Sets the key frame spacing (default 30)