Skip to content

ASI Reader

Обзор

ASI Reader — это модуль в составе mcaster, предназначенный для приема видео с плат захвата ASI (Asynchronous Serial Interface). Модуль обеспечивает надежный прием MPTS (Multi-Program Transport Stream) потоков и их передачу в мультикаст для дальнейшей обработки другими компонентами системы.

Поддерживаемые платы захвата

Dektec

  • Полная поддержка всех моделей Dektec ASI
  • Автоматическое определение параметров потока
  • Поддержка всех стандартов ASI
  • Интеграция с Dektec SDK

Streamlabs

  • Ограниченная поддержка плат Streamlabs
  • Базовые функции захвата ASI
  • Совместимость с V4L2

Softlab

  • Ограниченная поддержка плат Softlab
  • Основные функции приема ASI
  • Совместимость с V4L2

Архитектура работы

Принцип работы

  1. Захват ASI сигнала с платы
  2. Обработка MPTS потока
  3. Отправка в мультикаст на указанный адрес
  4. Захват модулем mpegts reader для дальнейшей обработки

Схема подключения

ASI Source → ASI Reader → Multicast → MPEGTS Reader → Processing

Важность мультикаст архитектуры

Использование мультикаст архитектуры является необходимым условием для обеспечения стабильности работы стримера и независимости от статуса ASI платы. Это обеспечивает:

  • Разделение ответственности между захватом и обработкой
  • Независимость стримера от состояния ASI платы
  • Возможность перезапуска компонентов без прерывания потока
  • Масштабируемость — несколько потребителей могут получать один поток
  • Отказоустойчивость — при проблемах с платой стример продолжает работать с буферизованными данными

Конфигурация модуля

Базовая конфигурация

dvb_card asi_port_1 {
  hw dektec_asi;
  video_device 224.1.1.1:1000;
  serial 2174223642;
  port 1;
}

Параметры конфигурации

Параметр Описание Обязательный Пример
hw Тип аппаратного обеспечения Да dektec_asi
video_device Адрес мультикаст группы Да 224.1.1.1:1000
serial Серийный номер платы Да 2174223642
port Номер порта на плате Да 1

Расширенная конфигурация

dvb_card asi_port_1 {
  hw dektec_asi;
  video_device 224.1.1.1:1000;
  serial 2174223642;
  port 1;

  # Дополнительные параметры
  buffer_size 8192;
  timeout 5000;
  retry_count 3;
}

Определение серийного номера платы

Использование DtInfoCL

Для определения серийного номера Dektec платы используйте утилиту DtInfoCL:

  1. Скачайте DtInfoCL с официального сайта Dektec
  2. Установите утилиту на систему
  3. Запустите команду для просмотра подключенных устройств:
# Просмотр всех Dektec устройств
dtinfocl --list-devices

# Подробная информация о конкретном устройстве
dtinfocl --device 0 --info

Пример вывода DtInfoCL

Device 0: DTA-2174B
  Serial Number: 2174223642
  Firmware Version: 2.1.3
  Ports: 4
  Status: Ready

Интеграция с mpegts reader

Конфигурация цепочки обработки

# ASI Reader - захват с платы
dvb_card asi_port_1 {
  hw dektec_asi;
  video_device 224.1.1.1:1000;
  serial 2174223642;
  port 1;
}

# MPEGTS Reader - прием из мультикаста
stream asi_stream {
  input mpts-udp://224.1.1.1:1000?programs=1070;
}  

Мониторинг и диагностика

Статистика работы

  • Количество принятых пакетов
  • Размер буфера
  • Частота ошибок
  • Статус подключения к плате

Устранение неполадок

Частые проблемы

Плата не определяется

  1. Проверьте подключение ASI кабеля
  2. Убедитесь в правильности серийного номера
  3. Проверьте драйверы Dektec
  4. Используйте DtInfoCL для диагностики

Отсутствует сигнал в мультикасте

  1. Проверьте настройки мультикаст группы
  2. Убедитесь в доступности порта
  3. Проверьте сетевые настройки
  4. Проверьте логи модуля

Ошибки буферизации

  1. Увеличьте размер буфера
  2. Проверьте производительность системы
  3. Оптимизируйте сетевые настройки

Диагностические команды

# Проверка мультикаст потока
tcpdump -i any -n host 224.1.1.1

# Тест подключения к мультикасту
nc -u 224.1.1.1 1000

# Проверка статуса Dektec устройств
dtinfocl --list-devices

Требования к системе

Аппаратные требования

  • CPU: Минимум 2 ядра
  • RAM: 4 ГБ
  • Сеть: Гигабитный Ethernet для мультикаста
  • ASI плата: Поддерживаемая модель Dektec/Streamlabs/Softlab

Программные требования

  • Linux kernel 4.19+
  • Dektec драйверы (для Dektec плат)
  • V4L2 поддержка (для Streamlabs/Softlab)
  • Поддержка мультикаста в сети

Сетевые требования

  • Мультикаст: Включен в сетевой инфраструктуре
  • IGMP: Поддержка IGMP для управления мультикастом
  • Порты: Доступность указанных портов

Заключение

ASI Reader предоставляет надежное решение для приема ASI сигналов в системе mcaster. Модуль обеспечивает гибкую настройку, интеграцию с различными платами захвата и эффективную передачу потоков через мультикаст для дальнейшей обработки. Использование мультикаст архитектуры позволяет масштабировать систему и обеспечивать отказоустойчивость.