Orchid Core VMS uses two properties files to configure the system: orchid_server.properties and orchid_server.defaults.properties. These files contain settings that don’t change on a regular basis, and are reserved for those with administrator access. Both files can be used to configure all of the Orchid Core VMS properties, but the orchid_server.properties file has priority over the other file.

Beginning with version 2.10, some of the configuration settings can be edited from within the Orchid Core VMS software. (This is done using the Advanced Settings feature which is described in the Orchid Core VMS Administrator Guide.) There are some settings, however, that will still need to be changed by editing the configuration file directly. These settings need to be protected from unauthorized changes because they are critical for program stability and reliability.

If you need to make a change to any of the protected configuration settings, please refer back to the instructions provided for your operating system.

Orchid Core VMS’s configuration settings are listed below.

Web Server Settings

Possible values include http and https. (The tls.key and tls.certificate also need to be set. See TLS Settings discussed later in this topic.)

Port number of the web server.

Root path to the Orchid Core VMS HTML files.

Maximum number of threads used by the web server to handle requests. (Default: 16)

Maximum number of queued connections. (Default: 100)

Maximum age (seconds) of user session. (Default: 1 year)

Maximum age (seconds) of remote session. (Default: 1 day)

Enable/disable SSL/TLS ciphers (openssl cipher list format)

Archive Properties

Full path for the desired storage location of media archives. This takes the place of the webserver.archives.rootpath setting from previous versions. Unlike the old property, this one can be changed after installation and properly updates the archives to link to the new storage directory. Anytime you change this property, a new orchid-device.tag file will be created and saved in the new storage directory.

WebRTC Properties

IP address of the STUN server. (Note: If the host is set, the port must also be set. STUN can be disabled by setting host to “None” and not specifying a port. If host is not set, the STUN server defaults to stun.ipconfigure.com:3478.)

Port of the STUN server.

IP address of the TURN server.

Password of the TURN server.

Port of the TURN server.

Relay type of the TURN server.

Username of the TURN server.

This setting enables the processing of remote ICE candidates with mDNS hostnames. (Default: False)

This is used to set the static, public IP address of the Orchid Core VMS server. If set, all of the ICE host candidates will be replaced with this address. This option can speed up WebRTC connection times when Orchid Core VMS is behind a 1:1 NAT, such as in a cloud environment. (If the address supplied is incorrect, WebRTC will not work.)

RTSP Server Settings

Protocol of the RTSP server. Note that the RTSP server transport (UDP/TCP/HTTP) is dynamically chosen by the client, while the encryption RTSP v. RTSPS is set by the server.

  • rtsp
    Default – Orchid Core VMS UI will access the streams via UDP.
  • rtspt
    Orchid Core VMS UI will access the streams via TCP-interleaved.
  • rtsps
    Orchid Core VMS UI will access the streams via UDP SRTP.
  • rtspst
    Orchid Core VMS UI will access the streams via TCP-interleaved TLS.

Configure RTSP server to accept connections on the given service. This should be a string containing the service name or a string containing a port number between 1 and 65535. When service is set to 0, the server will listen on a random free port.

Number of seconds between checking to cleanup inactive sessions.

The maximum amount of queued requests for the server.

The maximum threads used by the pool to handle client requests. A value of 0 will use the pool mainloop; a value of -1 will use an unlimited number of threads.

The maximum allowed number of sessions. A value of 0 means there is an unlimited number of sessions.

Sets the minimum RTP port range.

Sets the maximum RTP port range.

Sets the maximum allowed latency/delay in milliseconds of an RTSP stream coming in to Orchid. A setting of 100 ms (the default) means that any media frames received by Orchid that are older than 100 ms will be ignored. (Increasing this setting may be useful when recording from cameras that are not on the same local network as the Orchid Core VMS server.)

TLS Settings

Full path to the PEM encoded TLS certificate file. This can include a chain of certificates.

Full path to the PEM encoded TLS key file.

Camera Discovery Settings

URI to the auto-discovery service. This allows you to connect to another ONVIF Auto-discovery service on another subnet. Usually this is set to tcp://

Database Settings

Full path (with filename) for the desired location of the sqlite database file.

To enable sqlite WAL mode, set to true. (Default: true.)

Set the sqlite PRAGMA busy_timeout (milliseconds).

Sets the interval (in minutes) at which the database will be optimized. A value of 0 or less disables periodic optimization. (Default: 60 minutes)

Database write lock timeout (seconds).

Database type to be configured by ODB.

Orchid Core VMS Server Settings

Orchid Core VMS default administrator user password.

