Skip to content Skip to main navigation Skip to footer

Understand SPE configuration

Finale and large scale deployment

The license settings is another part of the configuration prepared for shared storage. It can be used in various ways, please ask for consultancy if you need more details.

# Sets path to license file
# server.license = ${application.dir}license.dat

This part of the configuration should be self-explanatory:

# Limit for maximum upload file size
# server.upload_max_filesize = 10MB
# Limit for maximum upload file metadata size
# server.max_metadata_size = 1KB
# Set maximum length of TCP connection queue.
# if the queue is full, new requests are rejected
# Default is 64
server.tcp.queue = 64
# Set maximum threads for TCP connections.
# The threads fetch TCP connections from TCP queue and process them
# Default is 16
server.tcp.threads = 16
# Enable HTTP stream subsystem
stream.http.enable = true
# Set timeout for HTTP stream in seconds.
# If stream doesn't receive any data for given time, then stream is closed.
stream.http.timeout = 30
# Enable RTP stream subsystem
stream.rtp.enable = true
# IP address for create rtp sessions
stream.rtp.bind_ip =
# Sets starting port for creating RTP sessions
stream.rtp.min_port = 10000
stream.rtp.max_port = 11000
# Number of max opened sessions in one moment
stream.rtp.stream_limit = 10
# Set timeout for RTP socket in seconds.
# If RTP socket don't receive any data for a given time, then RTP socket is closed.
stream.rtp.timeout = 10

Enable automatic audio format conversion

Phonexia technologies and SPE directly support audio formats and codecs originally developed for speech recordings. Other formats can be converted for use with the SPE using 3rd party tools. The settings below determine which native codecs will be enabled and how the SPE should handle other audio formats.

# Enable or disable native support for OPUS audio format (Default: true)
# When disabled, audio file will be converted to WAV
server.audio_formats.opus.enabled = true
# Enable or disable native support for FLAC audio format (Default: true)
server.audio_formats.flac.enabled = true
# Enable or disable audio converter
audio_converter.enabled = true
# Set converter command
# %1 is for input file
# %2 is for output file
# ffmpeg example:
# audio_converter.command = ffmpeg -loglevel warning -y -i %1 %2
# sox example:
# audio_converter.command = sox %1 %2
audio_converter.command = ffmpeg -loglevel warning -y -i %1 %2

Large scale – sharing core technologies

The last configuration directive discussed here prepares the architecture for large scale topology and deployment. Why? By default, the core technology files can be found in the default location {spe_root}/bsapi/*. The total size of all files inside the BSAPI directories depends on the set of used technologies and more than 3GB of total size is pretty common. This fact can be problematic in architectures intended for fast and large deployment using source pools used for virtualization environment, spread across multiple collocation centers, working with geographical distribution and so on.

By using the bsapi.path directive (and with the help of environment variables) you can setup a more efficient deployment method. Simply un-comment this directive and set it up correctly.
Btw, did I mentioned before, that hash sign (#) at the beginning of lines means “this is a comment”?

# Set path to bsapi directory
# bsapi.path = ${application.dir}bsapi


# (c) 2013-2018 by Phonexia s.r.o.
Related Articles