Глава 4 из 6
Глава 4. Звук в реальном времени: конвейер WebRTC
Четырнадцать статей по порядку – 5 часов 38 минут чтения. Ниже маршрут главы: высота каждого шага соответствует времени чтения.
Глава 4 из 6дальше: Синхронизация звука и видео, метки времени
Конвейер WebRTC поимённо: эхоподавление, регулировка усиления, шумоподавление, детектор речи, буфер джиттера, маскировка потерь и избыточность FEC. Каждый узел разобран по тому, что он делает с задержкой и разборчивостью, а заканчивается глава плейбуком диагностики.
Маршрут главы
14 статей · 5 ч 38 мин4.1Аудиоконвейер WebRTC целиком: от микрофона до динамикаОпубликовано: 2026-06-06 · Время чтения: 24 мин · Автор: Николай Сапунов, CEO Фора Софт27 мин·от начала главы 0 ч 0 мин4.2Акустическое эхоподавление (AEC): как это на самом деле работаетАкустическое эхо возникает, когда звук с динамика попадает обратно в микрофон и возвращается собеседнику – тот слышит…27 мин·от начала главы 0 ч 27 мин4.3Автоматическая регулировка усиления (AGC): как держать громкость голоса ровнойАвтоматическая регулировка усиления, или AGC по-английски, – это часть голосовой системы, которая делает речь каждого…26 мин·от начала главы 0 ч 54 мин4.4Шумоподавление: классическое NS, RNNoise, Krisp, NVIDIA RTX VoiceШумоподавление – это часть голосовой системы, которая убирает фоновый шум: шипение, шум вентилятора, стук клавиатуры и…33 мин·от начала главы 1 ч 20 мин4.5Детектор речевой активности (VAD) и прерывистая передача (DTX)Детектор речевой активности, или VAD, – небольшой модуль голосовой системы, который много раз в секунду определяет,…21 мин·от начала главы 1 ч 53 мин4.6Буфер джиттера: NetEQ, мозг звука в WebRTCПакеты уходят от отправителя ровно – по одному каждые 20 миллисекунд, – но интернет доставляет их неравномерно: то…27 мин·от начала главы 2 ч 14 мин4.7Маскировка потерь пакетов (PLC): как скрыть пропавшие кадрыКогда звуковой пакет теряется в сети, получатель не может ждать – динамику нужен свежий фрагмент звука прямо сейчас, –…27 мин·от начала главы 2 ч 41 мин4.8Forward Error Correction (FEC), In-Band FEC и RED-избыточностьForward error correction, или FEC, – это метод, при котором дополнительно передаётся небольшая часть данных заранее,…30 мин·от начала главы 3 ч 8 мин4.9Управление битрейтом и полосой пропускания в звуке реального времениВ живом звонке доступная пропускная способность сети меняется каждую секунду, поэтому приложение постоянно оценивает,…17 мин·от начала главы 3 ч 38 мин4.10Подавление эха на громкой связи, Bluetooth и AirPodsПодавление эха работает почти идеально на проводной гарнитуре, но почти полностью срывается на Bluetooth-громкой связи –…18 мин·от начала главы 3 ч 55 мин4.11Аудио в SFU, MCU и P2PКогда в звонке участвует больше двух человек, кто-то должен решить, как голос каждого участника дойдёт до остальных.…19 мин·от начала главы 4 ч 13 мин4.12Конвейеры записи и транскрипции: где аудио покидает звонокЖивой звонок передаёт голос каждого участника по отдельному каналу, чтобы разговор оставался мгновенным. Однако как…21 мин·от начала главы 4 ч 32 мин4.13Групповые звонки при масштабировании: 50, 500, 5000 участниковГрупповой звонок, отлично работающий на десяти участниках, может начать сбоить при пятидесяти, упасть при пятистах и…21 мин·от начала главы 4 ч 53 мин4.14Диагностика проблем со звуком в рабочей системе: runbookКогда пользователь сообщает, что на живом звонке «не работает звук», причина почти всегда одна из пяти, и найти её можно…24 мин·от начала главы 5 ч 14 мин
Строите такую систему?
Поможем выбрать кодек и собрать пайплайн под ваши объёмы – 20 лет в видеоразработке, 250+ проектов.