Перейти к основному содержимому

01 Медиа как данные в сети

Медиа как данные в сети: от сигнала до IP‑пакетов

Медиа как данные в сети

В этом разделе разберёмся, как обычный аудио‑ или видеосигнал превращается в набор сетевых пакетов, которые могут передаваться по IP‑сети. Важно понимать цепочку преобразований и чётко различать два уровня:

  • уровень медиаформатов (как данные закодированы и упакованы);
  • уровень сетевого транспорта (как эти данные доставляются по сети).

Это разделение будет постоянно встречаться во всех последующих темах курса.

1. Исходный медиасигнал: аналоговый и цифровой

Когда видеокамера или микрофон фиксируют сигнал, на самом первом этапе мы имеем дело с физическим сигналом:

  • видеосигнал — это непрерывное изменение яркости и цвета в каждой точке изображения во времени;
  • аудиосигнал — это непрерывное изменение звукового давления (колебаний воздуха), которое воспринимает микрофон.

Такой сигнал может быть:

  1. Аналоговым
    Значения меняются непрерывно во времени. Примеры:
    • старые CCTV‑камеры с композитным выходом;
    • микрофон, подключенный к аналоговому микшерному пульту.
  2. Цифровым
    Сигнал уже представлен в виде чисел (дискретных значений). Примеры:
    • современная IP‑камера;
    • USB‑микрофон, подключённый к компьютеру или цифровые микрофоны, например, DANTE.

Даже если устройство "мыслит" аналогово, для работы в цифровой сети сигнал всё равно нужно оцифровать.


2. Оцифровка: превращение непрерывного сигнала в числа

Оцифровка (дискретизация и квантование аналогового сигнала) — это процесс, при котором непрерывный аналоговый сигнал переводится в набор чисел.

2.1. Оцифровка аудио

Для аудио вводятся два ключевых параметра:

  • Частота дискретизации (sampling rate) — сколько раз в секунду измеряется амплитуда звука.
    Примеры: 44,1 кГц, 48 кГц (то есть 44 100 или 48 000 измерений в секунду).
  • Разрядность (bit depth) — квантование по уровню сигнала: сколько бит используется для представления одного измерения (сэмпла).
    Примеры: 16 бит, 24 бита.

Каждое такое измерение называется аудиосэмплом (audio sample).
Последовательность аудиосэмплов образует цифровой аудиопоток.

2.2. Оцифровка видео

Для видео ключевую роль играют кадры (frames):

  • Камера периодически "делает снимок" сцены — это один кадр.
  • Частота таких снимков называется фреймрейт (frame rate), например, 25 кадров в секунду (25 fps), 30 fps, 50 fps и т.д.

Кадр — это двумерная матрица пикселей, где каждый пиксель описывается яркостью и цветом.

Важно: оцифровка сама по себе ещё не делает видео "лёгким" для передачи. Сырые (не сжатые) данные видео и аудио занимают большой объём, поэтому следующий шаг — сжатие.


3. Сжатие медиа: кодеки для видео и аудио

Сырые оцифрованные данные слишком объёмны для практической передачи по сети или хранения. Их нужно сжимать.

3.1. Кодеки (codecs)

Кодек (codec — coder/decoder) — это алгоритм, который:

  • кодирует (сжимает) медиа для передачи или хранения;
  • декодирует (восстанавливает) медиа для воспроизведения.

Каждый кодек определяет правила того, как именно преобразовать исходные кадры и сэмплы в более компактное представление.

Примеры:

  • Видео:
    • H.264 (AVC) — один из самых распространённых видеокодеков, используется в IP‑камерах, стриминге, видеозаписи;
    • H.265 (HEVC) — более современный, даёт лучшее сжатие при том же качестве, но сложнее для декодирования.
  • Аудио:
    • AAC — популярный аудиокодек для стриминга и видео (YouTube, IPTV и др.);
    • Opus — кодек, ориентированный на реальное время (видеосвязь, VoIP).

Когда мы говорим, например, "видео H.264 с аудио AAC", мы описываем именно формат сжатия, а не способ передачи по сети.

3.2. Кадры и сэмплы после сжатия

После сжатия:

  • видеоданные всё равно логически состоят из кадров, но эти кадры теперь не хранятся как "сырые картинки". Кодек использует различные методы (предсказание по предыдущим кадрам, поиск движения и т.д.), чтобы уменьшить размер данных;
  • аудиоданные всё равно состоят из сэмплов, но они группируются в блоки и кодируются с учётом особенностей слуха человека.

4. Потоки: как организуются сжатые данные

Сжатые кадры видео и блоки аудиосэмплов формируются в так называемые потоки (streams):

  • Видеопоток — последовательность сжатых видеокадров;
  • Аудиопоток — последовательность сжатых аудиоблоков.

Каждый поток имеет:

  • свой тип (видео, аудио, субтитры и т.д.);
  • свой кодек (например, видеопоток H.264, аудиопоток AAC);
  • свой временной ряд (когда каждый кадр или блок должен быть воспроизведён).

В одном и том же видеоматериале обычно есть как минимум два потока:

  1. один видеопоток;
  2. один или несколько аудиопотоков (например, разные языки).

5. Контейнеры: объединение потоков в единый файл или передачу

Чтобы удобно хранить и обрабатывать несколько потоков вместе, используют контейнеры (containers).

Контейнер — это формат файла или потока, который:

  • объединяет несколько медиапотоков (видео, аудио, субтитры) в одну структуру;
  • хранит служебную информацию: временные метки, таблицу содержания, метаданные (название, кодеки, размеры и т.п.).

