Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Adaptive RTMP incoming buffer has the following parameters to tune:

ParameterDescriptionDefault value
rtmp_in_buffer_start_sizeMinimum buffer volume to start, ms300
rtmp_in_buffer_initial_sizeMaxumum buffer volume, ms2000
rtmp_in_buffer_max_bufferings_allowedMaximum bufferings amout allowed-1 (unlimited)
rtmp_in_buffer_polling_timeBuffer polling period, ms100
rtmp_in_buffer_overflow_allowed_deviationMaximum difference between minimum and maximum buffer volumes used, ms1000
rtmp_in_buffer_overflow_deviation_windowWindow size to collect the difference, ms30000
rtmp_in_buffer_overflow_rateMaximum buffer overflow rate0.15
rtmp_in_buffer_clear_thresholdClear all the data exceeding maxumum buffer size when buffer reaches the threshold, ms30000

Stop stream buffering if stream delay grows

RTMP stream timestamps may significally differ from server time, and stream may give a delay if there is not enough systrem perfomance for software stream encoder, or if channel bandwidth decreases. Buffering of such stream will give a periodic freezes while playing it. Since build 5.2.1311 the following parameter was added to disable buffering and pass incoming traffic directly to server engine

Code Block
themeRDark
rtmp_in_buffer_input_delay_threshold=0

By default, RTMP traffic will always be buffered if buffering is enabled. Buffering can be disabled when stream delay reaches a value defined in milliseconds

Code Block
themeRDark
rtmp_in_buffer_input_delay_threshold=3000

In this case, buffer is cleared and goes to the PASSTHROUGH state. Even if stream delay becomes lower, buffer will remain in the state, and stream will not be buffered until publishing is stopped.

Recommended RTMP stream buffering settings for high quality publishing

The following buffering settings are recommended when publishing a high quality RTMP streams (high bitrate, HD, FullHD resolutions)

Code Block
themeRDark
rtmp_in_buffer_enabled=true
rtmp_in_buffer_start_size=1000
rtmp_in_buffer_initial_size=3000
rtmp_in_buffer_polling_time=30
rtmp_in_buffer_max_bufferings_allowed=-1

In this case an RTMP stream published should play smoothly for viewers (if channel quality is good enough) and in mixer.

Detect stream parameters by metadata or media traffic

By default, a possible RTMP publishing parameters are set according to SDP settings file. Since build 5.2.1862 the following option is added to enable automatic stream publishing parameters detection by stream metadata or media traffic data

Code Block
themeRDark
flash_detect_metadata_by_traffic=true

The option is enabled by default. In this case, WCS changes SDP according to a stream metadata received or according to media information from the stream media packets received.

Since build 5.2.1935 it is possible to setup a maximum time to detect stream metadata by media packets received

Code Block
themeRDark
flash_detect_metadata_by_traffic_timeout=1000

The default timeout is 1000 ms.

Known issues

Excerpt Include
From another server via RTMP
From another server via RTMP
nopaneltrue

...