...
Option | Default | Type | Need restart | Description | |||||
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 | |||||
agent_use_subscriber_listener | true | Boolean | false | If true, does the agent have to wait for the subscriber | |||||
allow_domains | null | String | false | If set, then WebSocket connections from these domains only will be allowed | |||||
allow_domains_allow_empty_origin | true | Boolean | false | If set, then WebSocket connections with empty origin will be allowed | |||||
allow_outside_codecs | true | Boolean | false | If false, dont 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 | |||||
allow_stream_names | * | String | false | If set, then client stream name from these stream names only will be allowed | |||||
answer_with_one_codec_in_sdp | false | Boolean | false | If true, answer with one codec only in SDP. | |||||
audio_force_sync_timeout | 100 | Integer | false | Waiting for RTCP sync packet on this interval in ms, for audio | |||||
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_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_channels | 1 | Integer | false | Audio mixer output channels, default is 1 channel, mono | |||||
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 | |||||
av_paced_sender | false | Boolean | false | If true, enable paced sender for output stream. EXPERIMENTAL | |||||
av_paced_sender_max_buffer_size | 5000 | Integer | false | Max size of audio or video buffer. Once size is reached buffers are cleared | |||||
avatar_dir | avatar | String | true | Avatar base folder | |||||
avcc_buffer_wait_frames_count | 5 | Integer | false | Wait until the buffer is filled with frames | |||||
avcc_send_buffer_size | 500000 | Integer | false | Avcc send buffer size in bytes | |||||
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 | |||||
case_sensitive_auth_match | true | Boolean | false | If false, ignore case on url auth | |||||
cdn_advertise_pulled | false | Boolean | true | If true, pulls CDN advertise | |||||
cdn_advertise_streams_by_kframe | false | Boolean | false | Advertise stream to CDN by key frame | |||||
cdn_allowed_ips | ArrayList | true | Comma-separated list of allowed IPs or networks for CDN. | ||||||
cdn_auto_pull | false | Boolean | true | Pull CDN stream once it becomes available | |||||
cdn_connection_quality_calculation_timeout_ms | 10000 | Integer | true | Connection quality calculation update timeout ms | |||||
cdn_connection_tcp_no_delay | true | Boolean | true | Turns on tcp no delay for CDN signalling connections | |||||
cdn_controller_request_timeout | 5000 | Integer | true | Timeout for requests sent to CDN controller | |||||
cdn_controller_response_cache_expire | 10000 | Integer | true | TTL for cached records received from CDN controller | |||||
cdn_dtls_force_version_0 | false | Boolean | false | Force DTLS version 1.0 inside cdn | |||||
cdn_enabled | false | Boolean | true | If true, enables CDN | |||||
cdn_force_version | 2.0 | String | true | Force to set CDN version | |||||
cdn_group_origin_to_transcoder_relation | false | Boolean | true | Use CDN group indications to relate origin to transcoder rather than transcoder to edge | |||||
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_inbound_ws_read_socket_timeout | true | Boolean | true | Enable WebSocket read timeout for inbound cdn connactions | |||||
cdn_inbound_ws_read_socket_timeout_sec | 60 | Integer | true | WebSocket read timeout value (if enabled) for inbound cdn connections | |||||
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_pool_size_change_interval | -1 | Integer | true | Change pool size every interval | |||||
cdn_load_pool_size_lower_threshold | -1 | Integer | true | Lower threshold for pool size change | |||||
cdn_load_pool_size_upper_threshold | -1 | Integer | true | Upper threshold for pool size change | |||||
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_load_unique_streams | false | Boolean | true | Pull only unique streams | |||||
cdn_load_use_profile_name | false | Boolean | true | Put profile name in stream name. Use if entry point is edge | |||||
cdn_load_use_profiles | false | Boolean | true | Pull with profiles | |||||
cdn_node_load_average_threshold | 1.0 | Double | true | If threshold reached node will advertise it's state as GROUP_CONNECTIONS | |||||
cdn_nodes_acl_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN node acl list, in milliseconds | |||||
cdn_nodes_auditor_interval | 1000 | Integer | true | Time interval to check available CDN nodes, in milliseconds | |||||
cdn_nodes_group_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN node group, in milliseconds | |||||
cdn_nodes_on_single_server | false | Boolean | true | If true, cdn nodes can be located on single server | |||||
cdn_nodes_resolve_ip | false | Boolean | true | If true, resolve CDN node domain names to IP addresses | |||||
cdn_nodes_role_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN node role, in milliseconds | |||||
cdn_nodes_route_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN routes, in milliseconds | |||||
cdn_nodes_state_refresh_interval | 60000 | Integer | true | Time interval to refresh CDN node state, in milliseconds | |||||
cdn_nodes_timeout | -1 | Integer | true | CDN nodes timeout in seconds. -1 means nodeTimeout disabled | |||||
cdn_nodes_version_refresh_interval | 90000 | Integer | true | Time interval to refresh CDN node version, in milliseconds | |||||
cdn_origin_allowed_to_transcode | false | Boolean | true | In case no transcoders left node will request transcoding profile from origin | |||||
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_outbound_ws_read_socket_timeout | true | Boolean | true | Enable WebSocket read timeout for outbound cdn connactions | |||||
cdn_outbound_ws_read_socket_timeout_sec | 60 | Integer | true | WebSocket read timeout value (if enabled) for outbound cdn connections | |||||
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_role_strict | false | Boolean | false | If true, sets restrictions on publishing streams by role | |||||
cdn_role_strict_stream_name | null | String | false | Reserved name for setting cdn_role_strict bypass | |||||
cdn_skip_pulled_streams | true | Boolean | true | If true, skip pulled streams | |||||
cdn_ssl | false | Boolean | true | If true, enables SSL | |||||
cdn_standalone | false | Boolean | true | If true, start server in CDN standalone mode, streaming will not available | |||||
cdn_strict_transcoding_boundaries | false | Boolean | true | Prevent transcoding to the same or higher resolution of original stream by placing resolution boundary | |||||
cdn_strict_transcoding_throws_exception | false | Boolean | true | Whether to fail play or substitute requested profile with original stream if profile hit the strict transcoding boundary | |||||
cdn_test_enabled | false | Boolean | true | Turn on cdn tests | |||||
cdn_test_interval | 500 | Integer | true | test interval | |||||
cdn_test_max_subscribers_for_stream | 10 | Integer | true | Max subscribers for each CDN stream. Edge-only setting | |||||
cdn_test_pool_size | 500 | Integer | true | test pool | |||||
cdn_test_step | 10 | Integer | true | test step | |||||
cdn_transcoder_degraded_streams_threshold | -1 | Integer | true | If threshold reached node will advertise it's state as GROUP_CONNECTIONS. Threshold is the percent of degraded streams | |||||
cdn_transcoder_for_new_connects_expire | 10000 | Integer | true | CDN transcoder cache expire for new stream requests | |||||
cdn_transcoder_threshold_state | GROUP_CONNECTIONS_ALLOWED | UNKNOWN | true | If threshold reached node will change state to provided value | |||||
cdn_transcoder_video_decoders_load_threshold | -1 | Integer | true | If decoders load threshold reached node will advertise it's state as GROUP_CONNECTIONS. Threshold is the sum of decoderWidth*decoderHeight*decoderFPS | |||||
cdn_transcoder_video_encoders_load_threshold | -1 | Integer | true | If encoders load threshold reached node will advertise it's state as GROUP_CONNECTIONS. Threshold is the sum of encoderWidth*encoderHeight*encoderFPS | |||||
cdn_transcoder_video_encoders_threshold | 10000 | Integer | true | If threshold reached node will advertise it's state as GROUP_CONNECTIONS | |||||
cdn_transport | udp | String | true | CDN internal transport (udp, tcp, srt) | |||||
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.address | localhost | String | true | Listening address for CLI SSH server | |||||
cli_auth_keys | /usr/local/FlashphonerWebCallServer/.ssh/authorized_keys | String | true | CLI client auth keys file path | |||||
cli_auth_server_keys | /usr/local/FlashphonerWebCallServer/conf/cli-hostkey.pem | String | true | CLI host identification key file path | |||||
cli_enabled | true | Boolean | true | If true, enables CLI | |||||
cli_port | 2001 | Integer | true | CLI server port | |||||
cli_v2.address | localhost | String | true | Listening address for CLI_V2 SSH server | |||||
cli_v2_port | 2002 | Integer | true | CLI V2 server port | |||||
client_acl_property_name | aclAuth | String | true | Access list identifier property key that server should look for in custom config when client connects | |||||
client_appkey_property_name | appKey | String | true | Property name to get application name used in authentication | |||||
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_force_debug | false | Boolean | false | Enable client logs for every newly connected client for a period of time specified by client_log_force_debug_timeout regardless of other settings | |||||
client_log_force_debug_timeout | 60 | Integer | false | Timeout after which client logs will be turned off | |||||
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 | |||||
client_timeout_check_interval | 300000 | Integer | false | Client timeout interval 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_sfu | alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h265,flv,mpv,vp9,h264 | String | false | Comma-separated list of codecs which will not be used for SIP as RTMP case | |||||
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 | |||||
compact_media_port_usage | false | Boolean | true | Use odd media ports for transferring data (requires rtcpMux) | |||||
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_stats_script | String | false | Script can be used to provide custom stat params with action=stat request | ||||||
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 | |||||
custom_watermark_mix | false | Boolean | false | Enables watermark mixing for alpha-layer | |||||
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 | |||||
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 | |||||
decoded_pcm_interceptor | null | String | false | Full name of Java class that implements interface IDecodedPcmInterceptor. 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_buffer_pool | false | Boolean | true | Enable buffer pool usage during video decoding | |||||
decoder_buffer_pool_stats | false | Boolean | false | Enable buffer pool stats, might slow down video transcoding | |||||
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_packetization_mode | 0 | Integer | false | Packetization mode default value if incoming SDP doesn't contains packetization_mode parameter. | |||||
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 | |||||
depacketizer_dump_dir | depacketizer_dump_dir | String | true | H264 RTP stream dump base folder | |||||
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 WCSs 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 | |||||
dns_test_enable | false | Boolean | true | Enable dns test statistic | |||||
dns_test_name | String | true | DNS name for time resolved statistic | ||||||
domain | null | String | false | SIP domain. If this parameter is set, it will redefine values that were transmitted during connection | |||||
dtls0_ua_match_substring | false | Boolean | false | If true, DTLS User-Agent matching will be by substring. Ex: Chrome/70.0 | |||||
dtls_close_socket_after_tries | 10 | Integer | false | Disable / enable DTLS session termination after the specified number of connection attempts. | |||||
dtls_force_version_0 | false | Boolean | false | Force DTLS version 1.0 | |||||
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_hardware_acceleration | false | Boolean | true | Enable hardware acceleration for transcoding | |||||
enable_local_videochat | false | Boolean | false | Not in use | |||||
enable_network_address_cache | false | Boolean | true | Enable cache for resolved addresses. | |||||
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 | |||||
enable_sync_time_normalizer | false | Boolean | true | If true, then enable sync time normalizer | |||||
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' | |||||
file_recorder_error_interval | 60 | Integer | false | Error counter's interval in minutes | |||||
file_recorder_max_errors_per_interval | 3 | Integer | false | Max errors per interval | |||||
file_recorder_min_space | 1g | String | false | Minimum available disk space for recording in GiB(G|g), MiB(M|m) or KiB(K|k). By default, GiB is used if no suffix specified | |||||
file_recorder_thread_pool_max_size | 4 | Integer | true | Maximum core threads count in record thread pool | |||||
file_recorder_thread_queue_initial_size | 50 | Integer | true | Initial size of queue of samples in record thread pool | |||||
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_detect_metadata_by_traffic | true | Boolean | false | If true try to detect flash SDP by incoming traffic | |||||
flash_detect_metadata_by_traffic_timeout | 1000 | Integer | false | Traffic metadata waiting time (ms), if no metadata has been received after this time, the media (video or audio) will be excluded from the SDP. | |||||
flash_handler_play_sdp_filename | flash_handler_play.sdp | String | true | Filename of RTMP subscriber sdp | |||||
flash_handler_publish_sdp_filename | flash_handler_publish.sdp | String | true | Filename of RTMP publisher sdp | |||||
flash_policy.port | 843 | Integer | true | Listening port for flash policy requests to crossdomain.xml file | |||||
flash_rtp_activity_enabled | false | Boolean | false | If true, enable RTP activity for Flash streams | |||||
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' | |||||
frame_cnt_to_determine_their_type | 10 | Integer | false | How long to wait for frames to determine their type | |||||
frep_database_address | jdbc:mysql://localhost/wcs?user=wcs&password=wcs | String | false | Address of database that will be used for FREP data storing | |||||
frep_enabled | false | Boolean | false | If true, enables Flashphoner remote event protocol | |||||
frep_filter_events | CONNECT,CONNECTION_STATUS_EVENT,STREAM,CONNECTION_STATUS_EVENT | ArrayList | true | List of allowed events, which client can send and server can handle | |||||
frep_port | 8085 | Integer | false | FREP port | |||||
frep_role | CLIENT | CLIENT | false | Role of the frep stack, client or server | |||||
frep_secret_key | dsjfoiewqhriywqtrfewfiuewqiufh | String | false | Secret key for FREP authentication | |||||
frep_server_ip | null | String | false | Address of FREP server. Has no effect in server mode. | |||||
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. | |||||
generate_av_start_delay | 0 | Integer | true | Generator start delay in ms, 0 - no delay | |||||
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_allowed_nal_types | 1,5,7,8,12 | String | false | List of NAL unit types allowed for decoding | |||||
h264_b_frames_force_transcoding | false | Boolean | false | If true, force transcoding by higher profile | |||||
h264_buffer_nack_list_threshold | 30 | Integer | false | JitterBuffer will be reset upon reaching this number of NACK packets | |||||
h264_buffer_reset_on_flush_indicator | true | Boolean | false | Clear h264 buffer state upon flush indication | |||||
h264_encoder_filler_data_padding | false | Boolean | false | Fill frames with Filler Data NAL Units to always maintain max bitrate | |||||
h264_encoder_rc_buffer_size | 2 | Integer | false | Coefficient for rc buffer | |||||
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 | |||||
h264_remove_filler_data | false | Boolean | false | Enables condition to remove FILLER_DATA from h264 bitstream | |||||
h264_sps_buff_scale | 1.6 | Double | false | Buffer scale for H264 SPS | |||||
h264_sps_default_size | 100 | Integer | false | Default size of H264 sps buffer | |||||
h264_sps_max_dec_frame_buffering | -1 | Integer | false | SPS VUI decoder buffer | |||||
h264_sps_rbsp_scale | 1.5 | Double | false | Buffer scale for H264 SPS RBSP | |||||
h264_strict_kframe_detect | false | Boolean | true | If true, set frame as keyframe only if contains SPS and PPS NAL units or IDR NAL | |||||
h265_buffer_nack_list_threshold | 30 | Integer | false | JitterBuffer will be reset upon reaching this number of NACK packets | |||||
h265_buffer_reset_on_flush_indicator | true | Boolean | false | Clear h265 buffer state upon flush indication | |||||
h265_max_rtp_packet_size | 1400 | Integer | false | Maximum size of H265 carrying packet | |||||
handler_async_disconnect | true | Boolean | false | If true, enable asynchronous disconnect handler | |||||
hangup_incoming_call_state | null | String | false | Send BUSY_HERE by default. | |||||
hardware_acceleration_enable_soft_reconfiguration | true | Boolean | false | hardware_acceleration_enable_soft_reconfiguration | |||||
hardware_acceleration_reconfigure_max_height | 1088 | Integer | false | Max height for reconfiguring | |||||
hardware_acceleration_reconfigure_max_width | 1920 | Integer | false | Max width for reconfiguring | |||||
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_abr_auto_start | false | Boolean | false | If true, enable HLS ABR autostart | |||||
hls_abr_enabled | false | Boolean | false | Enable ABR and master playlist for HLS | |||||
hls_abr_path_template | {streamName}{abrSuffix}/{streamName}{abrSuffix}.m3u8 | String | true | Template for HLS ABR streams path | |||||
hls_abr_stream_name_suffix | -HLS-ABR-STREAM | String | true | This is a suffix for HLS ABR stream names, client that wants to get ABR version instead of ordinary version should append this suffix to original stream name' | |||||
hls_abr_with_cdn | false | Boolean | true | Use HLS ABR with CDN or use current node for transcoding | |||||
hls_acao_header_domain_mask | true | Boolean | false | Enable origin replacement in HLS Access-Control-Allow-Origin header | |||||
hls_access_control_headers | null | String | true | HLS response headers | |||||
hls_always_start_segment_with_key_frame | false | Boolean | false | If true always wait for keyframe to start new parent segment | |||||
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_debug_dir | hls-debug | String | true | Folder for debug HLS stream dumps | |||||
hls_debug_stream_name_suffix | -DEBUG | String | true | This is a suffix for recorded stream names, used only for debug purposes | |||||
hls_delayed_shutdown | true | Boolean | false | If true waits some time before removing HLS provider | |||||
hls_delta_list_size | 6 | Integer | false | Number of segments in playlist delta | |||||
hls_dir | hls | String | true | HLS base folder | |||||
hls_disable_cleanup | false | Boolean | false | Do not remove inactive hls files from hdd | |||||
hls_enabled | true | Boolean | false | If true, enable HLS support | |||||
hls_fps_discontinuity | false | Boolean | false | If false, disable discontinuity tag on fps change | |||||
hls_fps_threshold | 10 | Integer | false | Value of the threshold in percent change in fps, at which the segment is marked as discontinuity when the setting hls_fps_discontinuity is enabled | |||||
hls_hold_fragmented_mp4 | true | Boolean | true | If true, enables FragmentedMP4 container for low-latency hls media files | |||||
hls_hold_segments_before_delete | true | Boolean | false | If true, hold segments on disk before delete | |||||
hls_hold_segments_size | 5 | Integer | false | How many segments to hold, before delete. May be useful for high-latency HLS subscribers. | |||||
hls_keep_min_segment_duration | false | Boolean | false | If true keep minimum duration of parent segments, so duration will be >= hls_time_min | |||||
hls_list_size | 8 | Integer | false | Maximum number of segments in playlist | |||||
hls_ll_enabled | false | Boolean | false | If true, enable Low Latency HLS | |||||
hls_manager_provider_timeout | 300 | Long | false | HLS manager provider timeout | |||||
hls_manifest_file | index.m3u8 | String | true | HLS master playlist file name. Default is 'index.m3u8' | |||||
hls_max_size_queue | 50 | Integer | false | Maximum size of buffer for hls media data | |||||
hls_metrics_log_size | 50 | Integer | false | Number of HLS log lines in hls/find_all response | |||||
hls_min_list_size | 1 | Integer | false | Minimum number of segments in playlist (should be less than 11) | |||||
hls_min_size_queue | 10 | Integer | false | Minimal size of buffer for hls media data | |||||
hls_path_template | {streamName}/{streamName}.m3u8 | String | true | Template for HLS non ABR streams path | |||||
hls_player_height | 480 0 | Integer | false | HLS player height | |||||
hls_player_width | 640 0 | Integer | false | HLS player width | |||||
hls_playlist_delta_enabled | true | Boolean | false | LL-HLS playlist delta | |||||
hls_preloader_dir | hls/.preloader | String | false | HLS preloader dir | |||||
hls_preloader_enabled | true | Boolean | false | If true, enables HLS preloader | |||||
hls_preloader_segment_count | 5 | Integer | false | LL-HLS Preloader segment count | |||||
hls_preloader_time_min | 2000 | Long | false | Minimal size of preloader's HLS segment in milliseconds | |||||
hls_provider_traffic_waiting_time | 6000 | Integer | false | Time in milliseconds that hls provider waits traffic | |||||
hls_sdp_filename | hls.sdp | String | true | Filename of HLS sdp | |||||
hls_segment_name_suffix_randomizer_enabled | false | Boolean | false | HLS segment name suffix randomizer | |||||
hls_server_enabled | true | Boolean | true | If true, activate HLS server | |||||
hls_session_log_level | INFO | String | false | Level (INFO, DEBUG, ERROR) for HLS session | |||||
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_store_segment_in_memory | true | Boolean | false | Store HLS segments in memory | |||||
hls_subscriber_active_timeout | 2000 | Long | false | Timeout for active state for hls subscriber | |||||
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_version | 9 | Integer | false | HLS version | |||||
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 | |||||
http_enable_paths | rest,action,admin,shared,client,client_records,embed_player,empty,health-check,zclient-invite,zclient-join,verify,rest-api-spec | String | false | List of permitted access to the web interface | |||||
http_enable_root_redirect | true | Boolean | false | Enable root redirect to /admin | |||||
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_channel_high_water_mark | 104857600 | Integer | true | High watermark for ICE tcp channels | |||||
ice_tcp_channel_low_water_mark | 10485760 | Integer | true | Low watermark for ICE tcp channels | |||||
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_tcp_transport_force | false | Boolean | false | If true, use tcp transport regardless of client config | |||||
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_transport_new | true | Boolean | false | If true, use new udp transport | |||||
ice_udp_channel_high_water_mark | 104857600 | Integer | false | High watermark for ice udp channels | |||||
ice_udp_channel_low_water_mark | 10485760 | Integer | false | Low watermark for ice udp channels | |||||
ice_udp_receive_buffer_size | 1048576 | Integer | false | Receive buffer size for ice udp channels | |||||
ice_udp_send_buffer_size | 1048576 | Integer | false | Send buffer size for ice udp channels | |||||
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 | |||||
ignore_incoming_rtp | false | Boolean | false | Discard incoming rtp before decoding/decryption. For test purposes only | |||||
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 | |||||
inbound_video_rate_stat_rels_throttle | 1800 | Integer | false | Inbound video rate stats interval throttle for RELS. 0 - disabled | |||||
inbound_video_rate_stat_send_interval | 0 | Integer | false | Inbound video rate stat send interval in sec needed to calculate channel quality. 0 - disabled | |||||
increase_equals_timestamp | 100 | Integer | false | Timestamps are equal within this interval in milliseconds | |||||
inject_wait_keyframe_ms | 1000 | Long | false | Time server should wait for the injected stream to produce keyframe. Once elapsed server will start to generate video stream with the watermark. Use -1 to turn it off. | |||||
injector_pli_request_interval | 1000 | Long | true | PLI interval at changeover inject to target stream | |||||
injector_queue_threshold | 1000 | Long | true | Minimum injector's queue size for overload identification | |||||
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_buffer_always_detect_frame_type | false | Boolean | false | Enables mandatory detecting frame type from rtp packets | |||||
jitter_buffer_attempt_to_correct_broken_timestamp | false | Boolean | false | If enabled, jitter buffer adding +1 to broken rtp timestamp | |||||
jitter_buffer_capacity | 0 | Integer | false | JitterBuffer will drop frames when value exceeded | |||||
jitter_threshold | 50 | Integer_buffer_strictness | DEFAULT | TOLERANT | false | RTMFP. If jitter between Sets jitter buffer strictness | |||
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 | |||||
jni_debug_enable | truefalse | Boolean | false | If true, enables jni logs in stdout | |||||
keep_alive.algorithm | HIGH_LEVEL | INTERNAL | true | Keep-alive algorithm: INTERNAL, NONE, or HIGH_LEVEL | |||||
keep_alive.enabled | websocket,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 | |||||
ll_hls_can_skip_segments_for_delta_list | 6 | Integer | false | Number of segments in playlist can skipped for delta playlist | |||||
ll_hls_create_preloader | false | Boolean | true | If true, enables LL-HLS Preloader creator | |||||
ll_hls_custom_preloader_dir | custom-preloader | String | true | LL-HLS custom preloader base folder | |||||
ll_hls_delta_list_size | 6 | Integer | false | Number of segments in playlist delta | |||||
ll_hls_dir | ll-hls | String | true | LL-HLS base folder | |||||
ll_hls_fragmented_mp4 | true | Boolean | trueIf true, enables FragmentedMP4 container for low-latency hls media files | ||||||
ll_hls_keep_min_segment_duration | false | Boolean | false | If true keep minimum duration of parent segments, so duration will be >= hls_time_min | |||||
ll_hls_list_size | 12 | Integer | false | Maximum number of segments in playlist for LL-HLS | |||||
ll_hls_max_number_of_parent_segments_containing_partials | 5 | Integer | false | Max number of parent segments containing partials | ll_hls_max_size_queue | 50 | Integer | false | Maximum size of buffer for hls media data |
ll_hls_min_size_queue | 10 | Integer | false | Minimal size of buffer for hls media data | ll_hls_part_hold_back_count | 6 | Integer | false | PART-HOLD-BACK attribute value in Part Target Duration |
ll_hls_partial_time_max | 400 | Long | false | Maximum size of one partial HLS segment in milliseconds | |||||
ll_hls_playlist_delta_enabled | true | Boolean | false | LL-HLS playlist delta | |||||
ll_hls_preloader_dir | ll-hls/.preloader | String | false | LL-HLS preloader dir | |||||
ll_hls_preloader_segment_count | 5 | Integer | false | LL-HLS Preloader segment count | |||||
ll_hls_preloader_segment_duration | 400 | Long | false | Duration of preloader LL-Maximum size of one partial HLS segment in milliseconds | |||||
ll_hls_timepreloader_segment_minduration | 2000400 | Long | false | Minimal size Duration of one preloader LL-HLS segment in milliseconds | |||||
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 | |||||
log_metrics_stats | false | Boolean | false | Enables/Disables log metrics statistic | |||||
log_metrics_time_buffer | 10000 | Long | true | Setting for time buffer(lesser value = faster result, higher value = slower and more accurate). min 1 second | |||||
mail.password | null | String | true | Password for the mail server | |||||
mail.username | null | String | true | Username for the mail server | |||||
mail.verification.ttl | 86400000 | Long | true | Verification transaction TTL | |||||
mail.verification.ttl.active | true | Boolean | true | Remove invalid verification transactions | |||||
mail.verification.ttl.interval | 60000 | Long | true | Verification transaction cleanup interval | |||||
mail.verification.url | null | String | true | Base url for verification service, e.g. http://my.wcs.ip:8081/ | |||||
manager_http_ports_enabled | true | Boolean | true | If true, bind old manager http(s) ports 9091 and 8888 | |||||
matroska_unknown_segment_size | false | Boolean | false | Unknown segment atom size | |||||
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_dir | media | String | true | Media base folder | |||||
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. | |||||
media_processor_input_data_stat_window | 30000 | Integer | false | Window for gathering min and max incoming data arrival time, in ms | |||||
media_session_connection_stats_log | false | Boolean | false | Enable MediaSessionConnectionStats statistics logging | |||||
media_transponder_sdp_filename | media_transponder.sdp | String | true | Filename of transponder sdp | |||||
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 | -1 | Integer | false | If there is no streams added to mixer within this timeout in milliseconds, corresponding mixer will be terminated | |||||
mixer_app_name | defaultApp | String | false | AppName for mixer streams | |||||
mixer_audio_enabled | true | Boolean | false | When false, mixer stream has video-only | |||||
mixer_audio_only_height | 360 | Integer | false | Height constraint for mixer audio only frame | |||||
mixer_audio_only_width | 640 | Integer | false | Width constraint for mixer audio only frame | |||||
mixer_audio_opus_float_coding | false | Boolean | false | Use float optimisations for opus audio coding. | |||||
mixer_audio_silence_threshold | -50.0 | Double | false | Audio silence threshold in db | |||||
mixer_audio_threads | 4 | Integer | false | How many threads should multithreaded audio mixer use | |||||
mixer_auto_create_delimiter | # | String | false | Mixer auto create stream/room delimiter | |||||
mixer_auto_start | true | Boolean | false | If true, enable mixer autostart | |||||
mixer_autoscale_desktop | true | Boolean | false | Separate screen share font size from other frames | |||||
mixer_debug_mode | false | Boolean | false | Turns on debug mode, this will output debug information directly onto mixers canvas' | |||||
mixer_decode_stream_name | false | Boolean | false | Decode stream name to mixer's canvas | |||||
mixer_desktop_align | TOP | TOP | false | Alignment of screen sharing stream | |||||
mixer_display_stream_name | false | Boolean | false | Output stream name to mixer's canvas | |||||
mixer_font_size | 20 | Integer | false | Font size for stream name and debug info | |||||
mixer_font_size_audio_only | 40 | Integer | false | Font size for stream name and debug info for audio only streams | |||||
mixer_frame_background_colour | 0x2B2A2B | String | false | Hex value of frame background colour | |||||
mixer_idle_timeout | 60000 | Long | false | Mixer idle timeout in milliseconds | |||||
mixer_in_buffering_ms | 200 | Integer | false | How much stream should be buffered before it gets into mix | |||||
mixer_incoming_time_rate_lower_threshold | 0.95 | Double | false | Relation between incoming stream time and actual machine mixing time, 0.9 means that incoming time rate can be 10% lower then actual stream playback rate | |||||
mixer_incoming_time_rate_upper_threshold | 1.05 | Double | false | Relation between incoming stream time and actual machine mixing time, 1.2 means that incoming time rate can be 20% bigger then actual stream playback rate | |||||
mixer_layout_class | com.flashphoner.media.mixer.video.presentation.GridLayout | String | true | Name of class for custom mixer layout | |||||
mixer_layout_dir | String | false | Directory name for custom mixer descriptors | ||||||
mixer_linear_smoothing_audio | true | Boolean | false | Smoothly fade-in and fade-out audio in mixer. 20ms of audio is lost during fade-in | |||||
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 mixers 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_maintain_streams_delay_while_buffered | true | Boolean | false | If false, mixer does not drop audio video frames to maintain minimum set delay mixer_in_buffering_ms | |||||
mixer_mcu_audio | false | Boolean | false | Enable mcu like audio mixing, each added stream will have dedicated audio mix available as a separate stream | |||||
mixer_mcu_multithreaded_delivery | false | Boolean | false | Use separate threads for mcu streams injest into engine. | |||||
mixer_mcu_multithreaded_mix | false | Boolean | false | Mix audio/video in separate threads. | |||||
mixer_mcu_video | false | Boolean | false | Works only with mcu audio, send video to each audio mcu stream. Video stays the same as in the root mixer. | |||||
mixer_minimal_font_size | 1 | Integer | false | Minimal font size for stream name if autoscaling is on | |||||
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_overflow_allowed_deviation | 1000 | Long | false | max allowed difference between min(buffer) and max(buffer). if this constraint met over the rtmp_in_buffer_overflow_deviation_window overflow state will be set leading to clock acceleration | |||||
mixer_out_buffer_overflow_deviation_window | 30000 | Integer | false | window for gathering min and max buffer sizes over time, in ms | |||||
mixer_out_buffer_overflow_rate | 0.15 | Double | false | buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x | |||||
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_realtime | true | Boolean | false | Turns on realtime version of mixer | |||||
mixer_separate_buffering_audio_video | false | Boolean | false | If true, separate audio video buffering in mixer | |||||
mixer_show_separate_audio_frame | true | Boolean | false | Show audio frame for audio+video stream if added with hasVideo: false | |||||
mixer_text_align | BOTTOM_LEFT | TOP_LEFT | true | Text position relative to frame | |||||
mixer_text_autoscale | true | Boolean | false | Enable stream name autoscaling | |||||
mixer_text_background_colour | 0x2B2A2B | String | false | Hex value of stream names background colour | |||||
mixer_text_background_opacity | 100 | Integer | false | Opacity of text background percentage | |||||
mixer_text_bulk_write | true | Boolean | false | Use bulk write with DirectByteBuffer for text | |||||
mixer_text_bulk_write_with_buffer | true | Boolean | false | Use bulk write with DirectByteBuffer for text, cache whole text as a frame | |||||
mixer_text_colour | 0xFFFFFF | String | false | Hex value of stream names colour | |||||
mixer_text_cut_top | 3 | Integer | false | Clip top part of the text | |||||
mixer_text_display_room | true | Boolean | false | Display room name in participant stream names | |||||
mixer_text_font | Serif | String | false | Font of mixer text | |||||
mixer_text_outside_frame | NO | String | true | Text position relative to frame | |||||
mixer_text_outside_frame_padding | 50 | Integer | true | External padding for outside frame text | |||||
mixer_text_padding_bottom | 5 | Integer | false | Padding for the bottom side of text in pixels | |||||
mixer_text_padding_left | 5 | Integer | false | Padding for the left side of text in pixels | |||||
mixer_text_padding_right | 4 | Integer | false | Padding for the right side of text in pixels | |||||
mixer_text_padding_top | 5 | Integer | false | Padding for the top side of text in pixels | |||||
mixer_thread_priority | 5 | Integer | false | Mixer thread priority, min 1 max 10 | |||||
mixer_type | NATIVE | JAVA | false | Mixer implementation, can be JAVA, NATIVE or MULTI_THREADED_NATIVE | |||||
mixer_use_sdp_state | true | Boolean | false | Enable audio/video only stream detection via sdp state | |||||
mixer_video_background_filename | null | String | false | Mixer video background. Example: background.png | |||||
mixer_video_bitrate_kbps | 2000 | Integer | false | Encoded video bitrate kbps | mixer_video_buffer_length | 1000 | Integer | falseVideo buffer length for decoded frames | |
mixer_video_desktop_fullscreen | false | Boolean | false | Display desktop stream in fullscreen mode | |||||
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_profile_level | 42c02a | String | false | Mixer video profile and level in hex. Example: 42c02a | |||||
mixer_video_quality | 24 | Integer | false | Encoded video quality (CRF) | |||||
mixer_video_stable_fps_threshold | 15 | Integer | false | Streams with fps lower then threshold won't trigger buffering of the stream if video buffer was exhausted | |||||
mixer_video_threads | 4 | Integer | false | How many threads should multithreaded video mixer use | |||||
mixer_video_width | 1280 | Integer | false | Width constraint for mixer stream | |||||
mixer_voice_activity | true | Boolean | false | Enable/disable voice activity frame | |||||
mixer_voice_activity_colour | 0x00CC66 | String | false | Hex value of voice activity colour | |||||
mixer_voice_activity_frame_position_inner | false | Boolean | false | Draw voice activity frame inside the frame. If false - draw around the frame | |||||
mixer_voice_activity_frame_thickness | 6 | Integer | false | Thickness of voice activity frame | |||||
mixer_voice_activity_switch_delay | 0 | Integer | false | Voice activity indicator switch off delay in milliseconds | |||||
mp4_container_moov_first | true | Boolean | false | When recording mp4 write moov atom first so recording can be played/downloaded progressively | |||||
mp4_container_moov_first_reserve_space | false | Boolean | false | Turn on space reservation for moov atom to avoid additional filesystem copy | |||||
mp4_container_moov_reserved_space_size | 2048 | Integer | false | When writing moov first how much space should be reserved for moov atom in kilobytes | |||||
mp4_container_write_header_on_fly | false | Boolean | true | Write header with same period while stream is recording when space reservation is turned on | |||||
mp4_container_write_header_on_fly_interval | 5 | Integer | true | Interval for writing header in seconds | |||||
mp4_cutter_dir | records | String | true | Folder to place MP4 fragments while playing recording files in browser | |||||
mp4_cutter_manager_cache_expire | 60000 | Integer | true | Mp4 cutter manager cache expire | |||||
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 | |||||
mpegts_agent_sdp_filename | mpegts_agent.sdp | String | true | Filename of MPEG-TS publisher sdp | |||||
mpegts_max_pts_diff | 1 | Integer | false | if server receives a packet whose PTS differs by more than this value in seconds, sessions of subscribers will be terminated | |||||
mpegts_stream_timeout | 90000 | Long | false | MpegTS stream with no data will be terminated after this timeout in milliseconds | |||||
mpegts_udp_constant_socket | true | Boolean | false | if true, the server accepts packets only from the first client socket. Packets from other sockets will be ignored | |||||
mse_sdp_filename | mse.sdp | String | true | Filename of MSE sdp | |||||
msrp_port | 2855 | Integer | false | Port for receiving MSRP / TCP connections | |||||
multi_record_dir | records | String | true | MultiRecord base folder | |||||
multi_recorder_mkv_fill_gaps | true | Boolean | false | Fill gaps in matroska tracks | |||||
multi_recorder_type | MP4 | MKV | false | MP4 or MKV multiRecorder format | |||||
multipart_message_service_uri | null | String | false | SIP URI for sending message to multiple destinations. | |||||
multiple_pull_test_server_url | null | String | true | Server url for mpt test | |||||
multiple_pull_test_stream_name | null | String | true | Stream name for mpt test | |||||
multiple_pull_test_subscribers | 100 | Integer | false | multiple_pull_test_subscribers | |||||
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_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 | |||||
notification_apns_key_id | null | String | false | Key Id for ios apns | |||||
notification_apns_key_path | /usr/local/FlashphonerWebCallServer/conf/apns_auth_key.p8 | String | false | Full path to p8 key file for ios apns | |||||
notification_apns_team_id | null | String | false | Team Id for ios apns | |||||
notify_message_call_timeout | null | String | false | Timeout in milliseconds to wait for client confimation of receiving an incoming message. | |||||
on_multiple_record_hook_script | on_multiple_record_hook.sh | String | false | This option points to shell script located in /usr/local/FlashphonerWebCallServer/bin directory, which is started when multipleRecorder is terminated. By default, the script run offline_mixer_tool.sh script located in /usr/local/FlashphonerWebCallServer/tools with default offlineMixer config located in /usr/local/FlashphonerWebCallServer/conf. | |||||
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 | |||||
outbound_video_rate_stat_rels_throttle | 1800 | Integer | false | Outbound video rate stats interval throttle for RELS. 0 - disabled | |||||
outbound_video_rate_stat_send_interval | 0 | Integer | false | Outbound video rate stat send interval in sec needed to calculate channel quality. 0 - disabled | |||||
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 | |||||
play_stream_force_video_orientation | true | Boolean | false | Force negotiation of 3gpp video orientation extension for play stream requests | |||||
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 | 640028 | 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 | true | 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_buffer_max_size | 100 | Integer | false | Record audio buffer size | |||||
record_audio_codec_channels | 2 | Integer | false | Codec channel count used for recording streams | |||||
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_close_scheduling_period | 20 | Integer | true | Buffer check period for closing a record in milliseconds | |||||
record_dir | records | String | true | Record base folder | |||||
record_fdk_aac_bitrate_mode | 5 | Integer | false | Record FDK bitrate mode. 0 - CBR, 1-5 - VBR | |||||
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_formats | h264-mp4,vp8-webm | RecordFormats | false | H264 and VP8 recorder type | |||||
record_h264_to_ts | false | Boolean | false | If set, record to TS instead of mp4 | |||||
record_mixer_streams | false | Boolean | false | When true, mixer streams are recorded | |||||
record_response_content_disposition_header_value | null | String | false | /client/records/ path content-disposition header | |||||
record_rotation | null | String | false | If set, rotation for stream recording files is enabled, in seconds, Megabytes or in MegabytesheaderSize. | |||||
record_rotation_index_enabled | true | Boolean | false | If true, rotation for stream recording files is enabled | |||||
record_rtsp_streams | false | Boolean | false | If true, record RTSP streams | |||||
record_stop_timeout | 15 | Integer | false | Record stop timeout in seconds | |||||
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,...}). | |||||
record_tmp_dir | records | String | true | Recording temporary files base folder | |||||
recording_by_user | false | Boolean | true | If true, call is recorded for the initiator of the call only | |||||
red_max_encodings_number | 0 | Integer | false | Default number of red encoding, max value is 32 | |||||
reg_expires | 3600 | Integer | false | Value in seconds, which will be used in Expires header when SIP REGISTER request is sent | |||||
rels_client_type | HTTP | JDBC | true | ClickHouse client implementation | |||||
rels_consumer_interval | 1000 | Integer | true | Buffer consumer intervalInteger | true | Buffer consumer interval | |||
rels_database_address | localhost:8123 | String | true | Address of ClickHouse database that will be used for events storing | |||||
rels_database_address | http://localhost:8123/wcs?properties | user=wcs&password=wcs | String | falsetrue | Address Properties of ClickHouse database that will be used for events storing | ||||
rels_database_thread_pool_size | 4 | Integer | true | Database thread pool size, if value less then 1, default shared thread pool will be used | |||||
rels_enable_compression | false | Boolean | true | Enables compression of outgoing traffic | |||||
rels_enabled | EnumSet | false | Enables logging of the listed event types to database | ||||||
rels_event_buffer_initial_size | 5000 | Integer | true | Initial buffer size | |||||
rels_event_buffer_interval | 60000 | Integer | false | Buffer interval | |||||
rels_event_buffer_max_size | 40000 | Integer | false | Max buffer size | |||||
rels_events_default_frequency | 1000ms | String | false | Default frequency (100ms or 100th) of RELS events if not specified by REST API request | |||||
rels_media_session_events_default_frequency | 1000 | Integer | true | Default frequency (ms) of RELS media session events if not specified by REST API request | |||||
rels_test_start_threads | 2 | Integer | true | RELS test threads count | |||||
rels_test_thread_events | 2 | Integer | true | RELS test thread events | |||||
rels_test_thread_interval | 2 | Integer | true | RELS test thread interval | |||||
remove_ssrc_attr | false | 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_credentials | true | Boolean | false | Rest-api response access_control_allow_credentials header | |||||
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_access_control_headers | null | String | true | REST response headers | |||||
rest_client_request_retry_count | 3 | Integer | true | How many times to retry sent request; 0 means no retries. | |||||
rest_client_request_sent_retry_enabled | true | Boolean | true | True if it's OK to retry non-idempotent requests that have been sent. | |||||
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 | |||||
room_idle_timeout | 60000 | Long | true | Room idle timeout in milliseconds | |||||
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_pli_request_interval | 1000 | Long | false | Minimal waiting time to send PLI after receiving K-frame | |||||
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 | |||||
rtmfp_server_enabled | true | Boolean | true | Enable/disable rtmfp server | |||||
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_agent_sdp_filename | rtmp_agent.sdp | String | true | Filename of RTMP agent sdp | |||||
rtmp_appkey_source | default | String | false | RTMP appkey source: default/app | |||||
rtmp_command_amf3 | true | Boolean | true | rtmp_command_amf3 | |||||
rtmp_detect_h264_frame_type | false | Boolean | false | If true, for H264 frames, frame type will be determined by the NAL units instead of RTMP control field | |||||
rtmp_dump_dir | rtmp_dump_dir | String | true | Rtmp dump base folder | |||||
rtmp_dump_incoming_video | false | Boolean | false | If true, write incoming rtmp video (4 bytes length | flv packet) | |||||
rtmp_dump_republished_video | false | Boolean | false | If true, write republished outgoing rtmp video (4 bytes length | flv packet) | |||||
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_clear_threshold | 30000 | Long | false | once reached in overflow state buffer will clear up to overflow lower bound | |||||
rtmp_in_buffer_enabled | false | Boolean | false | If true, enable buffer for incoming RTMP streams | |||||
rtmp_in_buffer_increase_rate | 0.25 | Double | false | buffer increase rate | |||||
rtmp_in_buffer_initial_size | 2000 | Long | false | Initial size of incoming RTMP buffer in milliseconds | |||||
rtmp_in_buffer_input_delay_threshold | 0 | Long | false | Once stream delay reached the threshold buffer will passthrough stream without buffering, 0 - turned off | |||||
rtmp_in_buffer_max_bufferings_allowed | -1 | Integer | false | rtmp_in_buffer_max_bufferings_allowed | |||||
rtmp_in_buffer_overflow_allowed_deviation | 1000 | Long | false | max allowed difference between min(buffer) and max(buffer). if this constraint met over the rtmp_in_buffer_overflow_deviation_window overflow state will be set leading to clock acceleration | |||||
rtmp_in_buffer_overflow_deviation_window | 30000 | Integer | false | window for gathering min and max buffer sizes over time, in ms | |||||
rtmp_in_buffer_overflow_lower_bound | 1000 | Long | false | Lower bound for switching from overflow to hold state | |||||
rtmp_in_buffer_overflow_rate | 0.15 | Double | false | buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x | |||||
rtmp_in_buffer_overflow_state_change_delay | 10000 | Long | false | Enforces delay between two consecutive overflow states | |||||
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_metadata_to_sdp_state | true | Boolean | false | Translate publishers metadata into sdp state, this is used in conjunction with mixer_use_sdp_state' | |||||
rtmp_out_buffer_enabled | false | Boolean | false | If true, enable buffer for outgoing RTMP streams | |||||
rtmp_out_buffer_initial_size | 2000 | Long | false | Initial size of outgoing RTMP buffer in milliseconds | |||||
rtmp_out_buffer_max_bufferings_allowed | -1 | Integer | false | rtmp_out_buffer_max_bufferings_allowed | |||||
rtmp_out_buffer_overflow_allowed_deviation | 1000 | Long | false | max allowed difference between min(buffer) and max(buffer). if this constraint met over the rtmp_in_buffer_overflow_deviation_window overflow state will be set leading to clock acceleration | |||||
rtmp_out_buffer_overflow_deviation_window | 30000 | Integer | false | window for gathering min and max buffer sizes over time, in ms | |||||
rtmp_out_buffer_overflow_rate | 0.15 | Double | false | buffer clock acceleration rate. To calculate increase in output speed use (1 + rate) / buffer = 1/x | |||||
rtmp_out_buffer_polling_time | 50 | Long | false | Outgoing RTMP buffer polling time in milliseconds | |||||
rtmp_out_buffer_start_size | 300 | Long | false | Start size of outgoing 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_allow_to_reuse_uri | false | Boolean | false | If true, allow to multiple pulling with the same URI | |||||
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_push_restore | false | Boolean | false | If true, then reconnect after connection reset by peer | |||||
rtmp_push_restore_attempts | 3 | Integer | false | RTMP push reconnect attempts | |||||
rtmp_push_restore_interval_ms | 5000 | Integer | false | RTMP push reconnect interval in ms | |||||
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_server_enabled | true | Boolean | true | Enable/disable rtmp server | |||||
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 | true | 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_audio | true | Boolean | false | If true, RTP activity check is enabled for audio. | |||||
rtp_activity_audio_exclude | String | false | Disable RTP activity for audio stream with name matches this regex pattern | ||||||
rtp_activity_detecting | null | String | false | Disables / enables and sets value of RTP activity timeout, in seconds. | |||||
rtp_activity_timeout | 60 | Long | false | RTP activity timer in seconds | |||||
rtp_activity_video | true | Boolean | false | If true, RTP activity check is enabled for video. | |||||
rtp_activity_video_exclude | String | false | Disable RTP activity for video stream with name matches this regex pattern | ||||||
rtp_bundle | true | Boolean | false | Enable rtp bundle | |||||
rtp_elapsed_time_threshold | 10000 | Long | false | RTP elapsed time threshold, in milliseconds | |||||
rtp_generator_start_timeout | 2000 | Integer | true | Time in ms for enable generator if no rtp in call | |||||
rtp_in_buffer | false | Boolean | false | If true, use RTP in buffer | |||||
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_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_pcap_server_custom_stream_name | null | String | false | User custom stream name for all pcap sources with incrementing #N at the end | |||||
rtsp_pcap_server_handler_redirect_url | null | String | true | Rtsp pcap server redirect URL | |||||
rtsp_pcap_server_redirect_method | OPTIONS | String | true | Rtsp pcap server redirect method: OPTIONS/DESCRIBE | |||||
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_server_sdp_filename | rtsp_server.sdp | String | false | Filename of RTSP server sdp | |||||
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 | |||||
sctp_buffer_size | 20000 | Long | true | SCTP buffer size in bytes | |||||
sdp_origin_username | Flashphoner | String | false | Sdp Origin value | |||||
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 | |||||
sfu_bridge_enabled | false | Boolean | false | With the bridge SFU will wrap tracks into streams | |||||
sfu_mongo_storage_database | wcs_sfu | String | true | MongoDB database name | |||||
sfu_mongo_storage_url | mongodb://localhost/?w=majority | String | true | MongoDB connection url | |||||
sfu_periodic_fir_request | true | Boolean | false | If true, then every sfu_periodic_fir_request_interval' seconds WCS server sends an RTCP Full Intra Request (FIR) message to the input stream source' | |||||
sfu_periodic_fir_request_interval | 30000 | Integer | false | Interval to send RTCP FIR in milliseconds to SFU participant | |||||
sfu_proxy_pli_requests | true | Boolean | false | If true, then every PLI request from viewer will be forwarded to source | |||||
sfu_storage_type | YAML | YAML | true | SFU storage type, YAML or MONGO | |||||
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_rtcp_feedback | false | Boolean | false | If true, force rtcp feedback to sip provider | |||||
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 | String | UDP/DTLS/SCTP | UDP/TLS/,UDP/UDT/IX,UDP/BFCP | null | |||||
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 | |||||
sip_user_agent_shutdown_timeout | 5000 | Integer | false | Timeout for remove sip user agent for unregister in sip provider. Default is 5000 ms | |||||
snapshot_auto_dir | /usr/local/FlashphonerWebCallServer/snapshots | String | false | Snapshots dir | |||||
snapshot_auto_enabled | false | Boolean | false | If true, then enable snapshot auto cut | |||||
snapshot_auto_naming | mediaSessionId | String | false | Snapshot auto naming | |||||
snapshot_auto_rate | 60 | Integer | false | Snapshot rate. By default save every 60 frame | |||||
snapshot_auto_retention | 20 | Integer | false | Snapshot retention. By default keep last 20 frames | |||||
snapshot_taking_attempts | 30 | Integer | true | The number of attempts to take a snapshot. By default 30 | |||||
snapshot_taking_interval_ms | 3000 | Integer | true | Snapshot taking interval. By default 3000 milliseconds | |||||
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_average_calculation_window | 30 | Integer | true | Window size for general average stats calculation | |||||
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 | 500 | 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_idle_bitrate_monitoring | false | Boolean | false | Enable monitoring of published streams based on bitrate | |||||
stream_idle_bitrate_monitoring_threshold_bps | 10000 | Long | false | Lowest bitrate possible for the active stream | |||||
stream_idle_bitrate_monitoring_window_sec | 120 | Integer | false | Mean stream bitrate calculation window in seconds | |||||
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_audio_subgroup_queue_max_waiting_time | 5000 | Integer | false | Maximum time that subgroup thread will wait for frame arrival before executing next iteration | |||||
streaming_distributor_audio_subgroup_queue_size | 300 | Integer | false | Size of queue for distribution subgroup) | |||||
streaming_distributor_audio_subgroup_size | 500 | Integer | false | Video sessions per group | |||||
streaming_distributor_dump_interval | 10 | Integer | true | Interval in minutes for getting distributor thread dumps | |||||
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_distributor_queue_size_dump_threshold | 0.95 | Double | false | Distributor queue size threshold for getting dump | |||||
streaming_distributor_queue_size_log_threshold | 10 | Integer | true | Threshold for logging distributor queue size | |||||
streaming_distributor_subgroup_enabled | false | Boolean | false | Enable video distribution subgroups) | |||||
streaming_distributor_subgroup_queue_max_waiting_time | 5000 | Integer | false | Maximum time that subgroup thread will wait for frame arrival before executing next iteration | |||||
streaming_distributor_subgroup_queue_size | 300 | Integer | false | Size of queue for distribution subgroup) | |||||
streaming_distributor_subgroup_size | 2 | Integer | false | Video sessions per group | |||||
streaming_distributor_video_proxy_pool_enabled | false | Boolean | false | Use thread pool for video distribution, proxy only | |||||
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 | 100 | Integer | true | Websocket connections to test | |||||
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. | |||||
streaming_video_decoder_wait_for_distributors | true | Boolean | false | Stop decoding temporarily if one of the distributors fails to keep up with decoding | |||||
streaming_video_decoder_wait_for_distributors_max_queue_size | 5 | Integer | true | Stop decoding when one of distributors queue reaches specified size (See streaming_video_decoder_wait_for_distributors) | |||||
streaming_video_decoder_wait_for_distributors_timeout | 33 | Integer | true | Specifies how long decoding should wait before another distributors queue check (See streaming_video_decoder_wait_for_distributors) | |||||
streaming_video_decoder_warmup | true | Boolean | false | Warmup video decoder with P frame after I frame regardless of decoding point availability | |||||
streaming_video_decoder_warmup_frames | 5 | Integer | false | How many P frames should be used for warmup | |||||
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_timeout | 1500 | Integer | false | STUN socket queue timeout in milliseconds | |||||
stun_stack_default_thread_pool_size | 0 | Integer | false | STUN default thread pool size | |||||
stun_wait_candidate_timeout | 1000 | Integer | false | STUN waiting candidate timeout for nominate in milliseconds | |||||
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 | |||||
sync_time_force_newest | true | Boolean | true | Force newest synctime after sync change, prevent new packet from getting synctime from past | |||||
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 | 4 | Integer | true | Default core threads count in thread pool (equal to CPUs count) | |||||
thread_pool_default_max_threads | 8 | 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 | |||||
thread_pools_config_filename | thread_pools_config.json | String | true | Thread pools config filename | |||||
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_key_frame_interval | 60 | Integer | false | Transcoder agent key frame interval | |||||
transcoder_agent_rtcp_send_interval | 2000 | Long | false | Interval in ms for send rtcp from transcoder agent | |||||
transcoder_align_encoders | false | Boolean | false | Align video encoders of the same video input by key frames | |||||
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 | 0.0.0.0 | InetAddress | true | TURN external IP address | |||||
turn_ip_local | 0.0.0.0 | InetAddress | true | TURN internal 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_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_injector | true | Boolean | true | If true, enable new injectors | |||||
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_strict_jitter_buffer | false | Boolean | false | Enables strict jitter buffer | |||||
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_bitstream_normalizer_consecutive_ts_errors_threshold | 90 | Integer | false | How many consecutive timestamp errors normalizer can absorb before falling back to original stream timestamp. | |||||
video_decoder_max_threads | 2 | Integer | false | How many threads will be used for decoding | |||||
video_decoder_second_thread_threshold | 777000 | Integer | false | Resolution threshold. Once it is reached, decoder should start using second thread. | |||||
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_h265_preset | ultrafast | String | false | Preset value for H.265 encoder | |||||
video_encoder_max_threads | 3 | Integer | false | How many threads will be used for encoding | |||||
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_filter_fps_gop_synchronization | 0 | Integer | false | Filters gop value used to provide synchronization point for encoders, use with TRANSCODER_ALIGN_ENCODERS' | |||||
video_force_sync_timeout | 100 | Integer | false | Waiting for RTCP sync packet on this interval in ms, for video | |||||
video_mixer_output_codec | h264 | String | false | Video mixer output codec (multiple codecs not allowed) | |||||
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 | |||||
video_transcoder_round_ratio | 0 | Integer | false | Rounding up or down when preserving aspect ratio | |||||
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_force_video_orientation | true | Boolean | false | Force negotiation of 3gpp video orientation extension for wcs agent's | |||||
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 | |||||
wcs_agent_uri_path | /websocket | String | true | WCSAgent ws request uri path | |||||
wcs_sfu_bridge_enabled | false | Boolean | false | With the WCS SFU bridge wcs will wrap streams into tracks | |||||
wcsoam_batch_timeout | 500 | Integer | true | WCS OAM receive timeout | |||||
wcsoam_buffer_size | 20000 | Integer | true | WCS OAM buffer size in kB | |||||
wcsoam_chunk_size | 64 | Integer | true | WCS OAM send chunk size in kB | |||||
wcsoam_hostname | null | String | true | WCS OAM server hostname | |||||
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_ping_enabled | true | Boolean | false | WCS OAM server ping enable | |||||
wcsoam_ping_interval | 10000 | Integer | true | WCS OAM server ping interval in ms | |||||
wcsoam_port | 7777 | Integer | true | WCS OAM server port | |||||
wcsoam_reconnect_interval | 5000 | Integer | true | WCS OAM reconnect interval in ms | |||||
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 | |||||
webm_java_writer_enable | true | Boolean | false | Replace ffmpeg webm writer with java implementation | |||||
webrtc_aes_crypto_provider | BC | BC | false | Crypto provider for WebRTC | |||||
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 | false | 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 | true | Boolean | true | 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 | |||||
webrtc_pre_init | true | Boolean | true | If true, use WebRTC pre-initialization | |||||
webrtc_pre_init_timeout | 20000 | Integer | true | Maximum allowed time for WebRTC preinit | |||||
webrtc_sdes_extensions | true | Boolean | false | Enable sdes rtp header extensions | |||||
webrtc_sdp_bandwidth_bps | 0 | Long | false | b=AS/b=TIAS in publish sdp | |||||
webrtc_sdp_h264_exclude_profiles | String | false | List of H264 profiles which should be excluded in response on SDP negotiation. | ||||||
webrtc_sdp_max_bitrate_bps | 0 | Long | false | x-google-max-bitrate in publish sdp | |||||
webrtc_sdp_min_bitrate_bps | 0 | Long | false | x-google-min-bitrate in publish sdp | |||||
websocket_uri_path | String | true | WebSocket request uri path | ||||||
work_around | false | Boolean | false | Not in use | |||||
ws.address | 0.0.0.0 | InetAddress[] | true | Listening address for WebSocket server | |||||
ws.dashboard.port | 8086 | Integer | true | WebSocket dashboard connection port | |||||
ws.ip_forward_header | X-Real-IP | String | false | Header for IP forwarding | |||||
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.dashboard.port | 8446 | Integer | true | Secure websocket dashboard connection port | |||||
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 | |||||
zapp_conf_dir | /usr/local/FlashphonerWebCallServer/conf/zclient/conf/ | String | true | Zapp configuration directory | |||||
zgc_log_parser_enable | false | Boolean | true | Launch ZGC parser for stat output | |||||
zgc_log_parser_path | logs/gc-core-[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}.log | String | true | ZGC logs path to parse | |||||
zgc_log_time_format | yyyy-MM-dd'T'HH:mm:ss.SSSZ | String | true | ZGC logs time format used to parse gc pause time |