Примеры контейнеров:

  • MP4 — широко используется для файлов с видео (онлайн‑видеосервисы, запись на диске);
  • TS (MPEG‑TS) — транспортный поток, популярный в телевещании и для потокового видео;
  • MKV, AVI и др.

5.1. Важный момент: контейнер ≠ кодек

Контейнер и кодек — это разные уровни:

  • Кодек отвечает за то, как сжаты данные (например, H.264).
  • Контейнер отвечает за то, как эти данные упакованы вместе (например, MP4, TS).

Один и тот же кодек (H.264) может использоваться в разных контейнерах (MP4, MKV, TS), и, наоборот, один контейнер может содержать разные кодеки.


6. Медиа и сеть: инкапсуляция в IP‑пакеты

Когда мы передаём медиа не как файл "целиком", а по сети в реальном времени или "по потоку", появляется ещё один важный уровень — сетевой транспорт.

Передача в IP‑сети устроена так, что все данные разбиваются на небольшие части — IP‑пакеты. Каждая такая часть имеет:

  • служебный заголовок (от сетевых протоколов IP, UDP/TCP, а иногда и более высоких уровней, таких как RTP);
  • полезную нагрузку (часть медиаданных).

6.1. Передача без явного контейнера

При потоковой передаче контейнеры типа MP4 не всегда используются напрямую. Вместо "файла целиком" медиаданные:

  1. разбиваются на небольшие фрагменты (например, фрагменты одного или нескольких кадров/сэмплов);
  2. упаковываются в более специализированный "транспортный" уровень (например, RTP — протокол реального времени);
  3. затем эти блоки инкапсулируются в IP‑пакеты и передаются по сети.

На этом этапе:

  • медиаданные уже закодированы кодеками (например, H.264/AAC);
  • структурированы как потоки;
  • могут не находиться внутри классического файлового контейнера (MP4), а "жить" в потоковом формате (например, RTP‑пакеты).

7. Разделение медиаформатов и транспортных протоколов

Ключевая идея, которую важно усвоить: формат медиа и способ передачи по сети — это разные уровни, выполняющие разные задачи.

7.1. Уровень медиаформатов

Отвечает за:

  • кодирование: каким кодеком сжато видео и аудио (H.264, H.265, AAC, Opus и т.д.);
  • формирование потоков: какие потоки существуют, их тип и временные метки;
  • упаковку в контейнеры (если есть): MP4, TS и др.

Вопросы этого уровня:
"Как представлены данные?", "Какие кодеки используются?", "Как организованы потоки?".

7.2. Транспортный уровень (сетевой)

Отвечает за:

  • доставку данных от источника к получателю;
  • разделение данных на пакеты и их адресацию;
  • обработку возможных потерь пакетов, задержек и т.д.

Здесь работают сетевые протоколы:

  • IP — базовый протокол межсетевой передачи;
  • UDP и TCP — основные транспортные протоколы;
  • поверх них — специализированные медиапротоколы (RTP, RTSP, RTMP, SRT и др. — они будут подробно обсуждаться в других частях курса).

Вопросы этого уровня:
"Как доставить данные?", "С каким уровнем надёжности?", "С какой задержкой?".


8. Зачем нужно это разделение: практический пример

Такое разделение уровней даёт важное преимущество: мы можем передавать одно и то же медиасодержимое разными способами, не меняя сам медиапоток (кодеки, формат кадра и т.д.).

Пример

Пусть есть видеопоток:

  • видео: кодек H.264, 1920×1080, 25 fps;
  • аудио: кодек AAC, 48 кГц.

С этим же потоком можно сделать разные вещи:

  1. Передать через локальную сеть в режиме реального времени по протоколу RTP/UDP (низкая задержка, подходит для мониторинга).
  2. Упаковать в MP4‑файл и отдать по HTTP как обычное видео по запросу (VOD — video on demand).
  3. Разбить на сегменты и передавать как HLS или DASH (массовая доставка через CDN для веб‑зрителей).

Во всех трёх случаях видеокодек и аудиокодек могут оставаться теми же — H.264 и AAC.
Меняется только транспортный уровень и формат доставки, но основное содержимое (кадры и сэмплы) остаётся совместимым.

Это и есть главный смысл фразы:

Формат медиа — это одно, а способ передачи по сети — другое. Уровень медиаформатов отвечает за кодирование и упаковку данных, а транспортный уровень — за их доставку.


9. Итог: логическая цепочка "от камеры до IP‑пакетов"

Для закрепления сведём всё в одну последовательность шагов:

  1. Фиксация сигнала
    Камера и микрофон воспринимают аналоговый или уже цифровой сигнал.
  2. Оцифровка
    Аналоговый сигнал, если нужно, преобразуется в цифровой (кадры и аудиосэмплы).
  3. Сжатие кодеками
    • Видео сжимается, например, кодеком H.264.
    • Аудио сжимается, например, кодеком AAC.
  4. Формирование потоков
    • создаётся видеопоток (последовательность сжатых кадров);
    • создаётся аудиопоток (последовательность сжатых аудиоблоков).
  5. (Опционально) упаковка в контейнер
    Видеопоток и один или несколько аудиопотоков могут быть объединены в контейнер (MP4, TS и т.п.) для хранения или определённых видов передачи.
  6. Инкапсуляция в сетевые пакеты
    Содержимое (с контейнером или без него, в зависимости от протокола) разбивается на части и упаковывается:
    • в транспортные протоколы реального времени (например, RTP);
    • затем в UDP или TCP;
    • и, наконец, в IP‑пакеты.
  7. Передача по сети
    IP‑пакеты проходят по маршруту "от источника к получателю" через сети, маршрутизаторы, свитчи и т.д.