Основные настройки сервера
Серым цветом выделены устаревшие либо недействительные настройки, которые использовались в предыдущих версиях. Эти настройки, вероятнее всего, будут удалены в следующих обновлениях WCS.
Опция | Значение по умолчанию | Тип | Требуется перезапуск | Описание |
aac_bitrate | 128000 | Integer | false | AAC encoding bitrate |
aac_encoder_sync_drop_threshold | 1000 | Long | true | JitterBuffer will be reset upon reaching this number of dropped sync packets |
aac_test_start_codec | 20 | Integer | true | AAC test codecs count |
aac_test_transcode_iterations | 1000 | Integer | true | AAC test interval |
add_register_auth_headers | false | Boolean | false | If true, then add Authorization header in REGISTER request when first registering. |
agent_set_local_session_debug | false | Boolean | false | If true, enable local agent session debug |
allow_domains | null | String | false | If set, then WebSocket connections from these domains only will be allowed |
allow_outside_codecs | true | Boolean | false | If false, don't add outside (browser) codecs to SDP |
allow_reinvite_in_hold_state | true | Boolean | false | If true, process re-INVITE requests within the session even if the call is in hold state |
answer_with_one_codec_in_sdp | false | Boolean | false | If true, answer with one codec only in SDP. |
audio_frames_per_packet | 6 | Integer | false | RTMFP. Audio will be flushed after this number of audio frames in the packet is reached |
audio_incoming_buffer_size | 20 | Integer | false | Waiting for RTCP sync packet on this interval in packets, for audio |
audio_incoming_min_buffer_size | 2 | Integer | false | Waiting for RTCP sync packet at least on this interval in packets, for audio |
audio_mixer_max_delay | 300 | Integer | false | Audio mixer max delay in milliseconds |
audio_mixer_output_codec | opus | String | false | Audio mixer output codec (multiple codecs not allowed) |
audio_mixer_output_sample_rate | 48000 | Integer | false | Audio mixer output samle rate in Hz |
audio_reliable | partial | on | false | RTMFP, reliability for audio |
audio_stream_mode_udp | true | Boolean | true | Not in use |
auto_login_url | null | String | false | Not in use |
aws_s3_credentials | null | String | true | AWS s3 credentials: region;accessKey;secretKey |
balance_header | balance | String | false | This SIP header will be sent to client as a balance |
burst_avoidance_count | 100 | String | false | Burst avoidance count |
busy_state | null | String | false | Used if send_busy_when_on_call=true, and an incoming call comes during another established call. Caller will receive this status. |
call_record_listener | com.flashphoner.server.client.DefaultCallRecordListener | String | false | Full name of Java class that implements interface ICallRecordListener |
cdn_advertise_pulled | false | Boolean | true | If true, pulls CDN advertise |
cdn_allowed_ips | 95.191.131.65 | 95.191.131.64 | 88.198.99.218 | true, null, `cdn_allowed_ips`, Comma-separated list of allowed IPs or networks for CDN. |
cdn_enabled | false | Boolean | true | If true, enables CDN |
cdn_groups | ArrayList | true | CDN groups for this node | |
cdn_inbound_auditor_interval | 1000 | Integer | true | Time interval to check inbound connections, in milliseconds |
cdn_inbound_connection_unanswered_pings | 3 | Integer | true | Inbound connection unanswered pings number. |
cdn_ip | null | String | true | CDN node IP address (or domain name when cdn_nodes_resolve_ip=true) |
cdn_load_interval | 500 | Integer | true | load interval |
cdn_load_node | false | Boolean | true | Turn on cdn load behaviour |
cdn_load_pool_size | 500 | Integer | true | load pool |
cdn_load_proto_pull | websocket | String | true | CDN load protocol stream |
cdn_load_reserved_stream | String | true | CDN load reserved stream | |
cdn_load_step | 10 | Integer | true | load step |
cdn_node_load_average_threshold | 1.0 | Double | true | If threshold reached node will advertise it's state as GROUP_CONNECTIONS |
cdn_nodes_auditor_interval | 1000 | Integer | true | Time interval to check available CDN nodes, in milliseconds |
cdn_nodes_resolve_ip | false | Boolean | true | If true, resolve CDN node domain names to IP addresses |
cdn_nodes_route_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN routes, in milliseconds |
cdn_nodes_timeout | -1 | Integer | true | CDN nodes timeout in seconds. -1 means nodeTimeout disabled |
cdn_origin_to_origin_route_propagation | false | Boolean | true | If true, origin sends routes to other origins |
cdn_outbound_auditor_interval | 2000 | Integer | true | Time interval to check outbound connections, in milliseconds |
cdn_outbound_connection_timeout | 6000 | Integer | true | Outbound connection timeout, in milliseconds |
cdn_point_of_entry | String | true | CDN point of entry node IP address (or domain name when cdn_nodes_resolve_ip=true) | |
cdn_port | 8084 | Integer | true | CDN server port |
cdn_role | EDGE | ORIGIN | true | CDN role: |
cdn_skip_pulled_streams | true | Boolean | true | If true, skip pulled streams |
cdn_ssl | false | Boolean | true | If true, enables SSL |
cdn_transcoder_for_new_connects_expire | 10000 | Integer | true | CDN transcoder cache expire for new stream requests |
chat_listener | null | String | false | Full name of Java class that implements interface IChatListener |
check_receiver_origin | false | Boolean | false | If true, check origin of RTCP packet and discard if unknown |
cli_auth_keys | /usr/local/FlashphonerWebCallServer/.ssh/authorized_keys | String | true | CLI Auth keys file path |
cli_enabled | true | Boolean | true | If true, enables CLI |
cli_port | 2001 | Integer | true | CLI server port |
client_acl_property_name | null | String | true | Access list identifier property key that server should look for in custom config when client connects |
client_dump_level | 0 | Integer | false | If tcpdump is installed in the system, it will be started and will capture client session traffic: |
client_handler | null | String | true | Not in use |
client_log_exclude | String | false | Do not log events listed | |
client_log_level | INFO | String | false | Log4j level. |
client_mode | true | Boolean | false | If true, the value of ip_local= setting will be used in SIP and SDP. If false, then the value of ip= will be used |
client_subscribe_streams_max | 10 | Integer | false | Max subscribe streams allowed for client |
client_timeout | 3600000 | Integer | false | Client timeout value in milliseconds |
codec_terminator_timeout | 5000 | Integer | false | Codec release timeout, in seconds. |
codecs | null | String | false | List of supported codecs ordered by priority |
codecs_exclude_cdn | null | String | false | Comma-separated list of codecs which will not be used for CDN |
codecs_exclude_sip | null | String | false | Comma-separated list of codecs which will not be used for SIP phone cases |
codecs_exclude_sip_rtmp | null | String | false | Comma-separated list of codecs which will not be used for SIP as RTMP case |
codecs_exclude_streaming | null | String | false | Comma-separated list of codecs which will not be used for streaming |
complex_test_config | String | false | Complex transcoder test configuration | |
complex_test_decode | false | Boolean | false | Enable decoding during complex transcoding test |
complex_test_fps | 15 | Integer | true | Complex transcoder test FPS |
complex_test_replay | 3 | Integer | true | Complex transcoder test repeats count |
complex_test_thread | 3 | Integer | true | Complex transcoder test threads count |
core_standalone_web_dir | null | String | false | Web directory for standalone mode |
cost_header | cost | String | false | This SIP header will be sent to client as a call cost |
cps_client | null | String | false | Comma-separated list of IPs or networks with corresponding CPS limits. |
cps_interval | 1000 | Long | false | Time window for measuring CPS, in milliseconds |
cps_node | 2147483647 | Integer | false | Global CPS limitation for node |
cpu_load_avg_size | 20 | Integer | true | CPU load average size |
cpu_load_refresh | 50 | Integer | true | CPU load refresh rate |
cpu_load_reject | false | Boolean | false | If true, reject streams when CPU load exceeds treshold |
cpu_load_threshold | 80 | Integer | true | CPU load treshold |
cpu_load_window | 2000 | Integer | true | Timeslice to estimate CPU load |
custom_ice_agent | true | Boolean | false | If true, use custom ICE agent |
custom_watermark_filename | null | String | false | Sets custom PNG file for watermark. The file should be placed in /usr/local/FlashphonerWebCallServer/conf directory. The feature is not available for Trial license |
data_packet_decoder_fire_null_messages | true | Boolean | false | If true, pass special data packet up the RTP process chain when original received data failed to decode |
datagram_channel_factory | NioDatagramChannelFactory | String | true | NioDatagramChannelFactory, OioDatagramChannelFactory - channel factory used for server sockets |
decoded_frame_interceptor | null | String | false | Full name of Java class that implements interface IDecodedFrameInterceptor. This class should be wrapped to .jar file placed in /usr/local/FlashphonerWebCallServer/lib directory |
decoder_binary_log_enable | false | Boolean | false | Binary log decoder |
decoder_binary_log_size | 5 | Integer | true | Binary log decoder size |
decoder_mode | JNI | QUEUE | false | Decoder mode |
decoder_priority | FF,OPENH264 | String | false | Decoder priority |
decoder_stat_log | false | Boolean | false | Enable decoder statistics logging |
default_sdp_state | sendrecv | String | false | If SDP from SIP side comes without sendrecv, recvonly, or sendonly attribute, then it is assumed that the attribute defined in this setting was received |
degraded_streams_threshold | 20 | Integer | true | Degraded streams threshold |
degraded_streams_window | 2000 | Integer | true | Timeslice to estimate stream degradation |
delta_threshold | 100 | Integer | false | RTMFP. If delta between UDP media packets is greater than the threshold, it will be reported |
detect_flash_2_flash_calls | true | Boolean | false | If true, WCS server will use an RTP extension header in RTP packets, which can be used for designation of WCS's own streams, even if they are traced through third-party PBX, e.g. Asterisk |
disable_drop_aac_frame | true | Boolean | false | If true, disables dropping AAC frames |
disable_manager_rmi | true | Boolean | true | If true, disables RMI communications between WCS Core and WCS Manager |
disable_rest_auth | true | Boolean | false | If true, disables authorization in rest api |
disable_rest_requests | false | Boolean | true | If true, disables Rest requests to application |
disable_rtc_ata | null | String | false | By default WCS server will try to avoid transcoding and send its supported codec to the other side, even if codecs will be chosen asymmetrically. This behaviour is called Avoid Transcoding Algorithm (ATA). |
disable_rtc_avoid_transcoding_alg | false | Boolean | false | If true, disables RTC ATA (see above) |
disable_streaming_proxy | false | Boolean | false | If true, disable proxy and enable transcoding for all streams. For debug only |
disable_streaming_proxy_aac | false | Boolean | false | If false, enable AAC proxying |
domain | null | String | false | SIP domain. If this parameter is set, it will redefine values that were transmitted during connection |
dtls_close_socket_after_tries | 0 | Integer | false | Disable / enable DTLS session termination after the specified number of connection attempts. |
dtls_message_timeout | 15 | Integer | false | DTLS handshake timeout in seconds, must be set to a non-zero value |
dtls_socket_timeout_ms | 1000 | Integer | false | DTLS socket SO_TIMEOUT in milliseconds. With this option set to a non-zero value, a read() call on the InputStream associated with this Socket will block for only this amount of time |
dtls_use_socket_timeout | true | Boolean | false | If true, enable DTLS socket SO_TIMEOUT |
dtmf | null | String | false | This type will be used if DTMF type (INFO, INFO_RELAY, RFC2833) was not specified when DTMF was sent |
dump_avcc_relay | false | Boolean | false | If true, write outgoing MSE packets to file. That file can afterwards be processed as VoD at client side. Used for MSE development tests |
enable_candidate_harvester | false | Boolean | false | If true, gather ICE candidates using external STUN server |
enable_empty_shift_writer | false | Boolean | false | Enable empty shift writer for conference |
enable_extended_logging | true | Boolean | false | When extended logging is enabled, these settings are used: |
enable_flight_recorder | false | Boolean | false | Enable flight recorder |
enable_flight_recorder_test | false | Boolean | false | Enable flight recorder test |
enable_local_videochat | false | Boolean | false | Not in use |
enable_new_client_logger | true | Boolean | false | If true, enable new client logger |
enable_rtc_video_generator | false | Boolean | false | Designed to avoid video negotiation issue in SIP cases. If true, generated video will be sent once session is established. It is a workaround and should not be used in normal situation |
enable_sip_stack_thread_audit | true | Boolean | false | If true, enable audit of SIP stack |
encode_record_name | null | String | true | Encode record name setting |
encoder_buffer_length_sec | 1 | Integer | false | Encoding buffer for audio, in seconds |
encoder_default_video_resolution | 640x480 | String | false | encoder_default_video_resolution |
encoder_mode | JNI | QUEUE | false | Encoder mode |
encoder_priority | FF,OPENH264 | String | false | Encoder priority |
encoder_stat_log | false | Boolean | false | Enable encoder statistics logging |
event_scanner_cached_pool | false | Boolean | false | If true, use event scanner cached pool |
event_scanner_pool_size | 10 | Integer | false | Event scanner pool size |
exclude_record_name_characters | null | String | true | Exclude characters from record name |
fetch_caller_from_pai | false | Boolean | false | If true, then for an incoming call the caller should be taken from PAI (P-Asserted-Identity) header. If that header is empty, the caller will be displayed as Unknown/Anonymous |
fetch_caller_from_pai_set_from_if_empty | false | Boolean | false | If true, fetch caller from PAI 'from' when caller is empty |
flash_codecs | alaw,ulaw,speex16,h264,vp8 | String | false | This set of codecs (if it is not empty) will be used if either party of a call is Flash |
flash_policy.port | 843 | Integer | true | Listening port for flash policy requests to crossdomain.xml file |
flash_streaming_enable | true | Boolean | false | Not in use |
flight_recorder_capacity | 500 | Integer | false | Flight recorder's buffer capacity in records |
flight_recorder_categories | NONE | NONE | true | Flight recorder categories |
flush_audio_interval | 80 | Integer | true | RTMFP flush interval in milliseconds for flash-audio data from server |
flush_video_interval | 0 | Integer | true | RTMFP flush interval in milliseconds for flash-video data from server |
force_client_requested_video_resolution | true | Boolean | false | If true, use client-specified resolution passed in Stream object |
force_expires | -1 | Integer | false | If this parameter is set, WCS server will assume that Expires header had this value in 200 OK received in response to SIP REGISTER request |
force_local_audio_codec | null | String | false | This setting is used for Flash SIP calls. You can enforce audio codec, e.g. ulaw, and Flash client should switch to that audio codec |
force_periodic_fir_request_for_sip_as_rtmp | true | Boolean | false | If true, FIR request will be sent to SIP endpoint every 5 seconds |
force_profile_level | null | String | false | If set, this profile will be used regardless of profiles which figured in H.264 codec negotiation. |
force_rtmp_audio_codec | null | String | false | Forced codec for old as-RTMP cases using RTMPOutputWriter and for the latest HLS writer |
force_sendrecv_for_outgoing_calls | false | Boolean | false | If true, force 'sendrecv' for audio and video for outgoing SIP calls |
generate_av_for_ua | null | String | true | WCS server generates RTP traffic (inaudible audio and video with Flashphoner logo) when SIP session is established if detected that the other party's SIP User Agent name is specified in the setting. |
get_callee_url | null | String | false | Not in use |
global_bandwidth_check_enabled | false | Boolean | false | If true, enable global bitrate in and out in statistics |
h264_buffer_nack_list_threshold | 30 | Integer | false | JitterBuffer will be reset upon reaching this number of NACK packets |
h264_max_nalu_size | 1346 | Integer | true | Maximum size of outgoing NALU while H.264 is encoded. The option is used to prevent MTU excess while encoding high resolution video |
h264_new_buffer | false | Boolean | false | Not in use |
handler_async_disconnect | true | Boolean | false | If true, enable asynchronous disconnect handler |
hangup_incoming_call_state | null | String | false | Send BUSY_HERE by default. |
hide_all | false | Boolean | false | If true, do not send SIP messages to browser |
hls.address | 0.0.0.0 | InetAddress | true | Listening address for HLS server |
hls.http.port | 8082 | Integer | true | HLS server HTTP port |
hls.https.port | 8445 | Integer | true | HLS server HTTPS port |
hls_access_control_headers | null | String | true | HLS response headers |
hls_auth_enabled | false | Boolean | false | Enable check auth tokens for hls |
hls_auth_token_cache | 10 | Integer | false | Timeout for cache auth tokens in seconds |
hls_auto_start | false | Boolean | false | If true, enable HLS autostart |
hls_disable_cleanup | false | Boolean | false | Do not remove inactive hls files from hdd |
hls_discontinuity_enabled | false | Boolean | false | If true, enables HLS discontinuity |
hls_enabled | true | Boolean | false | If true, enable HLS support |
hls_list_size | 10 | Integer | false | Maximum number of segments in playlist |
hls_manager_provider_timeout | 300 | Integer | false | HLS manager provider timeout |
hls_min_list_size | 1 | Integer | false | Minimum number of segments in playlist (should be less than 11) |
hls_player_height | 480 | Integer | false | HLS player height |
hls_player_width | 640 | Integer | false | HLS player width |
hls_server_enabled | true | Boolean | true | If true, activate HLS server |
hls_static_dir | client2/examples/demo/streaming/hls_static | String | false | HLS static dir |
hls_static_enabled | false | Boolean | false | If true, enables HLS static content |
hls_test_interval | 182000 | Integer | true | HLS test interval |
hls_test_run_for | 180 | Integer | true | HLS test duration in seconds |
hls_test_start_streams | 10 | Integer | true | HLS test streams count |
hls_test_start_writers | 10 | Integer | true | HLS test writers count |
hls_time | 4 | Integer | false | Size of one HLS segment in seconds |
hls_time_min | 2000 | Long | false | Minimal size of one HLS segment in milliseconds |
hls_wrap | 20 | Integer | false | Maximum number of ts-files. The option is necessary to prevent disc overflow |
http.address | 0.0.0.0 | InetAddress | true | Listening address for HTTP server (statistics) |
http.port | 8081 | Integer | true | WCS server HTTP port |
http_client_connection_read_timeout | 2000 | Integer | false | HTTP client connection read timeout in milliseconds |
http_client_connection_timeout | 2000 | Integer | false | HTTP client connection timeout in milliseconds |
https.address | 0.0.0.0 | InetAddress | true | Listening address for HTTPS server (statistics) |
https.port | 8444 | Integer | true | WCS server HTTPS port |
https_server_enabled | true | Boolean | true | If true, activate HTTPS server |
ice_add_ipv6_candidate | false | Boolean | false | If true, server will try to add IPv6 ICE candidates |
ice_authorize_by_address | false | Boolean | false | If true, authorize ICE by IP address only. So, if we receive packets from authorized address but another port, the packets will be accepted even though the port was not authorized |
ice_consent_freshness | true | Boolean | false | If true, send binding request instead of binding indication for consent freshness |
ice_keep_alive_enabled | true | Boolean | false | If true, enables ICE keep-alive |
ice_keep_alive_timeout | 15 | Integer | false | ICE establishing timeout in seconds. By default, if ICE is in running (waiting COMPLETE) state after 15 seconds, the session will be terminated |
ice_tcp_receive_buffer_size | 1048576 | Integer | true | Receive buffer size for ice tcp channels |
ice_tcp_send_buffer_size | 1048576 | Integer | true | Send buffer size for ice tcp channels |
ice_tcp_transport | false | Boolean | false | If true, use tcp transport only |
ice_timeout | 15 | Integer | false | ICE keep-alive timeout in seconds. By default, ICE session will be terminated if no refresh packets from browser in 15 seconds |
ice_udp_transport_new | true | Boolean | false | If true, use new udp transport |
ignore_incoming_call_if_sip_login_port_does_not_match_request_uri | false | Boolean | false | If true, terminate incoming call if the SIP port does not correspond to the user indicated in Request-URI |
in_jitter_buffer_enabled | false | Boolean | false | If true, switch on intermediary buffer on server side, which will reset downstream packets according to reset algorithm and min_drop_rate=, max_drop_rate=, min_queue_size=, max_queue_size= and in_jitter_buffer_enabled= settings |
increase_equals_timestamp | 100 | Integer | false | Timestamps are equal within this interval in milliseconds |
ip | 0.0.0.0 | String | true | External IPv4 address. This IP address will differ from specified with ip_local option when WCS server is behind NAT |
ip_local | 0.0.0.0 | String | true | WCS server will create sockets and listen on this interface |
ip_v6 | String | true | External IPv6 address. This IP address will differ from specified with ip_local option when WCS server is behind NAT | |
jitter_threshold | 50 | Integer | false | RTMFP. If jitter between UDP media packets is greater than the threshold, it will be reported |
jni_cache_class | true | Boolean | false | If true, cache JNI Class object |
keep_alive.algorithm | HIGH_LEVEL | INTERNAL | true | Keep-alive algorithm: INTERNAL, NONE, or HIGH_LEVEL |
keep_alive.enabled | websocket,rtmp,rtmfp | String | true | Enable keep-alive for the listed protocols |
keep_alive.peer_interval | 2000 | Integer | true | Keep-alive peer interval (Not in use) |
keep_alive.probes | 10 | Integer | true | Number of unsuccessfull attempts to ping connected client (WebSocket, RTMP, RTMFP). |
keep_alive.server_interval | 5000 | Integer | true | Interval in milliseconds between attempts to ping connected client (WebSocket, RTMP, RTMFP) |
keep_alive_streaming_sessions_enabled | false | Boolean | true | If true, server sends keep-alive REST requests to check if stream playback is allowed to continue / resume |
kill_event_scanner | false | Boolean | false | Debug option, for development only |
load_balancing_acao_header | String | true | Use this value for Access-Control-Allow-Origin (ACAO) header in the response when cross-domain HTTP request to the loadbalancer received | |
load_balancing_enabled | false | Boolean | true | If true, activate loadbalancer |
manager_http_ports_enabled | true | Boolean | true | If true, bind old manager http(s) ports 9091 and 8888 |
max_callid_length | 32 | Integer | false | Maximum length of SIP callID. If the length of generated callID exceeds this value, it will be cut to this length |
max_drop_rate | null | String | false | Queue size will be increased if loss raises up to this value. |
max_queue_size | null | String | false | Packets will be reset if queue size exceeds this maximum value. |
media_port_from | 31001 | Integer | true | Beginning of media ports range for ICE, RTP, SRTP, RTCP |
media_port_stress_test_iterations | 1 | Integer | false | Media port stress test iterations |
media_port_stress_test_thread_sleep | 5 | Integer | false | Media port stress test thread sleeping interval |
media_port_stress_test_threads | 5 | Integer | false | Media port stress test threads count |
media_port_to | 32000 | Integer | true | End of media ports range for ICE, RTP, SRTP, RTCP |
media_ports_auditor_interval | 5000 | Integer | true | Audit interval for busy and free ports, in milliseconds |
media_ports_auditor_max_attempts | 3 | Integer | true | Number of audits to make sure freed port is not bound. |
min_drop_rate | null | String | false | Queue size will be decreased if loss reduces to this value. |
min_queue_size | null | String | false | Queue size will not be decreased lower that this minimum value. |
mixer_activity_timer_cool_off_period | 1 | Integer | false | Mixer will be terminated after {mixer_activity_timer_cool_off_period * mixer_activity_timer_timeout} since last stream activity for the corresponding mixer |
mixer_activity_timer_timeout | 60000 | Integer | false | If there is no streams added to mixer within this timeout in milliseconds, corresponding mixer will be terminated |
mixer_auto_create_delimiter | # | String | false | Mixer auto create stream/room delimiter |
mixer_auto_start | false | Boolean | false | If true, enable mixer autostart |
mixer_idle_timeout | 60000 | Long | false | Mixer idle timeout in milliseconds |
mixer_layout_class | com.flashphoner.media.mixer.video.presentation.GridLayout | String | true | Name of class for custom mixer layout |
mixer_lossless_video_processor_enabled | false | Boolean | false | Enable custom video processor for mixer incoming streams, setting this to true may degrade realtime part |
mixer_lossless_video_processor_max_mixer_buffer_size_ms | 200 | Integer | false | Max size that is allowed for mixer's incoming buffer, after reaching this point processor will use own buffer instead |
mixer_lossless_video_processor_wait_time_ms | 20 | Integer | false | How long to wait before checking mixer's incoming buffer again in case it was full |
mixer_out_buffer_enabled | false | Boolean | false | If true, enable buffer for out mixer streams |
mixer_out_buffer_initial_size | 2000 | Long | false | Initial size of output mixer buffer in milliseconds |
mixer_out_buffer_max_bufferings_allowed | -1 | Integer | false | mixer_out_buffer_max_bufferings_allowed |
mixer_out_buffer_polling_time | 100 | Long | false | Output mixer buffer polling time in milliseconds |
mixer_out_buffer_start_size | 150 | Long | false | Start size of output mixer buffer in milliseconds |
mixer_prune_streams | false | Boolean | false | When true, prune mixer stream |
mixer_thread_priority | 5 | Integer | false | Mixer thread priority, min 1 max 10 |
mixer_thread_timeout_ms | 33 | Integer | false | Mixer thread timeout |
mixer_video_bitrate_kbps | 2000 | Integer | false | Encoded video bitrate kbps |
mixer_video_buffer_length | 10 | Integer | false | Video buffer length for decoded frames |
mixer_video_desktop_layout_inline_padding | 10 | Integer | false | Padding between video streams in bottom row (under screen sharing stream) |
mixer_video_desktop_layout_padding | 30 | Integer | false | Padding between top row (screen sharing stream) and bottom row (other streams) |
mixer_video_enabled | true | Boolean | false | When false, mixer stream has audio-only |
mixer_video_fps | 30 | Integer | false | Fps constraint for mixer stream |
mixer_video_grid_layout_middle_padding | 10 | Integer | false | Padding between video streams in one row (when there is no screen sharing stream) |
mixer_video_grid_layout_padding | 30 | Integer | false | Padding between rows of video streams (when there is no screen sharing stream) |
mixer_video_height | 720 | Integer | false | Height constraint for mixer stream |
mixer_video_layout_desktop_key_word | desktop | String | false | Keyword for screen sharing streams |
mixer_video_quality | 24 | Integer | false | Encoded video quality (CRF) |
mixer_video_width | 1280 | Integer | false | Width constraint for mixer stream |
mpeg1.gop_size | 60 | Integer | false | GOP size or k-frame interval |
mpeg1.qmax | 24 | Integer | false | Maximum value of quality parameter. The lower the value, the better is quality, and the higher is bitrate. If it is too low (e.g. 1), bitrate is too high and vice versa |
mpeg1.qmin | 4 | Integer | false | Minimum value of quality parameter. The lower the value, the better is quality, and the higher is bitrate. If it is too low (e.g. 1), bitrate is too high and vice versa |
mpeg1.trellis | 0 | Integer | false | Trellis quantization |
msrp_port | 2855 | Integer | false | Port for receiving MSRP / TCP connections |
multipart_message_service_uri | null | String | false | SIP URI for sending message to multiple destinations. |
native_test_aac | true | Boolean | true | If true, enable AAC native test |
native_test_decoder | true | Boolean | true | If true, enable decoder native test |
native_test_encoder | true | Boolean | true | If true, enable encoder native test |
native_test_opus | true | Boolean | true | If true, enable Opus native test |
native_test_resampler | true | Boolean | true | If true, enable native test resampler |
native_test_run_for | 180 | Integer | true | Native test duration |
native_test_start_threads | 10 | Integer | true | Native test threads count |
native_test_thread_interval | 200 | Integer | true | Native test interval |
netty_deadlock_aware_server_workers | true | Boolean | false | If true, enable Netty SSH deadlock server workers |
netty_deadlock_aware_worker_timeout | 10000 | Integer | false | Timeout to detect SSL connection with Netty deadlock |
no_media_dump_interval | 15000 | Long | false | Period in milliseconds, within which media traffic should be captured by tcpdump when client sends bug report with no_media type |
notify_message_call_timeout | null | String | false | Timeout in milliseconds to wait for client confimation of receiving an incoming message. |
on_record_hook_script | on_record_hook.sh | String | false | This option points to shell script located in /usr/local/FlashphonerWebCallServer/bin directory, which is started when stream is unpublished, if a recording of the stream has been created. Two parameters will be passed to the script: |
options2flash_delegate | null | String | false | If true, then wait for a client response prior to responding with 200 OK to an OPTIONS request |
opus.encoder.bitrate | -1 | Integer | false | Target bitrate for Opus encoder, in bps |
opus.encoder.complexity | -1 | Integer | false | Target complexity for Opus encoder |
opus_formats | null | String | false | Comma-separated list of Opus formats (name=value). |
order_threads_by_seq | true | Boolean | false | If true, order incoming SIP messages by sequence number and wait if number is out of order |
out_jitter_buffer_enabled | null | String | false | If true, switch on intermediary buffer on server side, which will reset upstream packets according to reset algorithm and min_drop_rate=, max_drop_rate=, min_queue_size=, max_queue_size= and in_jitter_buffer_enabled= settings |
outbound_port | null | String | false | SIP port. If this parameter is set, it will redefine values that were transmitted during connection |
outbound_proxy | null | String | false | SIP outbound proxy. If this parameter is set, it will redefine values that were transmitted during connection |
parse_system_stats | false | Boolean | false | If true, gather system level statistics such as netstat, lsof, etc. The parsing may take a lot of time |
periodic_fir_request | false | Boolean | false | If true, then every 5 seconds WCS server sends an RTCP Full Intra Request (FIR) message to the input stream source and then forwards its response to the RTMP CDN. |
periodic_fir_request_interval | 5000 | Integer | false | Interval to send RTCP FIR in milliseconds |
port_from | 30000 | Integer | false | Beginning of range of ports for SIP signaling |
port_to | 31000 | Integer | false | End of range of ports for SIP signaling |
preserve_non_mixed_recorded_files | false | Boolean | false | Two files are created when recording: one for incoming sound, and another for outgoing. Then those files are mixed in one resulting recording. |
print_publication_tables | false | Boolean | false | RTMFP. If true, print statistics of streams in logs |
print_rtcp_stats | false | Boolean | false | If true, print RTCP report on end of session |
priority_outside_codecs | false | Boolean | false | If true, then outside (browser) codecs will be in first place |
process_remote_sdp_candidates | true | Boolean | false | If true, process candidates from SDP |
profiles | 42e01f | String | false | Comma-separated list of H.264 profiles. These profiles will be used in SDP for video calls |
proxy_propagate_fir | true | Boolean | false | Propagate FIR requests through proxy |
proxy_use_h264_packetization_mode_1_only | true | Boolean | false | If true, use H.264 packetization mode 1 |
ptime | 20 | Integer | false | Packetization time. Use carefully |
ptime_corrector_enabled | true | Boolean | false | Enabling corrector by required packetization time |
publication_report_format | null | String | false | RTMFP. Sets format for statistics. |
pull_streams | null | String | true | Comma separated list of urls to pull from at server startup |
queue_ping_period | 2000 | Integer | true | Queue ping interval in ms |
queue_stat_log | true | Boolean | false | Enable queue statistics logging |
queue_transcoder_core_router_uri | tcp://127.0.0.1:5555 | String | false | Queue transcoder core router URI |
queue_transcoder_receive_timeout | 500 | Integer | true | Queue transcoder receive timeout |
queue_transcoder_shm_path | /dev/shm/ | String | false | Path to shared memory objects for queue transcoder |
queue_transcoder_shm_size | 5 | Integer | true | Shared memory object size for queue transcoder |
queue_transcoder_transmit_timeout | 500 | Integer | true | Queue transcoder transmit timeout |
queue_transcoder_worker_router_uri | ipc:///tmp/flashphoner.pipe | String | false | Queue transcoder core router URI |
record | null | String | false | Path to the directory for audio call recordings. If this path is designated, then audio call recordings will be saved to that directory in WAV Track format. |
record_audio_codec_sample_rate | 44100 | Integer | false | Codec sample rate used for recording streams |
record_audio_processor_pcm | false | Boolean | false | If true, record audio on stream as PCM16. (Then record= option should point to a valid path, e.g. record=/tmp/) |
record_filename_template | null | String | false | Filename template for an audio call recording. Besides the default fields, {date} field can also be used |
record_flash_published_streams | false | Boolean | false | If true, record streams published from native Flash clients and RTMP live encoders such as Wirecast, FFmpeg, FMLE, etc. |
record_mixer_streams | false | Boolean | false | When true, mixer streams are recorded |
record_rotation | null | String | false | If set, rotation for stream recording files is enabled, in seconds or in Megabytes. |
record_rtsp_streams | false | Boolean | false | If true, record RTSP streams |
record_streams | true | Boolean | false | If true, WebRTC and RTMFP streams published will be recorded if stream recording is enabled for the publishing client as well: session.createStream({record:true,...}). |
recording_by_user | false | Boolean | true | If true, call is recorded for the initiator of the call only |
reg_expires | 3600 | Integer | false | Value in seconds, which will be used in Expires header when SIP REGISTER request is sent |
remove_ssrc_attr | null | Boolean | false | If true, remove ssrc attribute |
replace_cached_pool_with_default_pool | false | Boolean | true | If true, replaces cached thread pool with default |
resample_video | true | Boolean | false | If true, enable video rescaling. |
rest_access_control_allow_headers | content-type,x-requested-with | String | false | Rest-api response access_control_allow_headers header |
rest_access_control_allow_methods | POST | String | false | Rest-api response access_control_allow_methods header |
rest_access_control_allow_origin | * | String | false | Rest-api response access_control_allow_origin header |
rest_hook_secret_key | null | String | false | Rest hook secret key |
rest_hook_send_hash | false | Boolean | false | Rest hook send hash |
rest_max_connections | 200 | Integer | true | Rest max connextions |
rest_request_timeout | 15 | Integer | true | Rest request timeout in seconds |
rfc2833_packets_count | null | String | false | Number of RTP packets for sending one DTMF |
rmi.port | 1098 | Integer | true | Internal RMI port for communications with WCS Manager |
rtc_ice_add_local_component | true | Boolean | false | If true, add local component for ICE candidates |
rtc_ice_add_local_interface | false | Boolean | false | If true, ip_local= address will be added to ICE candidates as another candidate. (External IP address specified in ip= setting is added to ICE candidates by default) |
rtc_ip | null | String | false | External IP address for WebRTC. Can be used for WebRTC deployment on particular network interface having external address different from the one specified with ip= setting |
rtc_ip_local | null | String | false | Local IP address for WebRTC. Can be used for WebRTC deployment on particular network interface having local address different from the one specified with ip_local= setting |
rtcp_sender_interval | 0.1 | Double | false | Guard RTCP interval based on the specified fraction of RTCP bitrate |
rtmfp.address | 0.0.0.0 | InetAddress | true | Listening address for RTMFP server |
rtmfp.port | 1935 | Integer | true | RTMFP server port, UDP |
rtmp.address | 0.0.0.0 | InetAddress | true | Listening address for RTMP server |
rtmp.port | 1935 | Integer | true | RTMP server port, TCP |
rtmp.server_buffer_enabled | false | Boolean | false | Enable/disable buffering rtmp data on java's heap if socket buffer is full |
rtmp.server_channel_high_water_mark | 52428800 | Integer | true | High watermark for connected rtmp channels |
rtmp.server_channel_low_water_mark | 5242880 | Integer | true | Low watermark for connected rtmp channels |
rtmp.server_channel_send_buffer_size | 1048576 | Integer | true | Send buffer size for rtmp channels |
rtmp.server_read_socket_timeout | 0 | Integer | true | TCP socket write timeout for RTMP server, in seconds |
rtmp.server_socket_timeout | 0 | Integer | true | TCP socket write and read timeout for RTMP server for, in seconds |
rtmp.server_write_socket_timeout | 0 | Integer | true | TCP socket write timeout for RTMP server, in seconds |
rtmp.use_server_socket_timeout | false | Boolean | true | DEPRECATED (use rtmp.server_socket_timeout, rtmp.server_read_socket_timeout, rtmp.server_write_socket_timeout). If true, use for RTMP server TCP socket timeout set with rtmp.server_socket_timeout option |
rtmp_activity_timer_cool_off_period | 1 | Integer | false | RTMP agent will be terminated after {rtmp_activity_timer_cool_off_period * rtmp_activity_timer_timeout} since last subscriber activity for the corresponding RTMP stream |
rtmp_activity_timer_timeout | 60000 | Integer | false | If there is no subscribers for an RTMP stream within this timeout in milliseconds, corresponding RTMP session will be terminated |
rtmp_appkey_source | default | String | false | RTMP appkey source: default/app |
rtmp_command_amf3 | true | Boolean | true | rtmp_command_amf3 |
rtmp_flash_ver_publisher | FMLE/3.0 | String | false | RTMP publisher Flash version |
rtmp_flash_ver_subscriber | LNX 9,0,124,2 | String | false | RTMP subscriber Flash version |
rtmp_in_buffer_enabled | false | Boolean | false | If true, enable buffer for incoming RTMP streams |
rtmp_in_buffer_initial_size | 2000 | Long | false | Initial size of incoming RTMP buffer in milliseconds |
rtmp_in_buffer_max_bufferings_allowed | -1 | Integer | false | rtmp_in_buffer_max_bufferings_allowed |
rtmp_in_buffer_polling_time | 100 | Long | false | Incoming RTMP buffer polling time in milliseconds |
rtmp_in_buffer_start_size | 300 | Long | false | Start size of incoming RTMP buffer in milliseconds |
rtmp_output_writer_bufsize | 0 | Integer | false | Buffer time for FFRtmpOutputWriter old outbound buffer for as-RTMP cases |
rtmp_port_from | 33001 | Integer | false | First port in RTMP ports range, for RTMP republisher |
rtmp_port_to | 34000 | Integer | false | Last port in RTMP ports range, for RTMP republisher |
rtmp_ports_auditor_interval | 10000 | Integer | false | Audit interval for RTMP ports, in milliseconds |
rtmp_ports_auditor_max_attempts | 3 | Integer | false | Number of audits to make sure freed port is not bound. |
rtmp_publisher_ip | String | true | IPv4 address for outgoing RTMP publishing | |
rtmp_publisher_start_time_ts | 1000 | Long | false | RTMP publisher start time |
rtmp_pull_agent_account_for_lost_audio | false | Boolean | false | If true, enable RTMP pull agent account for lost audio |
rtmp_pull_rtp_activity_detection | true | Boolean | false | If true, enable RTP activity detection while RTMP pulling |
rtmp_push_auto_start | false | Boolean | false | If true, enable RTMP push autostart for newly published streams |
rtmp_push_auto_start_url | null | String | false | RTMP server address to auto start pushing to |
rtmp_receive_buffer_size_predictor_factory | 2053 | Integer | true | RTMP receive buffer size predictor factory in bytes |
rtmp_send_video_first | false | Boolean | true | Send video first in RTMP |
rtmp_server_channel_receive_buffer_size | 0 | Integer | true | RTMP receive buffer size in bytes |
rtmp_transponder_force_kframe_interval | true | Boolean | false | If true, force k-frame interval for transponder in latest cases 'as-RTMP'. It is implemented sending RTCP PLI, if that is supported |
rtmp_transponder_full_url | false | Boolean | false | If true, ignore streamName and use full rtmpUrl in transponders and 'as RTMP' cases. |
rtmp_transponder_kframe_interval | 60 | Integer | false | Forced k-frame interval in frames. See also rtmp_transponder_force_kframe_interval= setting. |
rtmp_transponder_metadata | null | String | false | RTMP transponder metadata |
rtmp_transponder_send_metadata | false | Boolean | false | If true, RTMP transponder will send metadata |
rtmp_transponder_stream_name_prefix | rtmp_ | String | false | The specified prefix is added for all as-RTMP stream names. By default, stream named stream1 will be republished as RTMP stream with name rtmp_stream1 |
rtmp_use_stream_params_as_connection | false | Boolean | true | Use stream params as connection |
rtp_activity_detecting | null | String | true | Disables / enables and sets value of RTP activity timeout, in seconds. |
rtp_activity_video | true | Boolean | false | If true, RTP activity check is enabled for video. |
rtp_elapsed_time_threshold | 10000 | Long | false | RTP elapsed time threshold, in milliseconds |
rtp_in_buffer_initial_size | 2000 | Integer | false | Initial size of incoming RTP buffer in milliseconds |
rtp_in_buffer_polling_time | 100 | Long | false | Incoming RTP buffer polling time in milliseconds |
rtp_in_reset_marker | false | Boolean | false | If true, use RTP in reset marker |
rtp_paced_sender | false | Boolean | false | If true, enable paced sender for WebRTC video session. EXPERIMENTAL |
rtp_paced_sender_capacity | 200000000 | Long | false | RTP paced sender capacity |
rtp_paced_sender_increase_interval | 50 | Integer | false | Paced sender increase interval |
rtp_paced_sender_initial_rate | 200000 | Integer | false | Paced sender initial rate |
rtp_paced_sender_k_deviation | 0.02 | Double | false | Paced sender K deviation |
rtp_paced_sender_k_down | 0.02 | Double | false | Paced sender K down |
rtp_paced_sender_k_up | 0.04 | Double | false | Paced sender K up |
rtp_paced_sender_period | 1000 | Long | false | RTP paced sender period |
rtp_paced_sender_queue_size | 2000 | Integer | false | Outgoing queue maximum size |
rtp_paced_sender_refill | 200000000 | Long | false | RTP paced sender refill |
rtp_packet_cache_size | 250 | Integer | false | Cache size for sent packets. This is used only on video sessions to provide response to NACK requests |
rtp_receive_buffer_predicator_size | 1500 | Integer | false | DatagramSocket constructing: receiveBufferSizePredictorFactory size |
rtp_receive_buffer_size | 65536 | Integer | false | Buffer size for incoming RTP and SRTP (WebRTC). |
rtp_send_buffer_size | 65536 | Integer | false | Buffer size for outgoing RTP and SRTP (WebRTC). |
rtp_session_init_always | false | Boolean | false | If true init rtp session for all media providers |
rtsp.address | 0.0.0.0 | InetAddress | true | Listening address for RTSP server |
rtsp.port | 554 | Integer | true | RTSP server port |
rtsp_activity_timer_cool_off_period | 1 | Integer | false | RTSP agent will be terminated after {rtsp_activity_timer_cool_off_period * rtsp_activity_timer_timeout} since last subscriber activity for the corresponding RTSP stream |
rtsp_activity_timer_timeout | 60000 | Integer | false | If there is no subscribers for an RTSP stream within this timeout in milliseconds, corresponding RTSP session will be terminated |
rtsp_auth_cnonce | 1234567890 | String | true | RTSP server port |
rtsp_client_address | 0.0.0.0 | InetAddress | true | RTSP client address |
rtsp_client_strip_audio_codecs | null | String | false | Comma-separated list of audio codecs which will not be used for RTSP |
rtsp_fail_on_error_track | true | Boolean | true | If true, RTSP pulling fails on error in any track |
rtsp_in_buffer | false | Boolean | false | If true, use RTSP in buffer |
rtsp_interleaved_channels | null | String | false | Interleaved mode channels: audio channels;video channels. Default: dynamic channels |
rtsp_interleaved_enable_rtcp | true | Boolean | false | If true, enable replying to RTCP packets on the RTSP interleaved channel |
rtsp_interleaved_mode | true | Boolean | false | If true, interleaved mode for RTSP (RTP over RTSP/TCP) is enabled |
rtsp_port_from | 32001 | Integer | false | First TCP port in the port range for RTSP pooling agent |
rtsp_port_to | 33000 | Integer | false | Last TCP port in the port range for RTSP pooling agent |
rtsp_ports_auditor_interval | 10000 | Integer | false | Audit interval for RTSP ports, in milliseconds |
rtsp_ports_auditor_max_attempts | 3 | Integer | false | Number of audits to make sure freed port is not bound. |
rtsp_refresh_requests_limit | 5 | Integer | false | Maximum number of non-answered GET_PARAMETER refresh requests. Stop sending refresh requests if the limit has been reached |
rtsp_server_auth_enabled | false | Boolean | false | If true, enable RTSP server authentication |
rtsp_server_enabled | true | Boolean | true | If true, activate RTSP server |
rtsp_server_forse_interleave | false | Boolean | false | If true, force interleaved mode for RTSP server and answer with interleaved mode SDP |
rtsp_server_packetization_mode | null | String | false | H.264 packetization mode for RTSP server. FU-A by default |
rtsp_server_profile_level_id | null | String | false | H.264 profile-level-id for RTSP server |
rtsp_user_agent | String | false | User agent indicated in RTSP packets | |
rvg_timer_activity | 500 | Integer | false | RVG timer interval in milliseconds |
rvg_timer_delay | 500 | Integer | false | RVG timer initial delay in milliseconds |
scheduling_service_core_threads | 5 | Integer | true | Core threads count for scheduling service |
send_receive_buffer_size | 1600 | Integer | true | RTMFP buffer size in bytes |
send_receive_on_incoming_re_invite | true | Boolean | false | If true, send 'receive' on incoming re-INVITE |
session_idle_timeout | 300000 | Integer | true | RTMFP server-side timeout in milliseconds if no UDP messages received over RTMFP/UDP session |
sessions_auditor_interval | 60000 | Integer | true | Audit interval for pending media sessions |
sessions_auditor_session_timeout | 60000 | Integer | true | Audit timeout for pending media sessions |
set_sync_time_from_ts | false | Boolean | false | Workaround for SIP audio only |
sip.pre_init | true | Boolean | true | If true, use SIP pre-initiation |
sip_add_contact_id | true | Boolean | false | If true, record SIP as RTMP stream and SIP as stream |
sip_as_rtmp_java_client | true | Boolean | false | If true, then the latest RTMP transponder implementation will be used for as-RTMP cases. See also use_rtmp_java_client option |
sip_as_rtmp_stream_type | live | String | false | Sets RTMP AMF stream type for as-RTMP cases |
sip_auditor_dialog_timeout | 10000 | Integer | false | SIP auditor dialog timeout |
sip_auditor_transaction_timeout | 50000 | Integer | false | SIP auditor transaction timeout |
sip_dns_failover | false | Boolean | false | If true, enable DNS failover. |
sip_force_session_expires | 1800 | Integer | false | Forced session expiration timeout in seconds. WCS server will send refresh request before the timeout is reached |
sip_force_tcp | false | Boolean | false | If true, force TCP usage for SIP messaging |
sip_invite_params_to_headers | false | Boolean | false | If true, place SIP INVITE parameters to headers |
sip_msg_listener | com.flashphoner.sdk.sip.ChangeCallIdListener | String | false | Full name of Java class that implements interface ISipMessageListener |
sip_ports_auditor_interval | 10000 | Integer | false | Audit interval for SIP ports, in milliseconds |
sip_ports_auditor_max_attempts | 3 | Integer | false | Number of audits to make sure freed port is not bound. |
sip_record_stream | false | Boolean | false | If true, record SIP as RTMP stream and SIP as stream |
sip_remove_video_sdp_section_instead_of_adding_inactive_with_zero_port | false | Boolean | false | If true, fully remove video part of SDP. If false, just set video part to inactive |
sip_sdp_unsupported_protocols | UDP/TLS/,UDP/UDT/IX,UDP/BFCP | String | false | List of unsupported SDP protocols |
sip_session_expires_header | true | Boolean | false | If true, use Expires header |
sip_single_route_only | false | Boolean | false | If true, then traffic is passed only to the streaming engine, and is not passed to the SIP caller |
sip_srv_lookup | false | Boolean | false | If true, enable DNS SRV lookup. |
sip_thread_pool_size | null | String | false | Size of SIP thread pool |
sip_timer | null | String | false | Value of timer T1 according to RFC 3261, in milliseconds |
sip_traffic_class | null | String | false | QoS class for SIP traffic |
sip_use_netty | false | Boolean | false | If true, use Netty |
sip_use_reentrant_listener | false | Boolean | false | If true, enable SIP reentrant listener |
sip_use_tls | false | Boolean | false | If true, TLS used for SIP connections |
speex_g711_speex_transcoding | false | Boolean | false | If true, then Speex16 codec is forcedly deleted from the list of supported codecs, which leads to double transcoding. The option was used for debugging |
speex_in_policy | null | String | false | Speex encoding settings used in transcoding featuring the codec. |
start_test | false | Boolean | false | If true, tests listed in streaming_tests= setting will be launched after WCS server startup |
stats | false | Boolean | true | If true, enable sampling for streams. The sampling is used for charts |
stats_bitrate_window | 1000 | Integer | false | Window size to collect bitrate statistics |
stats_fps_window | 1000 | Integer | false | Window size to collect FPS statistics |
stats_incoming_stream_monitor_deviation_threshold | 20 | Integer | false | If deviation between audio and video is greater than the threshold in milliseconds, it will be logged |
stats_sampling_frequency | 1000 | Long | true | Interval in milliseconds. Stream sampling will be taken with the specified frequency |
stream_record_policy | String | false | Available values: streamName, template. | |
stream_record_policy_template | String | false | If set, name of recorded file will be built using the specified template. | |
streaming_custom_stream_stress_test_encoding_subscriber_groups | 1 | String | false | StreamingCustomStreamStressTest / Number of subscribers for transcoded stream, per encoding groups |
streaming_custom_stream_stress_test_max_proxy_subscribers | 1 | Integer | false | StreamingCustomStreamStressTest / Number of subscribers for non-transcoded stream (codecs, resolution and bitrate are the same for publisher and subscriber) |
streaming_custom_stream_stress_test_rate | 1000 | Long | false | StreamingCustomStreamStressTest / Period in milliseconds. Each period a new subscriber will be added |
streaming_custom_stream_stress_test_stream_name | STRESS_TEST_STREAM | String | false | StreamingCustomStreamStressTest / Name of stream published on WCS server, which will be used for the test |
streaming_custom_stream_stress_test_subscriber_ttl_sec | 30 | Long | false | StreamingCustomStreamStressTest / Lifetime of subscriber in seconds |
streaming_distributor_queue_max_waiting_time | 5000 | Integer | true | Maximum time that distributor thread will wait for frame arrival before executing next iteration |
streaming_distributor_queue_size | 300 | Integer | true | Size of queue. Processor will block distributor queue upon it reaching this size (i.e., no more space for new frames) |
streaming_load_test_duration_minutes | 5 | Long | false | StreamingLoadTest / Test duration in minutes |
streaming_load_test_encoding_subscriber_groups | 1 | String | false | StreamingLoadTest / Number of subscribers for transcoded stream, per encoding groups |
streaming_load_test_proxy_subscribers | 1 | Integer | false | StreamingLoadTest / Number of subscribers for non-transcoded stream (codecs, resolution and bitrate are the same for publisher and subscriber) |
streaming_processor_queue_max_waiting_time | 5000 | Integer | true | Maximum time that processor thread will wait for frame arrival before executing next iteration |
streaming_processor_queue_size | 300 | Integer | true | Size of queue. Feeding thread (e.g., RTP thread in case of WebRTC) will block processor queue upon it reaching this size (i.e., no more space for new frames) |
streaming_sessions_keep_alive_app_keys | String | false | Comma-separated list of appKeys of server-side applications. If set, WCS server will periodically send StreamKeepAliveEvent for all streams within the listed applications. | |
streaming_sessions_keep_alive_interval | 10000 | Long | false | StreamKeepAliveEvent sending interval. See also streaming_sessions_keep_alive_app_keys= option |
streaming_stress_test_duration_minutes | 5 | Long | false | StreamingStressTest / Test duration in minutes |
streaming_stress_test_encoding_subscriber_groups | 1 | String | false | StreamingStressTest / Number of subscribers for transcoded stream, per encoding groups |
streaming_stress_test_max_proxy_subscribers | 1 | Integer | false | StreamingStressTest / Number of subscribers for non-transcoded stream (codecs, resolution and bitrate are the same for publisher and subscriber) |
streaming_stress_test_rate | 1000 | Long | false | StreamingStressTest / Period in milliseconds. Each period a new subscriber will be added |
streaming_stress_test_subscriber_ttl_sec | 30 | Long | false | StreamingStressTest / Lifetime of subscriber in seconds |
streaming_tests | String | false | Comma-separated list of tests which will be launched after WCS server startup if start_test=true. | |
streaming_video_decoder_fast_start | false | Boolean | false | If true, all incoming streams are decoded. |
strict_get_callee_policy | false | Boolean | false | Not in use |
stun_freshness_period | 1500 | Integer | false | STUN freshness period in milliseconds |
stun_freshness_timeout | 15000 | Integer | false | STUN freshness timeout in milliseconds |
stun_server | stun1.l.google.com:19302 | String | false | STUN server, which is used for WebRTC ICE, if enable_candidate_harvester=true |
stun_socket_buffer_size | 100 | Integer | false | Size of STUN socket buffer |
stun_socket_queue_size | 100 | Integer | false | Size of STUN socket queue |
stun_socket_queue_timeout | 1500 | Integer | false | STUN socket queue timeout in milliseconds |
stun_stack_default_thread_pool_size | 0 | Integer | false | STUN default thread pool size |
suppress_audio | false | Boolean | false | If true, globally suppress audio on server. This feature is not available for Trial license |
suppress_dynamic_logs | false | Boolean | false | If true, suppress dynamic logs update |
suppress_dynamic_logs_to_server_log | false | Boolean | false | If true, suppress dynamic server logs update |
tcp_relay_packetization2 | true | Boolean | false | If true, enable TCP relay packetization for WSPlayer. Should be false when WSPLayer 1.0 is used |
tcp_relay_packetization_time | 20 | Integer | false | Experimental option, allows to send audio packets with custom ptime to WSPlayer 1.0. This property was not tested with new versions and should be removed |
tcp_relay_rtcp_interval | 2000 | Integer | false | RTCP packets generation interval for TCP relay in milliseconds. RTCP is used to carry stream synchronization |
thread_pool_default_core_threads | 8 | Integer | true | Default core threads count in thread pool (equal to CPUs count) |
thread_pool_default_max_threads | 16 | Integer | true | Maximum core threads count in thread pool |
thread_pool_default_queue_size | 100 | Integer | true | Default thread pool queue size |
thread_pool_default_thread_timeout_sec | 300 | Integer | true | Default thread timeout, in seconds |
throughput_test_receivers_qty | 1 | Integer | false | Throughput test receivers quantity |
throughput_test_sender_dst | localhost | String | false | Throughput test sender destination host |
throughput_test_senders_qty | 1 | Integer | false | Throughput test senders quantity |
timing_shift | null | String | false | Timer ambiguity in milliseconds, which is used in a stream stagnation (in case the stream is too fast in relation to timestamps) and compensates inaccuracy of system timers. |
trace_socket_fd | false | Boolean | true | If true, trace usage of socket file descriptors for HLS, HTTP, RTSP, WebSockets and HTTP LB client |
transcoder_agent_activity_timer_cool_off_period | 1 | Integer | false | Transcoder agent will be terminated after {rtsp_activity_timer_cool_off_period * rtsp_activity_timer_timeout} since last subscriber activity for the corresponding RTSP stream |
transcoder_agent_activity_timer_timeout | 60000 | Integer | false | If there is no subscribers for an Transcoder agent stream within this timeout in milliseconds, corresponding RTSP session will be terminated |
transcoder_agent_rtcp_send_interval | 2000 | Long | false | Interval in ms for send rtcp from transcoder agent |
transcoding_disabled | false | Boolean | false | Force transcoding disabling |
turn.server_channel_receive_buffer_size | 1048576 | Integer | true | Receive buffer size for turn channels |
turn.server_channel_send_buffer_size | 1048576 | Integer | true | Send buffer size for turn channels |
turn_ip | null | String | true | TURN IP address |
turn_life_time | 600 | Integer | true | TURN Allocation life time |
turn_media_port_from | 36001 | Integer | true | Beginning of media ports range for turn |
turn_media_port_to | 37000 | Integer | true | End of media ports range for turn |
turn_media_ports_auditor_interval | 5000 | Integer | true | Audit interval for busy and free ports, in milliseconds |
turn_media_ports_auditor_max_attempts | 3 | Integer | true | Number of audits to make sure freed port is not bound. |
turn_password | coM77EMrV7Cwhyan | String | true | TURN password |
turn_port | 3478 | Integer | true | TURN server port |
unsupported_messages | null | String | false | If a message has body noted in this list, then such incoming message will be rejected. Can be useful for some service messages, when delivery to client is not required. The list consists of strings, divided by three colons ::: |
use_alaw_ulaw_speex_switch | true | Boolean | false | If true, switch to the local codec according to content received from SIP side. |
use_control_destination_from_incoming_rtcp | true | Boolean | false | If true, set RTCP destination by received RTCP packets |
use_fdk_aac | true | Boolean | false | If true, use the fdk-aac fro encoding and decoding |
use_ip_local_in_call_id | true | Boolean | false | If true, use value of ip_local= option when forming callID |
use_java_hls_writer | true | Boolean | false | If true, use Java HLS implementation |
use_mp4_h264_aac | true | Boolean | false | If true, use H.264 + AAC in MP4 container |
use_new_aac_encoder | true | Boolean | false | If true, use the latest AAC encoder |
use_new_rtcp | true | Boolean | false | If true, use the latest RTCP module |
use_rtcp_synch | true | Boolean | false | If true, use RTCP synchronization for audio and video |
use_rtmp_java_client | true | Boolean | false | If true, use the latest implementation of RTMP agent for republishing |
use_speex_java_impl | true | Boolean | true | If true, use Java implementation for Speex codec |
use_tcp_for_long_sip_messages | false | Boolean | false | If true, and size of SIP message is more than 1350 bytes, then such message will be sent via TCP. |
use_trying_notification | false | Boolean | false | If true, then broadcast SIP response TRYING to client as a call status TRYING |
user_agent | Flashphoner/1.0 | String | true | User-Agent header value |
video_distributor_multi_test | false | Boolean | false | Enable video distributor multi test |
video_enabled | true | Boolean | false | Not in use |
video_encoder_h264_gop | 60 | Integer | false | GOP size for H.264 encoder |
video_encoder_second_thread_threshold | 777000 | Integer | false | Resolution threshold. Once it is reached, encoder should start using second thread. |
video_encoder_vp8_gop | 900 | Integer | false | GOP size for VP8 encoder |
video_encoding_quality | 30 | Integer | false | See information on FFmpeg CRF |
video_filter_enable_fps | false | Boolean | true | Enable video filter |
video_filter_enable_rotate | false | Boolean | true | Enable video rotate filter |
video_filter_fps | 30 | Long | true | Video filter output fps |
video_filter_fps_gap_coefficient | 2.0 | Double | true | Video filter gap coefficient (max gap C x FPS) |
video_incoming_buffer_size | 20 | Integer | false | Waiting for RTCP sync packet on this interval in packets, for video |
video_processor_multi_test | false | Boolean | false | Enable video processor multi test |
video_reliable | partial | on | false | RTMFP, reliability for video |
video_stream_mode_udp | false | Boolean | true | Not in use |
video_streamer_generate_seq | false | Boolean | false | Should be set to true for transfer of video calls. Otherwise, there may be no video after transfer |
video_transcoder_preserve_aspect_ratio | true | Boolean | true | Try to preserve original aspect ratio of incoming video during transcoding |
vod_activity_timer_cool_off_period | 1 | Integer | false | VOD agent will be terminated after {vod_activity_timer_cool_off_period * vod_activity_timer_timeout} since last subscriber activity for the corresponding RTSP stream |
vod_live_loop | false | Boolean | false | If true, loop streaming MP4 file as VoD. EXPERIMENTAL |
vod_mp4_container_isoparser_heap_datasource | true | Boolean | false | If true, use heap datasource |
vod_mp4_container_new | false | Boolean | false | Use new implementation of mp4 container for vod |
vod_mp4_container_new_buffer_ms | 0 | Integer | false | New implementation of mp4 container will buffer specified time in milliseconds |
vod_mp4_test_file | null | String | false | Path to MP4 file. If start_test=true and streaming_tests=MP4AgentTest, VoD stream playing the file will be published when WCS server is started |
vod_mp4_test_loop | true | Boolean | false | If true, loop streaming MP4 file. Not in use, replaced by vod_live_loop= |
vod_mp4_test_stream_name | null | String | false | This name will be used as name of VoD stream published for playing MP4 file for test MP4AgentTest. |
vod_rtcp_send_interval | 2000 | Long | false | RTCP Send interval for VOD |
vod_sink_ready_checks | 50 | Integer | false | Waiting for first packet on audio streamer. If no packets within the specified number of checks, then audio injection is aborted |
vod_sink_wait_synch_time | true | Boolean | false | If false, not wait sync time for playing incoming traffic after audio sink |
vod_stream_timeout | 30000 | Integer | false | VoD stream with no subscribers will be terminated after this timeout in milliseconds |
vow_wait_for_sync | false | Boolean | false | If true, session will wait for audio AND video before sending stream to client |
vp8_buffer_nack_list_threshold | 200 | Integer | false | JitterBuffer will be reset upon reaching this number of NACK packets |
vp8_max_rtp_packet_size | 1400 | Integer | true | Maximum size of VP8 carrying packet |
vp8_new_buffer | false | Boolean | false | Not in use |
wcs_activity_timer_cool_off_period | 1 | Integer | false | WCS agent will be terminated after {wcs_agent_activity_timer_cool_off_period * wcs_agent_activity_timer_timeout} since last activity for the corresponding WCS agent session |
wcs_activity_timer_timeout | 60000 | Integer | false | If there is no activity within this timeout in milliseconds, corresponding WCS agent session will be terminated |
wcs_agent_port_from | 34001 | Integer | false | Beginning of range of ports for WCS agent |
wcs_agent_port_to | 35000 | Integer | false | End of range of ports for WCS agent |
wcs_agent_ports_auditor_interval | 10000 | Integer | false | Audit interval for WCS agent ports, in milliseconds |
wcs_agent_ports_auditor_max_attempts | 3 | Integer | false | Number of audits to make sure freed port is not bound. |
wcs_agent_session_alive_check_interval | 30000 | Integer | false | Interval in milliseconds to check if WCS agent session is alive |
wcs_agent_session_audit | true | Boolean | false | If true, enable WCS agent session audit |
wcs_agent_session_connect_timeout | 10000 | Integer | false | Connect timeout in milliseconds |
wcs_agent_session_timeout | 30000 | Integer | false | WCS agent session timeout in milliseconds |
wcs_agent_session_use_keep_alive_timeout | true | Boolean | true | If true, WCS agent session will use keep alive timeout |
wcs_agent_ssl | false | Boolean | false | If true, enable SSL for pulling/re-publishing streams |
wcsoam_batch_timeout | 500 | Integer | true | WCS OAM receive timeout |
wcsoam_ip | null | String | true | WCS OAM server IP address |
wcsoam_keepalive_period | 3000 | Integer | true | WCS OAM keep alive period |
wcsoam_keepalive_timeout | 8000 | Integer | true | WCS OAM keep alive timeout |
wcsoam_port | 7777 | Integer | true | WCS OAM server port |
wcsoam_sha_salt | 123 | String | true | WCS OAM server SHA salt |
web_start_with_demo_user | false | Boolean | false | Enable demo user |
web_token_life_time | 3600000 | Long | false | Web token life time, default value 1 hour |
webrtc_agent_use_webrtc | true | Boolean | false | If true, switch WebRTC push and pull to AVP profile |
webrtc_cc2 | true | Boolean | false | If true, the latest congestion control CC2 is used |
webrtc_cc2_bitrate_overuse_event | true | Boolean | false | If true, enable NBE evant raising |
webrtc_cc2_bitrate_overuse_event_interval | 5000 | Long | false | NBE event will be raised periodically with this interval in milliseconds |
webrtc_cc2_bitrate_overuse_event_threshold | 0.05 | Double | false | NBE event will be raised when loss on stream being played reaches this value (5% by default) |
webrtc_cc2_cc | false | Boolean | false | If true, react upon WebRTC playback endpoint (e.g. Chrome) requests, e.g. request the publisher to decrease bitrate |
webrtc_cc2_cc_interval | 500 | Long | false | Congestion control interval, not in use |
webrtc_cc2_cc_k_noise | 0.1 | Double | false | Congestion control noise value, not in use |
webrtc_cc2_cc_retransmit_rate_threshold | 0.15 | Double | false | Fraction of send bitrate that retransmit bitrate can raise to. By default, retransmit bitrate can use 15% of send bitrate |
webrtc_cc2_cc_track_joined_retransmit_bitrate | true | Boolean | false | If true, enable tracking of retransmit bitrate across all media groups |
webrtc_cc2_enable_burst_grouping | false | Boolean | false | Internal bitrate estimation configuration, must not be exposed to public. CC2 estimation will account for packet burst |
webrtc_cc2_local_congestion_event_interval | 2000 | Long | false | Not in use, legacy code |
webrtc_cc2_local_k_threshold | 0.1 | Double | false | Not in use, legacy code |
webrtc_cc2_min_remb_bitrate_bps | 100000 | Long | false | Minimum value for received REMB (Receiver Estimated Max Bitrate) boundary in bps. Ignore the boundary if the received value is less than the minimum defined |
webrtc_cc2_receiver_state_window | 1000 | Long | false | Window size for receiver state, in milliseconds. Default: 1000 - keep and account reports received in last second |
webrtc_cc2_twcc | false | Boolean | false | If true, enable TWCC reports. EXPERIMENTAL |
webrtc_cc_bitrate_window | 1000 | Integer | false | Time window in milliseconds. Bitrate estimator works on this time frame |
webrtc_cc_initial_avg_noise | 0.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_e_0_0 | 100.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_e_0_1 | 0.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_e_1_0 | 0.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_e_1_1 | 0.1 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_offset | 0.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_process_noise_0 | 1.0E-13 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_process_noise_1 | 0.001 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_slope | 0.015625 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_threshold | 15.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_initial_var_noise | 50.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_k_down | 1.8E-4 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_k_up | 0.01 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_max_bitrate | 10000000 | Long | false | Maximum global bitrate for publishing WebRTC streams |
webrtc_cc_min_bitrate | 30000 | Long | false | Minimum global bitrate for publishing WebRTC streams |
webrtc_cc_overusing_threshold | 10.0 | Double | false | Internal bitrate estimation configuration, must not be exposed to public |
webrtc_cc_use_sync_ts | true | Boolean | false | If true, timestamp is used as synchronization source |
work_around | false | Boolean | false | Not in use |
ws.address | 0.0.0.0 | InetAddress | true | Listening address for WebSocket server |
ws.map_custom_headers | false | Boolean | true | If true, parse and inject custom HTTP headers to REST requests |
ws.port | 8080 | Integer | true | WebSocket connection port |
ws_client_id_unique_part | true | Boolean | false | Add unique part to ws client id |
ws_connections_test_run_for | 1800 | Integer | true | Websocket connections test duration in seconds |
ws_connections_test_uri | ws://192.168.88.100:8080 | String | true | Websocket connections test URI |
ws_read_socket_timeout | true | Boolean | true | Enable WebSocket read timeout |
ws_read_socket_timeout_sec | 120 | Integer | true | WebSocket read timeout value (if enabled) |
wss.address | 0.0.0.0 | InetAddress | true | Listening address for WebSocket SSL server |
wss.cert.password | password | String | true | Key password to the SSL certificate in keystore |
wss.keystore.file | /usr/local/FlashphonerWebCallServer/conf/wss.jks | String | true | Keystore file containing SSL certificate for secure WebSocket connection |
wss.keystore.password | password | String | true | SSL certificate keystore password |
wss.port | 8443 | Integer | true | WebSocket SSL connection port |
wss.ssl.cache_size | 0 | Integer | true | SSL session objects cache size |
wss.ssl.session_timeout | 0 | Integer | true | Cached SSL session objects timeout, in seconds |