← На главную

TSDuck анализирует, мониторит и трансформирует MPEG-потоки

27.05.2026 02:22 · hackernews

TSDuck — свободный фреймворк для работы с MPEG транспортными потоками. Его используют в цифровом телевидении и системах видеопотоков для тестирования, мониторинга, отладки и интеграции. Это не специализированное приложение для операторов, а универсальная библиотека для инженеров.

Основное — набор консольных утилит и плагинов. Никакого сложного GUI. Каждый инструмент делает одну функцию, но их можно комбинировать как угодно. Всё написано на C++, модульно, так что расширять легко. В документации заявляют, что новую фичу можно запилить за пару часов — и так обычно и бывает.

Что умеет TSDuck? Анализировать транспортные потоки, PSI/SI сигнализацию, битрейты и таймштампы. На лету трансформировать, извлекать или вставлять контент и сигнализацию. Работать с таблицами и дескрипторами в XML, JSON или бинарном формате. Поддерживает большинство стандартных таблиц MPEG, DVB, ISDB, ATSC, SCTE. Можно менять, удалять, переименовывать или извлекать сервисы. Разбирает и вставляет SCTE 35 splice информацию. Упаковывает и распаковывает MPE между транспортным потоком и UDP/IP. Генерирует EPG и вставляет EIT по ETSI TS 101 211. Мониторит видео и аудио свойства, битрейты, крипто-периоды, сигнализацию. Отправляет метрики битрейта и ETSI TR 101 290 в InfluxDB и Grafana. Считает Inter-packet Arrival Time (IAT) на датаграмных сетях.

Работает с live-потоками — DVB-S/C/T, ATSC, ISDB-S/T, ASI, IP-TV, HTTP, HLS, SRT, RIST. А ещё с офлайн файлами и pcap-захватами. Поддерживается разное железо: дешёвые DVB/ATSC/ISDB тюнеры (USB, PCI), профессиональные Dektec устройства, ASI, модуляторы (USB, PCI), HiDes USB модуляторы, а также AstroMeta-совместимые модуляторы (раньше VATek), например Suntechtv U3. Можно перенаправлять потоки в другие приложения, извлекать Teletext, T2-MI, DVB-NIP. Эмулировать CAS head-end через DVB SimulCrypt с ECMG или EMMG.

TSDuck доступен для Windows, Linux, macOS и BSD. Собрать можно из исходников. Бинарные пакеты есть для Windows, Fedora, Ubuntu, RedHat, Debian (Intel x64 и Arm64). На macOS ставится через Homebrew, на Windows — через Winget, на FreeBSD — через Ports. DVB-тюнеры, Dektec, HiDes работают только на Windows и Linux, AstroMeta — ещё и на macOS.

Лицензия — 2-Clause BSD. Автор — Тьерри Лелегар, код с 2005 по 2026 год.

Читать оригинал →