Детекция тишины¶
Обнаружение тишины может быть полезно для целей тестирования, например, если вам нужно проверить свое аудиооборудование на работоспособность. Для этого хорошо иметь активный работающий источник видеопотока и возможность определять, когда в нем возникает тишина.
Flussonic позволяет включить обнаружение тишины в потоке и указать пороговое значение уровня звука. Flussonic генерирует события, чтобы сообщить вам, когда наступает тишина и когда звук появляется снова. События генерируются только для активных источников, а не для потерянных. Когда потерянный источник появляется снова, Flussonic возобновляет обнаружение тишины.
Если поток содержит несколько звуковых дорожек, Flussonic использует первую из них для обнаружения тишины.
Чтобы включить обнаружение тишины в потоке:
- Откройте файл конфигурации Flussonic.
-
Добавьте опцию
silencedetectв конфигурацию потока:stream STREAM_NAME { input 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 секунд до тех пор, пока звук не появится. -
Подпишитесь на события
audio_silence_detectedиaudio_silence_end, например:event_sink 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— это событие генерируется, когда звук снова появляется в источнике.