Server ID. Changing this value will disassociate all currently saved Orchid Core VMS settings and video archives with the Orchid Core VMS server.

Maximum number of allowed Players on the Stage per client.

Maximum number of hours allowed for video export. (Default: 1 hour.)

Disables the Generic RTSP camera driver. When set to true, only the ONVIF cameras can be added. If this is set to true, and there are Generic RTSP cameras already registered, Orchid Core VMS will not start. (Default: false.)

Used to override the camera vendor check that restricts which cameras are permitted to use camera-based motion detection. (Camera-based motion detection is currently permitted only on Axis, Hanwha, and Vivotek cameras.) When set to true, an Administrator may attempt to configure camera-based motion detection on an unapproved camera type. (This attempt is not likely to succeed.) (Default: false.)

Prevents one or more specified properties from being modified through the Advanced Settings feature. Use a comma-separated list to identify properties to be locked. (Default: “”) (ie. orchid.lock_properties: locale, rlimit.openfiles.max)

The maximum amount of time (in seconds) the clock is allowed to skew before the Orchid Core VMS server is shut down.

RLIMIT/ULIMIT/Limits.conf (Linux Only) Settings

Maximum core size. Equivalent to ulimit -c. -1 for unlimited.

Maximum number of open files. Equivalent to ulimit -n.

Maximum stack size. Equivalent to ulimit -s.

Logging Settings

File logging level. The Orchid Core VMS logging system uses the levels below to determine what information will be logged. These levels are listed in order of ascending severity (but descending detail). For example, if you set this to trace, the system will keep very detailed logging. If you set this to critical, the system will log fewer details, including only those events that are critical. (Keep in mind that increasing the amount of detail in the log file will reduce the total amount of time that the logs will cover.)

  • trace
  • debug
  • normal – Recommended
  • notice
  • warning
  • error
  • critical

Log file location.

Console logging level.

Syslog logging level.

Console channel log levels (ie. Gst_Logger:trace, filesplit:debug)

File channel log levels.

Syslog channel log levels.

Gstreamer Debugging levels (ie. rtspclient:5, filesrc:3).

Maximum size of a single log file in MB.

Maximum duration of a single log file in minutes.

Maximum size of all log files (in MB) until cleanup occurs.

Hostname of syslog server.

Port of syslog server.

Archive Cleaner Settings

Maximum disk usage percentage before the archive cleaner will start deleting archives.

Percentage of additional space to delete when overflow detected.

Archive cleaner check period in seconds.

Low-bandwidth Playback Settings

Maximum number of allowed playback pipelines. (Default: 16)

Number of seconds to wait before closing playback pipeline if no additional frames are requested. (Default: 10)

Number of threads for handling playback pipeline construction. (Default: 12)

Maximum number of playback pipeline construction requests before dropping new requests. (Default: 1024)

Overrides the default SIMD instructions for encoding JPEG frames to base64. (Note: If the platform does not support the SIMD instruction set specified, low bandwidth mode will not work and may crash the Orchid Core VMS server.)

Video Archive Writer Settings

Sets the maximum duration in milliseconds for the file writer to finalize a file before abandoning the file and entering failover mode. (Default: 500)

Set the maximum duration in milliseconds that an individual file operation is permitted to take. (Default: 30000)

Maximum number of filewriter threads per stream. (Default: 2)

Language Property

Sets the language for Orchid Core VMS. This can be set during the initial software installation (if installing on Windows or Ubuntu), and may be changed by editing the Advanced Settings, or by editing the configuration file directly.

Available settings currently include the following:

  • de – German
  • en – English (Default)
  • es – Spanish
  • fr – French
  • it – Italian
  • nl – Dutch
  • pt – Portuguese
  • ru – Russian

Camera Stream Settings

The settings listed below should never need to be changed. Changes should only be performed by those with highly advanced knowledge of the software.

Minimum motion region size to report.

Size of square structuring element for dilation.

Size of square structuring element for second erosion.

Size of square structuring element for first erosion.

Minimum threshold in difference image to classify motion.

For H264 streams, set whether to decode all frames or key frames only. Note this affects motion detection and low-bandwidth live view.

Set the motion mode of the filesplit element.

Set the record state of the filesplit element.

Set the split time of the archived files (in seconds).

Default stream pipeline mode.

Enable h264reducer. This will only take effect if the stream is H264 and motion detection is enabled. This will install an h264drop element before filesaver and detect motion events (on the gstreamer bus) to enable and disable the dropper. Motion will record at the full framerate, while non-Motion will drop non-keyframes.


Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Please do not use this for support questions.
IPConfigure Technical Support

Post Comment