UDP для доставки цифрового телевидения

Протокол UDP (User Datagram Protocol) - один из основных протоколов транспортного уровня в сетях, известный своей простотой и скоростью. Он играет важную роль в приложениях вещания и потоковой передачи данных, включая доставку цифрового телевидения, где можно мириться с потерей пакетов данных, но скорость и задержки имеют решающее значение.

Диаграмма многоадресной рассылки UDP

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

  • Гостиничные организации: Гостиницы, курорты и другие гостиничные предприятия часто используют UDP multicast для распространения телевизионного контента в номерах и местах общего пользования.
  • Интернет-провайдеры: Локальные сети интернет-провайдеров используют этот протокол для предоставления услуг цифрового телевидения своим абонентам
  • Спортивные сооружения: Стадионы и арены могут использовать UDP multicast для передачи прямых трансляций игры или матча на различные экраны по всей территории объекта.

Формат медиа-адреса

Media Address настройка адреса назначения UDP-потока. Формат этого адреса следующий:

udp://[interface@]address[:port][#options]

В квадратных скобках указываются необязательные параметры.

  • interface - имя локального интерфейса, например eth0. Если это поле не определено, то UDP-поток будет доставляться в соответствии с системными маршрутами
  • address - IPv4-адрес группы многоадресной рассылки, localhost или удаленного хоста для одноадресной доставки
  • port - сетевой порт для доставки по протоколу UDP. Если порт не указан, то по умолчанию используется порт 1234 используется

Дополнительные опции могут быть определены после # и разделяются символом & символ, аналогичный параметрам в обычном URL. Вот доступные варианты:

  • socket_size=bytes - определяет пользовательский размер системного сокета. Если он не указан, то значение по умолчанию берется из конфигурации системы: sysctl net.core.wmem_default
  • sync - позволяет передавать UDP в отдельном потоке с синхронизацией битрейта
  • no_sync - отключить синхронизацию битрейта, если она была включена глобально
  • cbr=Kbps - включает синхронизацию битрейта и включает вставку пакетов начинки для достижения постоянного битрейта
  • ttl=n - контролирует время жизни дейтаграммы, чтобы предотвратить ее бесконечное зацикливание из-за ошибок маршрутизации. Значение по умолчанию 32
  • sap - включить SAP. Подробнее на Оповещение о мультикаст группах по протоколу SAP

Приведем несколько примеров использования формата медиа-адресов в различных сценариях работы с Astra:

  • Многоадресная доставка на определенный интерфейс: Если вы хотите доставить UDP-поток в многоадресную группу по адресу 239.255.0.1 через определенный сетевой интерфейс, например eth0, адрес будет выглядеть следующим образом: udp://[email protected]
  • Многоадресная доставка по заданному системой маршруту: Если вы хотите доставить UDP-поток в многоадресную группу по адресу 239.255.0.2 и вы хотите, чтобы система определила маршрут (интерфейс), адрес будет таким: udp://239.255.0.2
  • Одноадресная доставка на определенный хост: Если вы отправляете одноадресный поток на определенный хост по IP-адресу 192.168.1.100, адрес будет выглядеть следующим образом: udp://192.168.1.100
  • Доставка на определенный порт: Если вы хотите доставить UDP-поток в многоадресную группу по адресу 239.255.0.3 на определенном порту, например 5000Адрес: udp://239.255.0.3:5000
  • Включите CBR для подготовки потока к DVB-модуляции: Если вы хотите передать UDP-поток на DVB-модулятор, вам может потребоваться постоянный битрейт, например 24000Kbit/sАдрес: udp://239.255.0.4#cbr=24000
  • Доставка на локальный хост с определенным портом: Если вам необходимо доставить UDP-поток службе на том же сервере, например FFMpeg для транскодирования, вы можете использовать следующий адрес: udp://127.0.0.1:11000

Веб-интерфейс

Чтобы настроить новый UDP-выход с помощью Web-интерфейса, выберите в главном меню пункт "Новый поток". Затем в списке выходов нажмите на значок шестеренки и установите для параметра "Output Type" значение UDP. Также можно изменить существующий поток, открыв его настройки, добавив новый выход и нажав на соответствующий значок шестеренки.

Параметры вывода UDP

Большинство опций, представленных в веб-интерфейсе, напрямую соответствуют компонентам UDP-адреса, как описано в разделе "Формат медиа-адреса".

Поиск и устранение неисправностей