Документация Flussonic Media Server

Contents

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

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

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

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

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

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

    stream ort {
      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://log/audio_silence.log;
      only event=stream_media_info,audio_silence_detected,audio_silence_end;
    }
    

    Здесь:

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