<< Click to display table of contents >>


A class of TRVCamera.GStreamerProperty. Contains properties configuring GStreamer.

Unit MRVCamera;


TRVGStreamerProperty = class(TPersistent)



This class has the following properties:

UseGStreamer: Boolean – if True, and GStreamer is available, the component uses it (default value = True). If both GStreamer and FFmpeg are available and turned on, the component uses FFmpeg (see TRVCamera.FFMpegProperty).

AddBorders: Boolean adds black borders if necessary to keep the display aspect ratio (default value = False)

KBitrate: Intege – bitrate in kbit/sec (default value = 2048)

BufferSize: Integer – size of buffer used by GStreamer (default value = 40000)

Dither: Boolean adds dither; only used for Lanczos method (default value = False); see also Method

Envelope: Integer – size of filter envelope (default value = 200)

Latency: Integer – amount of ms to buffer for RTSP (default value = 2000)

Method: TRVGVideoScaleMethod – video scaling method (default value = rvgvfBilinear). See also UseVideoScale

Sharpen: Integer – sharpening; allowed values: 0..100 (default value=0)

Sharpness: Integer – sharpness of filter; allowed values:50..150 (default value = 100)

SlicedThreads: Boolean – low latency but lower efficiency threading (default value = False)

Threads: Integer – number of threads used by the codec, 0 for automatic; allowed values: <= 4 (default value = 0)

UseVideoScale: Boolean – use GStreamer to scale video  (default value = False); see also Method

VideoHeight: Integer – video output height; 0 - use the original height (default value = 0)

VideoWidth: Integer – video output width; 0 - use the original width (default value = 0)


Types used in the properties:

  TRVGVideoScaleMethod = (rvgvfNearest, rvgvfBilinear, rvgvf4Tap, rvgvfLanzos);

Types of video scaling method (see Method property)

rvgvfNearest – use nearest neighbor scaling (fast and ugly)

rvgvfBilinear – use bi-linear scaling (slower but prettier)

rvgvf4Tap – use a 4-tap filter for scaling (slow)

rvgvfLanzos – use a multitapLanczos filter for scaling (slow)