Живое аудио: контрибуционные кодеки, AES67 и SMPTE ST 2110–30

Автор: Николай СапуновОбновлено: август 202611 мин чтения
Содержание статьи +

Коротко

Прежде чем прямой эфир дойдёт до зрителя, его звук проходит две очень разные дороги: короткий высококачественный «контрибуционный» участок от площадки до студии и длинный сжатый «дистрибуционный» участок от студии до аудитории. Внутри вещательного объекта звук передаётся без сжатия по обычным IP-сетям по двум близким наборам правил – AES67 и SMPTE ST 2110-30, – и оба тактируются от общих сетевых часов, чтобы все микрофоны шли в ногу. Когда звук покидает здание и идёт через публичный интернет, инженеры переключаются на кодеки с низкой задержкой, такие как AAC-LD или Opus, обёрнутые в надёжный транспорт вроде SRT. Эта статья объясняет всю цепочку простым языком – с реальными цифрами по полосе и задержке, которые нужны, чтобы спроектировать живую систему.

Почему это важно

Если вы делаете живое видео – спорт, концерты, новости, трансляции богослужений или платформу с удалёнными гостями, – именно звуковой тракт превращает «починим потом» в сорванный эфир. Решения, принятые в первые секунды сигнальной цепочки, определяют, останутся ли каналы синхронными, сколько сети вам нужно и сколько задержки накопится, прежде чем зритель услышит первое слово. Статья написана для продакт-менеджеров и инженеров, которым нужно описать живой конвейер и говорить с вещательными вендорами без догадок. К концу вы научитесь отличать контрибуцию от дистрибуции, читать спецификацию AES67 или ST 2110-30 и выбирать правильный кодек для каждого участка пути.

Две поездки, а не одна: контрибуция и дистрибуция

Главная идея, которая открывает всю тему: живой звук совершает две отдельные поездки, и у них противоположные приоритеты.

Первая поездка – контрибуция (contribution). Это движение оттуда, где звук захвачен (стадион, концертный зал, набор удалённого репортёра), назад к продакшен-хабу или студии. Контрибуционный звук – это сырьё. Его ещё будут микшировать, выравнивать по громкости, дублировать на другие языки и совмещать с графикой. Поскольку он будет перекодирован позже, его держат в максимально возможном качестве и с минимальной задержкой, чтобы продакшен-команда реагировала в реальном времени. Представьте контрибуцию как доставку свежих продуктов на кухню: вы не запаковываете их в вакуум и не замораживаете, ведь шефу ещё готовить.

Вторая поездка – дистрибуция (distribution). Это движение готового студийного микса наружу, к аудитории, через интернет (HLS, DASH) или эфир. Дистрибуционный звук – это готовое блюдо. Его сжимают сильно, потому что он идёт на миллионы устройств и полоса – главный расход, а пара секунд задержки приемлема.

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

Рисунок 1. Две поездки живого звука. Контрибуция ценит качество и низкую задержку; дистрибуция – низкую полосу и масштаб.

Внутри здания: несжатый звук поверх IP

Двадцать лет назад звук внутри студии шёл по выделенным кабелям – по одному физическому проводу на канал, в форматах вроде AES3. Сегодня он идёт пакетами данных по той же сети Ethernet, что и всё остальное. Этот сдвиг породил потребность в общих правилах, чтобы микрофонный преамп одного вендора и микшерный пульт другого обменивались звуком без перевода. Доминируют два таких набора правил, и они намеренно совместимы.

AES67: общий язык для звука поверх IP

AES67 – стандарт Audio Engineering Society, впервые опубликованный в 2013 году, последняя редакция – AES67-2023. Это не продукт и не сеть, а соглашение о том, как упаковать профессиональный звук в сетевые пакеты, чтобы оборудование разных производителей (и конкурирующие экосистемы вроде Dante, Ravenna и Livewire) работали вместе.

AES67 переносит несжатый звук. Здесь нет кодека в привычном смысле; звук – это линейный PCM, тот самый сырой формат «отсчёт за отсчётом» из нашего вводного материала о цифровом звуке, переданный как 16-битные (называется L16) или 24-битные (L24) отсчёты поверх RTP (Real-time Transport Protocol) на базе UDP. База для соответствия – 24-битный звук при частоте дискретизации 48 кГц; поддерживаются также 44,1, 88,2 и 96 кГц.

Ключевая деталь AES67 – то, как звук режется на пакеты. Звук нарезается на крошечные временные кусочки, называемые временем пакета (packet time). Время пакета по умолчанию – 1 миллисекунда, что при 48 кГц составляет ровно 48 отсчётов на пакет. Меньшее время пакета (вплоть до 125 микросекунд, или 12 отсчётов) снижает задержку ценой большего числа пакетов в секунду и накладных расходов сети. Полезная нагрузка RTP ограничена 1460 байтами, чтобы пакет помещался в стандартный кадр Ethernet 1500 байт без фрагментации.

Общие часы: PTP и почему это решает всё

