<< Click to display table of contents >>


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

Unit [VCL and LCL] MRVCamera;

Unit [FMX] fmxMRVCamera;


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), only used if UseVideoScale = True

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

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

Envelope: Integer – size of filter envelope (default value = 200), only used if UseVideoScale = True

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

Method: TRVGVideoScaleMethod – video scaling method (default value = rvgvfBilinear), only used if UseVideoScale = True

Sharpen: Integer – sharpening; allowed values: 0..100 (default value=0), only used if UseVideoScale = True

Sharpness: Integer – sharpness of filter; allowed values:50..150 (default value = 100), only used if UseVideoScale = True

UseVideoScale: Boolean – use GStreamer to scale video  (default value = False); many properties are applied only if UseVideoScale = True.

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)

Properties reserved for future use (encoding properties):

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

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)


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)