<< Click to display table of contents >>


A class of TRVCamera.FFMpegProperty. Contains properties configuring FFmpeg.

Unit [VCL and LCL] MRVCamera;

Unit [FMX] fmxMRVCamera;


TRVFFMpegProperty = class(TPersistent)



Property for turning FFmpeg support on/off:

UseFFMpeg: Boolean – if True, and FFmpeg 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.GStreamerProperty.UseGStreamer).

Property allowing/disallowing using FFmpeg parameters specified in this class:

UseFFMpegProperty: Boolean – if True, the parameters listed below are passed to FFmpeg (default value = True). Otherwise, FFmpeg is used with the default parameters.

Properties defining video processing by TRVCamera:

FrameDrop: Boolean - if True, TRVCamera drops frames that are received too late (default value= False).

FFmpeg parameters:

CustomProperties: TStringsList – additional FFmpeg properties. It allows providing parameters in addition to the parameters listed below. Each string must have the format 'param_name=param_value'. For the list of supported parameters, see the documentation about ffplay command line.

Threads: Integer – count of video processing threads; 0 (default) for auto-calculation.

TimeOut: Integer – maximum timeout (in seconds) to wait for incoming connections, -1 for infinite waiting. Default value is -1. Note: in any case, RVMedia does not allow timeouts more than 20 seconds.

UseVideoScale: Boolean  – if True, video is requested in the size specified in VideoWidth, VideoHeight properties. Otherwise (default), it has the original size.

VideoWidth, VideoHeight: Integer are used only if UseVideoScale = True.

RTSPTransport: TRVProtocolsEx – RTSP transport network protocol, [rvpeTCP, rvpeUDP] by default. Multiple lower transport protocols may be specified, in that case they are tried one at a time.

RTSPFlags: TRVRTSPFlags sets RTSP flags, [] by default.

Video: Boolean allows receiving video, True by default.

Audio: Boolean allows receiving audio, True by default (note: TRVCamera ignores audio steams).

MaxDelay: Integer – maximum muxing or demuxing delay in microseconds (0 or -1 for using defaults), 0 by default.

STimeOut: Integer – timeout (in microseconds) of socket TCP I/O operations (0 for using defaults), 0 by default.

RecvBufferSize: Integer – UDP receive buffer size in bytes, 65535 by default.

UdpFifoBufferSize: Integer –packet buffer size in bytes, 1000000 by default. May be set to 0.

TcpNodelay: Boolean – True to disable Nagle’s algorithm, False to enable it; False by default.

OverrunNonfatal: Boolean allows to survive in case of UDP receiving circular buffer overrun, True by default.

VideoFilter: TRVFFMpegFilter (one of rvffNone, rvffFastBilinear, rvffBilinear, rvffBicubic, rvffX, rvffPoint, rvffArea, rvffBicublin, rvffGauss, rvffSinc, rvffLaczos, rvffSpline) defines video scaling method, rvffBilinear by default.

ProbeSize: Int64 sets probing size in bytes, i.e. the size of the data to analyze to get stream information. A higher value will enable detecting more information in case it is dispersed into the stream, but will increase latency. Must be an integer not lesser than 32. It is 5000000 by default.