Вот часть, которая отделяет звук поверх IP от обычной сети. Каждое устройство в сети AES67 берёт своё ощущение времени от одних общих «настенных часов», распространяемых по сети по протоколу точного времени PTP (Precision Time Protocol), определённому в IEEE 1588-2008. Медиа-часы потока 48 кГц продвигаются ровно на 48 000 отсчётов за каждую секунду, которая отщёлкивает на этих общих часах.

Почему это так важно? Потому что живой микс объединяет десятки источников. Если микрофон на левой стороне сцены и микрофон на правой работают на слегка разных часах, их звук за минуты расходится, и микс «размазывается». PTP даёт каждому устройству единый пульс, поэтому 48 000 отсчётов везде означают одну и ту же секунду. В небольшой гигабитной сети типичная конфигурация AES67 (48 отсчётов на пакет, 24 бита, 48 кГц) достигает сквозной задержки около 2–3 миллисекунд.

«Частая ошибка: забыть про часы. Команды, новые в звуке поверх IP, покупают совместимое AES67-оборудование, включают его и слышат щелчки, выпадения или медленный дрейф. Причина почти всегда в PTP: не выбраны ведущие часы (grandmaster), или два устройства считают себя ведущими, или коммутатор без поддержки PTP портит пакеты синхронизации. Совместимость AES67 – это в первую очередь задача тактирования и никогда задача кодека. Заложите в бюджет коммутаторы с поддержкой PTP и спроектируйте топологию часов прежде, чем купите хоть один пульт.»

SMPTE ST 2110-30: AES67 с вещательными ограничителями

Если AES67 – общий язык, то SMPTE ST 2110-30 – вещательный диалект. ST 2110 – это семейство стандартов для передачи отдельных потоков видео, звука и метаданных («эссенций») поверх IP на профессиональном объекте. Его звуковая часть, ST 2110-30, переносит цифровой звук PCM, прямо ссылаясь на AES67, а затем сужает варианты, чтобы вещательное оборудование вело себя предсказуемо.

Делается это через уровни соответствия (conformance levels). Вместо того чтобы оставить время пакета и число каналов полностью открытыми, ST 2110-30 задаёт именованные уровни. Обязательный – Level A: 48 кГц, 16 или 24 бита, от 1 до 8 каналов, время пакета 1 мс. Уровни B и C надстраиваются над A, разрешая больше каналов в потоке, а варианты с «X» (AX, BX, CX) добавляют меньшее время пакета для меньшей задержки. Устройство, заявляющее Level C, обязано поддерживать и Level A, поэтому у двух единиц оборудования всегда есть общая база для отката.

Стоит знать и о смежном стандарте: ST 2110-31 переносит звук AES3 битово-прозрачно. Это важно, когда поток – не чистый PCM, например сигнал Dolby E или кодированный surround, который должен пройти через объект нетронутым. Используйте -30 для PCM; используйте -31, когда нужно «протуннелировать» предварительно закодированный звук, не трогая его.

СвойствоAES67SMPTE ST 2110-30 (Level A)
Формат звукаНесжатый PCM (L16 / L24)Несжатый PCM (16 / 24 бита)
Частоты дискретизации44,1 / 48 / 88,2 / 96 кГц48 кГц (96 кГц на старших уровнях)
ТранспортRTP поверх UDPRTP поверх UDP (по AES67)
ЧасыPTP (IEEE 1588-2008)PTP (IEEE 1588-2008)
Время пакета125 мкс – 4 мс (по умолч. 1 мс)1 мс (короче в уровнях «X»)
Каналов в потокеГибко1–8 (Level A); больше в B / C
Создан дляСовместимости вендоровПредсказуемого вещательного развёртывания

Практический вывод: AES67 даёт двум устройствам возможность говорить; ST 2110-30 заставляет сотню устройств вести себя одинаково на реальном вещательном объекте. Большинство профессионального звукового оборудования сегодня поддерживает оба.

Рисунок 2. IP-объект для звука: PTP grandmaster раздаёт общие часы; источники и микшер обмениваются потоками ST 2110-30 PCM по одной сети.

Математика полосы: несжатое – тяжёлое

Несжатый звук внутри объекта дёшев в гигабитной или 10-гигабитной сети, но цифры стоит увидеть, чтобы понять, почему его нельзя отправлять через открытый интернет. Полоса для сырого PCM – это просто частота дискретизации, умноженная на разрядность и число каналов:

полоса = частота_дискретизации (Гц) × разрядность (байты) × каналы

Стереопара при 48 кГц, 24 бита (3 байта на отсчёт):

48 000 × 3 × 2 = 288 000 байт/с = 2,304 Мбит/с

8-канальный поток ST 2110-30 того же качества:

48 000 × 3 × 8 = 1 152 000 байт/с = 9,216 Мбит/с

И это без заголовков пакетов. Девять мегабит для восьми каналов звука – пустяк в локальной сети, но это нельзя гарантировать через публичный интернет для удалённой площадки. Именно поэтому, как только звук покидает здание, правила меняются.

