Skip to content

Детекция тишины

Обнаружение тишины может быть полезно для целей тестирования, например, если вам нужно проверить свое аудиооборудование на работоспособность. Для этого хорошо иметь активный работающий источник видеопотока и возможность определять, когда в нем возникает тишина.

Flussonic позволяет включить обнаружение тишины в потоке и указать пороговое значение уровня звука. Flussonic генерирует события, чтобы сообщить вам, когда наступает тишина и когда звук появляется снова. События генерируются только для активных источников, а не для потерянных. Когда потерянный источник появляется снова, Flussonic возобновляет обнаружение тишины.

Если поток содержит несколько звуковых дорожек, Flussonic использует первую из них для обнаружения тишины.

Чтобы включить обнаружение тишины в потоке:

  1. Откройте файл конфигурации Flussonic.
  2. Добавьте опцию silencedetect в конфигурацию потока:

    stream STREAM_NAME { url udp://127.0.0.1:5500; silencedetect duration=20 interval=10 noise=-30dB; }

    Здесь:

    • duration (в секундах) — продолжительность непрерывного интервала времени, в течение которого тишина должна длиться для того, чтобы Flussonic сгенерировал соответствующее событие.
    • interval (в секундах) — Flussonic будет продолжает отправлять событие audio_silence_detected периодически один раз в указанный интервал времени, пока звук не появится в источнике.
    • noise — пороговое значение уровня звука. Звук такого и более низкого уровня Flussonic станет считать тишиной.

    Конфигурация в примере означает, что если в течение 20 секунд уровень звука не превышает -30 дБ, то Flussonic будет генерировать событие audio_silence_detected каждые 10 секунд до тех пор, пока звук не появится.

  3. Подпишитесь на события audio_silence_detected и audio_silence_end, например:

    notify events { sink log:///var/log/flussonic/audio_silence.log; only event=stream_media_info,audio_silence_detected,audio_silence_end; }

    Здесь:

    • audio_silence_detected — это событие генерируется, когда уровень звука не превышает значение, указанное в noise в течение времени, указанного в duration.
    • audio_silence_end — это событие генерируется, когда звук снова появляется в источнике.