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 = 0.0.0.0 # 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.