Покидаем здание: контрибуция через публичный интернет

Когда площадка не подключена к вашему объекту проводом – репортёр в другой стране, стадион через весь город, гость дома, – вы не можете использовать AES67. У публичного интернета нет общих часов PTP, он теряет пакеты и колеблется по задержке. Контрибуция поверх IP решает это двумя составляющими: кодеком с низкой задержкой, чтобы уменьшить звук, и надёжным транспортом, чтобы пережить потери пакетов.

Контрибуционные кодеки с низкой задержкой

Дистрибуционные кодеки вроде обычного AAC-LC настроены на эффективность и допускают десятки миллисекунд задержки. Контрибуции нужно обратное: минимальная задержка, чтобы ведущие и операторы взаимодействовали вживую. Кодеки, созданные для этого, отдают немного эффективности ради очень низкой задержки.

Семейство AAC-ELD от Fraunhofer – главная вещательная рабочая лошадка. AAC-LD достигает максимальной алгоритмической задержки около 20 мс; AAC-ELD доводит её примерно до 15 мс при 48 кГц, а в режиме сниженной задержки – примерно до 7,5 мс (блок в 240 отсчётов). Opus, открытый кодек, доминирующий в WebRTC, тоже сильный выбор для контрибуции: он работает на кадрах 2,5–60 мс и включает встроенную упреждающую коррекцию ошибок (FEC), которая восстанавливает потерянный кадр из данных, перенесённых в следующем пакете. European Broadcasting Union закрепил выбор контрибуционных кодеков в EBU Tech 3326 (стандарт ACIP): G.711, G.722, MPEG Layer 2 и 16-битный PCM – обязательны; AAC и AAC-LD – рекомендованы; Opus – опционален. Этот список отражает скорее возраст стандарта (редакция 2014 года), чем практику 2026 года, где для интернет-контрибуции Opus часто берут первым.

Надёжный транспорт: SRT, RIST, Zixi

Кодек с низкой задержкой бесполезен, если сеть теряет 5% пакетов, а у вас нет способа их вернуть. Перепередавать всё (как делает TCP) – это слишком большая задержка для живого. Вещательный ответ – семейство протоколов на базе UDP, добавляющих автоматический запрос повтора ARQ (Automatic Repeat reQuest): выборочно перезапрашиваются только потерянные пакеты, в пределах жёсткого бюджета времени, плюс шифрование.

Три, которые вы услышите по имени: SRT (Secure Reliable Transport – открытый исходный код, выбор по умолчанию в 2026 году, поддержан OBS, FFmpeg и почти каждым аппаратным энкодером), RIST (Reliable Internet Stream Transport – открытый вариант со зрелой гибридной связкой FEC и ARQ) и Zixi (коммерческий протокол, заранее посылающий часть избыточности, что выигрывает на сетях с устойчивыми потерями 3–8%). Для большинства одноканальной интернет-контрибуции SRT – правильный ответ; звук едет внутри того же SRT-туннеля, что и видео.

Рисунок 3. Интернет-контрибуция: кодирование кодеком с низкой задержкой, защита надёжным транспортом, декодирование и пере-микс в студии.

Где здесь Фора Софт

Фора Софт создаёт ПО для живых и реалтайм-медиа с 2005 года – в видеоконференцсвязи, OTT- и интернет-ТВ-платформах, e-learning и телемедицине. Разделение «контрибуция против дистрибуции» проявляется почти в каждом живом проекте, который мы берём: функция удалённого гостя на стриминговой платформе – это задача контрибуции (низкая задержка, надёжный транспорт, чистый пере-микс), привинченная к задаче дистрибуции (адаптивный битрейт к аудитории). Команды, которые считают весь конвейер одной стадией, получают расходящийся звук или неприемлемую задержку; инженерная ценность – в раздельном проектировании двух участков и аккуратной стыковке часов и таймстампов между ними. Это та архитектурная развилка, на которой мы помогаем продуктовым командам принять верное решение ещё до написания кода.

Главное

  • Живой звук – это две поездки: контрибуция (площадка → студия, высокое качество, низкая задержка) и дистрибуция (студия → аудитория, сжато, масштабно).
  • AES67 переносит несжатый PCM поверх IP и обеспечивает совместимость оборудования разных вендоров; тактируется от общих часов PTP.
  • SMPTE ST 2110-30 ссылается на AES67 и добавляет уровни соответствия (Level A обязателен: 48 кГц, 1–8 каналов, пакеты 1 мс) ради предсказуемости.
  • Восемь каналов несжатого 48 кГц / 24 бита – это около 9,2 Мбит/с: нормально в локальной сети, нельзя гарантировать в открытом интернете.
  • Интернет-контрибуция использует кодек с низкой задержкой (AAC-ELD ~15 мс или Opus с FEC), обёрнутый в надёжный транспорт (SRT, RIST или Zixi).
  • Сбои звука поверх IP внутри объекта – почти всегда проблемы тактирования (PTP), а не кодека.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.