---
title: DVB-приёмник
url: https://doc2.pstreamer.tv/ru/manual/streamer/dvb.html
lang: ru
product: Perfect Streamer
version: 2.0.2.362
---

# DVB-приёмник

Perfect Streamer работает с DVB-адаптерами, установленными в системе: поддерживаются стандарты DVB-S, DVB-S2, DVB-T, DVB-T2, DVB-C и ATSC. Дополнительно реализованы декапсуляция T2-MI (ETSI TS 102 773) и дескремблирование BISS-1 / BISS-E и CI/CAM. Основное условие — корректно установленный и работающий драйвер адаптера; экран «DVB-адаптеры» ([DVB-адаптеры](../webui/monitor.md#webui-dvb-monitor)) доступен, когда в системе обнаружены DVB-устройства. Устройства DVB-ASI подключаются иначе — файловым входом потока по пути устройства, без записи DVB-адаптера.

## Адаптеры

Адаптер — это запись, привязывающая физический тюнер (пару «адаптер/устройство» в системе) к параметрам приёма; при захвате сигнала адаптер отдаёт MPTS-мультиплекс транспондера. Адаптер добавляется в окне «Добавить DVB-адаптер» ([Редактор DVB-адаптера](../webui/monitor.md#webui-dvb-adapter)):

- **Режим**: Stream — приём потока; Frontend monitor — только мониторинг сигнала, без чтения потока (устаревшее значение Scanner не используется). Режим и «Система вещания» задаются при создании и не меняются.
- **Оборудование** — тюнер выбирается из списка обнаруженных в системе; занятые помечаются.
- **Настройка** — параметры зависят от системы вещания: частота (для спутника — в МГц, для эфира и кабеля — в кГц), «Символьная скорость, ksym/s», «FEC», «Модуляция», «Спектральная инверсия», «Stream id (ISI/PLP)» (см. ниже); для эфирного приёма — «Полоса пропускания», «Режим передачи», «Защитный интервал», «Иерархия».

Оборудование обязательно в обоих режимах — монитор фронтенда тоже наблюдает за конкретным тюнером, — а для DVB-S, DVB-S2 и DVB-C в режиме Stream обязательны ещё частота и символьная скорость. Узел объявляет эти ключи со значением по умолчанию ниже собственной нижней границы и проверяет их при создании адаптера, поэтому подставить умолчание нельзя: окна создания и правки не дают сохранить адаптер, пока значения не заданы ([Редактор DVB-адаптера](../webui/monitor.md#webui-dvb-adapter)).

Для спутниковых систем настраивается секция «LNB»: частоты гетеродинов (универсальный Ku — 9750/10600, переключение 11700 МГц; для круговой поляризации и C-диапазона — свои значения), «Поляризация» (адаптер управляет питанием конвертера: 18 В — горизонтальная, 13 В — вертикальная), «Порт DiSEqC» и «Принудительный тон 22 kHz».

Поляризацию адаптер режима Stream обязан получить явно: автоматического режима нет, по умолчанию она не выбрана, и с невыбранной поляризацией адаптер не настраивается — он остаётся в состоянии ошибки и сообщает, что поляризация не задана. Окна создания и правки адаптера не дают сохранить спутниковый адаптер режима Stream, пока не выбрана горизонтальная или вертикальная. Выбрать её нужно и при «Совместном использовании LNB»: там значение ни на что не влияет, потому что питанием управляет владелец конвертера, но без неё адаптер всё равно не настроится.

«Совместное использование LNB» отключает управление питанием, поляризацией и тоном — их выставляет другой приёмник, владеющий конвертером. Режим используется, когда несколько тюнеров подключены к одному LNB через разветвитель (принимать можно только поляризацию и диапазон, выбранные владельцем), а также чтобы разнести разные PLP одного транспондера по отдельным адаптерам — номер каждому из них задаётся полем «Stream id (ISI/PLP)».

«Stream id (ISI/PLP)» отбирает на уровне тюнера один поток из многопотокового транспондера: ISI для DVB-S2 multistream, PLP для DVB-T2. Начиная с 2.0.2.291 у поля три различимых состояния, и они не синонимы:

**`-1`**
  «Авто» — фильтр не применяется, тюнер берёт поток по умолчанию драйвера. Так и написано в подсказке под полем; в самом поле стоит число. С этим значением создаётся новый адаптер.

**0**
  Явный выбор потока с номером ноль. Это настоящий фильтр, а не «не задано».
**1 и далее**
  Поток с указанным номером.

Интерфейс принимает значения от -1 до 255: номер PLP восьмибитный, и этот предел — ограничение интерфейса и сканера, а не узла. До 2.0.2.291 значения «авто» не было: минимумом и значением по умолчанию был ноль, и означал он «не задано» — фильтр не применялся. После обновления узла сохранённый ноль становится настоящим фильтром, поэтому адаптер, у которого в настройках стоит 0, начнёт принимать только нулевой поток; если фильтр не нужен, поставьте -1. На узле старее 2.0.2.291 интерфейс «авто» не предлагает и подсказывает, в какой версии оно появится; введённое там -1 сохраняется как 0.

Ключи дескремблирования и список программ CAM применяются на лету; изменения параметров настройки перенастраивают фронтенд. Настройка «Экспорт EPG» записывает программу передач мультиплекса в базу EPG узла ([Импорт EPG/XMLTV](epg/xmltv.md#streamer-epg-xmltv)).

## Подключение к потокам

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

- **целиком** — вход типа dvb у MPTS-потока: весь транспондер уходит в транзит или на пересборку ([MPTS-потоки](mpts.md#streamer-mpts));
- **отдельными программами** — вход-демультиплексор у SPTS-потоков ([Демультиплексор](demux.md#streamer-demux)): программа выбирается по PNR из списка обнаруженных сервисов.

В списке программ адаптера видно, какие программы уже потребляются: пометка «Активна» с уточнением — извлекается как отдельная программа (SPTS) или читается в составе полного мультиплекса (MPTS). Пока на адаптер ссылается хотя бы один поток, удалить его нельзя.

## Сканирование

Чтобы не вводить параметры приёма вручную, встроен сканер транспондеров (окно «Сканирование DVB», [Сканирование DVB](../webui/monitor.md#webui-dvb-scan)). Сканер обходит транспондеры выбранного спутника или регионального диапазона, выполняет захват каждого, собирает таблицы PSI/SI и формирует список мультиплексов с программами: PNR, имя сервиса, провайдер, признак скремблирования и основные PID. Любой найденный мультиплекс одной кнопкой превращается в настроенный адаптер; можно выбрать и добавить сразу несколько.

Особенности:

- источник частот — «Каталог» (справочники спутников и региональных диапазонов) либо «Слепое сканирование» по синтезированной сетке частот с необязательным диапазоном и шагом. В справочниках сотни строк, поэтому они отсортированы по названию и над списком стоит поиск ([Сканирование DVB](../webui/monitor.md#webui-dvb-scan));
- для спутника выбирается «Пресет LNB» (универсальный Ku, круговая поляризация, C-диапазон) или свои частоты гетеродинов;
- сканер занимает физический тюнер целиком — нужен тюнер, не занятый ни системой, ни другими активными записями; приостановленная запись тюнер освобождает, поэтому работающий адаптер можно временно поставить на паузу и просканировать; занятые тюнеры видны в списке с указанием причины и не выбираются;
- сканирование на узле одно — общее на все адаптеры. Запуск нового прохода прекращает предыдущий и занимает его место; отказывает узел только тогда, когда предыдущий проход не освободил тюнер за отведённое время, — тогда запуск повторяют через несколько секунд;
- проход прекращают кнопкой «Стоп»; он же прекращается, когда окно сканирования закрывают — любым способом, включая добавление найденного мультиплекса. Остановка результатов не стирает: найденные мультиплексы остаются на экране, пока их не убрать кнопкой «Новое сканирование» или не закрыть окно;
- ждать конца прохода, чтобы поднять адаптер на том же тюнере, не нужно: настроенный адаптер тюнер забирает. Столкнувшись со сканером, он просит его освободить тюнер; на одну попытку адаптер уходит в ошибку с сообщением о занятом устройстве и поднимается со следующей — примерно через секунду. Сканирование при этом заканчивается отменённым, а его результаты остаются доступны. Приоритет здесь односторонний: прерывается всегда сканирование, даже если оно началось первым и прошло уже большую часть транспондеров. Касается это только адаптеров режима Stream — режим Frontend monitor читает тюнер, не занимая его, и со сканером не сталкивается;
- по умолчанию сканер проходит транспондер один раз: по тому PLP, который задан для него в справочнике, а если не задан — без фильтра, на том, на котором захватился тюнер. Поле «Проверять PLP до» добавляет перебор: сканер дополнительно настраивается на PLP с первого по указанный номер и останавливается на первом, где ничего нет. Перебираются только транспондеры DVB-T2; каждый несуществующий PLP стоит около пяти секунд ожидания, поэтому по умолчанию перебор выключен. Каждый найденный PLP становится отдельной строкой результатов со своим списком программ, а его номер переносится в «Stream id (ISI/PLP)» созданного адаптера. Отдельные строки на одной частоте появляются и без перебора — там, где разные PLP перечисляет сам справочник;
- внутрь T2-MI сканер не заходит: параметры декапсуляции задаются уже в настройках созданного адаптера. Перебор PLP, о котором выше, к T2-MI отношения не имеет — это PLP на уровне тюнера, уровнем ниже несущих.

## Декапсуляция T2-MI

T2-MI (T2-Modulator Interface, ETSI TS 102 773) — формат транспортировки потоков DVB-T2 по распределительным каналам, обычно спутниковым DVB-S/S2 (в том числе multistream): внешний транспондер переносит одну или несколько несущих T2-MI, каждая из которых инкапсулирует BBFRAME с одним или несколькими PLP. После декапсуляции извлекается внутренний MPEG-TS с программами и таблицами PSI/SI.

Perfect Streamer работает в режиме multi-carrier: один адаптер одновременно отдаёт внешний мультиплекс и все декапсулированные несущие T2-MI. Настройки (секция «T2-MI»):

**«Режим T2-MI»**
  Off — декапсуляция выключена, внешний поток передаётся как есть (при обнаружении T2-MI в мультиплексе узел подсказывает об этом в журнале); Manual — декапсуляция всегда включена; Auto — несущие обнаруживаются автоматически по таблицам PMT, без них адаптер работает как обычный мультиплекс.
**«T2-MI PID»**
  Предварительное создание несущей на известном PID до прихода таблиц; остальные несущие всё равно обнаруживаются автоматически.
**«T2-MI PLP»**
  Номер PLP, извлекаемый из каждой несущей; отдельного значения на несущую нет — для разных PLP настраиваются отдельные адаптеры с совместным использованием LNB. Если BBFRAME с заданным PLP не приходят, узел пишет в журнал список наблюдаемых PLP; он же виден в статистике адаптера, в секции «Несущие T2-MI». Поле «Фильтр T2-MI TSID (-1 = любой)» зарезервировано.

  Это другой PLP, не тот, что в «Stream id (ISI/PLP)»: здесь номер выбирается внутри несущей, уже после декапсуляции, а там — на уровне тюнера, до неё. Различается и смысл -1: у фильтра TSID это «любой», у «Stream id (ISI/PLP)» — «авто».

Программы внутренних мультиплексов появляются в общем списке программ адаптера с пометкой PLP. Для подключения такой программы к SPTS-потоку используется составной PNR — номер несущей × 65536 + PNR внутри неё ([Демультиплексор](demux.md#streamer-demux)); несущая 0 — внешний мультиплекс. Программы внутри одной несущей, у которых совпадает набор медийных PID, узел считает зеркалами друг друга и помечает «[test]» — все до единой, без «настоящей» среди них; так же помечаются тестовые фиды, узнанные по имени (распознаются английские названия вида «test card» и «feeds»). Помеченная программа не поднимает тревог о собственном состоянии: дубликат, которому из-за общих PID не достаётся своих пакетов, иначе выглядел бы непроверенным. Но пометка не скрывает программу — подключить её можно наравне с остальными, и в списке выбора программы такие строки стоят последними.

## Дескремблирование

**BISS.** Программный дескремблер BISS-1 / BISS-E (секция «Дешифрование BISS»). Задаются пары «слот — ключ»; на одном адаптере может быть активно несколько дескремблеров:

- слот — номер программы (PNR) внешнего мультиплекса: расшифровываются все PID программы;
- слот — PLP несущей T2-MI: ключ применяется ко всей несущей до декапсуляции. Это обязательно для зашифрованных multistream-потоков — без ключа декапсулятор отбрасывает каждый зашифрованный пакет.

Слот выбирается из списка «Программа / PLP»: строки помечены `· BISS ·` у программы с ECM BISS, `· CA ·` у прочих закодированных, `· T2-MI ·` у несущих и `· clear ·` у открытых программ — открытые идут последними. Они в списке намеренно: ключ нередко задают заранее, а событийный фид между событиями открыт, и на мультиплексе без единой закодированной программы список иначе оказывался пустым. Список берётся из живого снимка адаптера, поэтому у нового и у остановленного адаптера его нет — поле называется «Id слота (PNR ≥ 0, или -(plp+1))», и номер вводится вручную.

Формат ключа определяется по длине: 12 шестнадцатеричных цифр — BISS-1 (контрольные байты вычисляются автоматически), 16 — BISS-E. Ключи применяются на лету, без перезапуска адаптера. Работу ключа видно по счётчикам в статистике адаптера: рост «расшифровано» — ключ работает; рост «нет ключа» — ключ не задан или задан не на том уровне; рост «ошибки» — ключ неверен.

**CI/CAM.** Адаптер с установленным CAM-модулем дескремблирует выбранные программы через Common Interface (секция «Дешифрование CI/CAM»): перечисляются номера программ, модуль расшифровывает их прямо в тракте приёма. Список применяется на лету и не зависит от системы вещания. Состояние модуля, поддерживаемые CA-системы и статус дешифрования каждой программы видны в статистике адаптера и на экране «Оборудование» ([Оборудование](../webui/administration.md#webui-hardware)); извлечение модуля, отсутствие подписки и ошибки CA вызывают оповещения ([Каталог кодов алертов](../meshwork/alerts.md#meshwork-alert-codes)).

«Удалять CA из расшифрованного выхода» (дополнительная настройка) очищает таблицы и сообщения CAS из уже расшифрованных программ — аналогично фильтру потока «Удалять CAT / ECM / EMM» ([Фильтрация MPEG-TS](spts.md#streamer-spts-filter)).

## Контроль сигнала

В списке адаптеров видны захват сигнала, уровень, SNR, BER и входной битрейт каждого адаптера. Окно статистики адаптера ([Статистика адаптера](../webui/monitor.md#webui-dvb-stats)) показывает историю сигнала (уровень, SNR, BER, неисправленные блоки), текущие метрики фронтенда, список программ с медиаданными, счётчики несущих T2-MI и дескремблеров, состояние CAM-модуля и журнал; накопительные счётчики сбрасываются кнопкой «Сбросить статистику». Для контроля антенны без чтения потока адаптер создаётся в режиме Frontend monitor.

Потеря захвата, падение уровня или качества сигнала, рост ошибок BER и неисправленных блоков вызывают оповещения с настраиваемыми порогами ([Оповещения (алертер)](../meshwork/alerts.md#meshwork-alerts), пороги — в настройках оповещателя).

**Буфер приёма.** «Буфер демультиплексора (блоки)» (дополнительная настройка) задаёт размер кольцевого буфера приёма в блоках по 64 КБ. Значение по умолчанию 512 (32 МБ) покрывает полнотранспондерные сценарии DVB-S/S2 с несколькими потребителями; для слабонагруженных или встраиваемых систем его можно уменьшить. При переполнениях буфера (счётчик виден в статистике, сообщение — в журнале) увеличьте буфер или сократите объём принимаемых данных — например, откажитесь от чтения полного мультиплекса, если он не нужен. Учитывайте память: каждый адаптер резервирует «блоки × 64 КБ».

## Права доступа на устройства

Если DVB-адаптеры в Perfect Streamer не отображаются, а в системе они есть, выдайте службе права на устройства DVB. Создайте файл `/etc/udev/rules.d/99-dvb-permissions.rules` со строкой:

```
SUBSYSTEM=="dvb", GROUP="video", MODE="0660"
```

Затем добавьте пользователя службы в группу video и примените права:

```sh
sudo usermod -aG video pss
sudo chown -R root:video /dev/dvb/*
sudo systemctl restart pss
```

После перезагрузки системы права выставит правило udev автоматически.
