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

webserver.protocol
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.)

webserver.port
Port number of the web server.

webserver.html.rootpath
Root path to the Orchid Core VMS HTML files.

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

webserver.maxqueued
Maximum number of queued connections. (Default: 100)

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

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

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

Archive Properties

archives.dir
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

webrtc.stun.host
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.)

webrtc.stun.port
Port of the STUN server.

webrtc.turn.host
IP address of the TURN server.

webrtc.turn.password
Password of the TURN server.

webrtc.turn.port
Port of the TURN server.

webrtc.turn.type
Relay type of the TURN server.

webrtc.turn.username
Username of the TURN server.

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

webrtc.public_ip
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

rtsp.protocol
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.

rtsp.service
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.

rtsp.session_cleanup_period
Number of seconds between checking to cleanup inactive sessions.

rtsp.server_backlog
The maximum amount of queued requests for the server.

rtsp.max_threads
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.

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

rtsp.rtp_port_range.min
Sets the minimum RTP port range.

rtsp.rtp_port_range.max
Sets the maximum RTP port range.

capture.latency
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

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

tls.key
Full path to the PEM encoded TLS key file.

Camera Discovery Settings

cameradiscovery.publisher.uri
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://127.0.0.1:5565.

Database Settings

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

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

sqlite.busy.timeout
Set the sqlite PRAGMA busy_timeout (milliseconds).

sqlite.optimize.interval
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.timeout.seconds
Database write lock timeout (seconds).

database.type
Database type to be configured by ODB.

Orchid Core VMS Server Settings

orchid.admin.password
Orchid Core VMS default administrator user password.

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

orchid.max_player_count
Maximum number of allowed Players on the Stage per client.

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

orchid.disable_generic_rtsp_driver
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.)

orchid.disable_onvif_event_whitelist
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.)

orchid.lock_properties
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)

clockwatcher.skew.threshold.seconds
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

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

rlimit.openfiles.max
Maximum number of open files. Equivalent to ulimit -n.

rlimit.stack.max
Maximum stack size. Equivalent to ulimit -s.

Logging Settings

severity.file.default
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

logger.dir
Log file location.

severity.console.default
Console logging level.

severity.syslog.default
Syslog logging level.

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

severity.file.channel
File channel log levels.

severity.syslog.channel
Syslog channel log levels.

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

logs.file_size
Maximum size of a single log file in MB.

logs.split_time
Maximum duration of a single log file in minutes.

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

syslog.address
Hostname of syslog server.

syslog.port
Port of syslog server.

Archive Cleaner Settings

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

archivecleaner.delete.percentage
Percentage of additional space to delete when overflow detected.

archivecleaner.periodic.seconds
Archive cleaner check period in seconds.

Low-bandwidth Playback Settings

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

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

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

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

framepuller.websocket.base64simd
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

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

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

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

Language Property

locale
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.

streampipeline.bgseg.boxArea
Minimum motion region size to report.

streampipeline.bgseg.dialate
Size of square structuring element for dilation.

streampipeline.bgseg.postErode
Size of square structuring element for second erosion.

streampipeline.bgseg.preErode
Size of square structuring element for first erosion.

streampipeline.bgseg.threshold
Minimum threshold in difference image to classify motion.

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

streampipeline.filesplit.motionMode
Set the motion mode of the filesplit element.

streampipeline.filesplit.recordState
Set the record state of the filesplit element.

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

streampipeline.mode
Default stream pipeline mode.

streampipeline.motionReducer
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.

Feedback

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