OScam dvbapi: настройка и актуальная конфигурация 2026
Если вы читаете это, значит OScam у вас стоит, источник подключён, но каналы не открываются — или открываются через раз, или картинка зависает через несколько секунд. Проблема почти всегда в одном месте: неверно настроен модуль dvbapi. Именно здесь ломается большинство конфигураций. Этот материал — про oscam dvbapi aktuell: актуальные параметры, реальные пути конфигов и диагностика по симптомам, а не общая теория.
Что такое модуль dvbapi в OScam и зачем он нужен
Роль dvbapi в цепочке декодирования
dvbapi — это встроенный модуль OScam, который берёт контрольные слова (CW) от ридера и передаёт их прямо в драйвер DVB-устройства. Канал идёт так: тюнер принимает сигнал → демультиплексор разбирает поток → dvbapi перехватывает ECM-пакеты → OScam запрашивает CW у источника → dvbapi записывает ответ обратно в демультиплексор. Всё это происходит через Unix-сокет, по умолчанию расположенный в /tmp/camd.socket.
Без dvbapi OScam может получать контрольные слова, но просто не знает, куда их отдать. Плеер или медиацентр тогда ничего не расшифрует — поток остаётся зашифрованным.
Отличие dvbapi от сетевых протоколов (CCcam, newcamd)
CCcam и newcamd — это протоколы для передачи CW по сети, между машинами. dvbapi работает локально, внутри одного устройства, между OScam и аппаратным или программным демультиплексором. Можно одновременно иметь сетевой сервер (раздавать CW другим клиентам) и локальный dvbapi для своего тюнера — это не конфликт, если настроено правильно.
Когда dvbapi обязателен, а когда нет
Если вы смотрите телевизор через Enigma2-приставку, Kodi с аппаратным DVB-адаптером или любую систему, где OScam стоит на том же устройстве, что и тюнер — dvbapi обязателен. Если OScam — только сервер, который раздаёт CW другим клиентам по сети, а сам ничего не показывает — dvbapi не нужен, можно вообще не включать.
Актуальная структура конфигурации dvbapi
Секция [dvbapi] в oscam.conf
Вот рабочая секция для Enigma2 в 2026 году:
[dvbapi]
enabled = 1
au = 1
pmt_mode = 6
request_mode = 1
boxtype = dreambox
user = local_dvbapi
reopenonzap = 1
delayer = 60
pmtfile = /tmp/pmt.tmp
Разберём построчно. enabled=1 — очевидно, без этого модуль просто не стартует. au=1 включает автоматическое обновление EMM (нужно, если у вас физическая карта или эмулятор, которому нужны EMM). reopenonzap=1 переоткрывает соединение при смене канала — на большинстве приставок это нужно.
delayer=60 — задержка в миллисекундах перед записью CW в демультиплексор. Убирает рассинхрон на медленных источниках. Если картинка рябит или "скачет" — попробуйте 100–150 мс. Если всё хорошо — можно поставить 0.
Файл oscam.dvbapi и его синтаксис
oscam.dvbapi — это файл правил фильтрации: какой CAID использовать, что игнорировать, как маппировать. Синтаксис — построчный, с префиксами:
P:— приоритет (priority). OScam будет пробовать этот CAID первым.I:— игнор. Этот CAID вообще не трогать.M:— маппинг одного CAID на другой.
Формат строки: P:CAID:provid:srvid:pid:class:ecmlen. Незаполненные поля — нули или пропуск. Пример реальных правил:
P:0500:000000:0000
P:1810:000000:0000
I:0100:000000:0000
Первые две строки говорят: сначала пробовать CAID 0500 и 1810 (Viaccess, Nagravision 3). Третья — игнорировать CAID 0100 (SECA/Mediaguard) полностью. Если у канала несколько CAID, OScam будет брать их по порядку из этого файла.
Параметры boxtype, user, pmt_mode, au, delayer
Параметр user задаёт имя пользователя OScam, под которым работает dvbapi. Этого пользователя нужно создать в oscam.user с нужными правами — если его нет, модуль может запуститься, но ECM-запросы будут отклоняться.
pmtfile — путь к временному PMT-файлу. На Enigma2 это стандартно /tmp/pmt.tmp. На нестандартных сборках путь может отличаться — например, /tmp/pmt2.tmp при нескольких тюнерах.
Пути конфигов: /etc/tuxbox/config, /var/keys, /usr/keys
Здесь начинается зоопарк. На разных образах конфиги OScam лежат в разных местах:
| Образ / дистрибутив | Путь конфигов OScam | camd.socket |
|---|---|---|
| OpenATV, OpenVIX (Enigma2) | /etc/tuxbox/config/ | /tmp/camd.socket |
| OpenPLi | /etc/tuxbox/config/ | /tmp/camd.socket |
| VTi | /etc/tuxbox/config/ | /tmp/camd.socket |
| Неофициальные сборки / моды | /var/keys/ или /usr/keys/ | /tmp/camd.socket или /var/run/camd.socket |
| PC (Debian/Ubuntu + OScam) | /etc/oscam/ | /tmp/camd.socket |
На нестандартных сборках сокет иногда кладут в /var/run/camd.socket или вообще дают другое имя. Проверить можно командой find /tmp /var/run -name "*.socket" 2>/dev/null или посмотреть в логе OScam строку opening socket — там будет полный путь.
Подбор boxtype и pmt_mode под вашу приставку
Как определить правильный boxtype
boxtype — это один из параметров, где люди чаще всего ошибаются. Доступные значения: dreambox, dbox2, dvbapi3, pc, pc-nodmx, samygo. Выбор зависит от железа и образа, не только от бренда.
На Dreambox с Enigma2 — dreambox. На VU+, Gigablue, Xsarius с OpenATV или OpenPLi — тоже dreambox, это работает. dvbapi3 — для старых приставок с драйверами третьего поколения DVB API. pc — для Linux PC с аппаратным DVB-адаптером. pc-nodmx — OScam в режиме без аппаратного демультиплексора, например когда он работает как промежуточный слой для Kodi + TVHeadend.
Значения pmt_mode от 0 до 6 и их различия
pmt_mode определяет, как dvbapi получает информацию о программах (PMT) — напрямую из /tmp, через сокет, или комбинированно.
- 0 — читать PMT-файл из /tmp напрямую. Просто, но медленно при переключении.
- 1 — слушать сокет от медиаплеера (Enigma2 сам отправляет PMT при переключении).
- 2 — смешанный режим.
- 3 — парсить PMT из DVB-потока самостоятельно.
- 4 — только через сокет, без /tmp.
- 5 — для специфичных образов с нестандартным интерфейсом.
- 6 — наиболее универсальный для современного Enigma2: комбинирует чтение PMT-файла и сокет, даёт стабильное поведение при быстром зэппинге.
На OpenATV 7.x и OpenPLi 9.x проверено — pmt_mode=6 работает стабильно на VU+ Solo 4K и Dreambox DM920. После обновления образа OScam иногда сбрасывает значения в дефолтные — это частая причина, почему "вчера работало, сегодня нет". Всегда проверяйте конфиг после апгрейда прошивки.
request_mode и поведение при переключении каналов
request_mode=0 — OScam запрашивает CW для всех CAID, которые нашёл в PMT, одновременно. request_mode=1 — запрашивает их последовательно, по приоритету из oscam.dvbapi. На медленных источниках mode=1 быстрее даёт картинку, потому что не тратит время на CAID, которых у вас нет.
Проверка работы dvbapi через лог OScam
Включение детального логирования (loglevel, debug)
В oscam.conf, в секции [global], выставите:
[global]
logfile = /tmp/oscam.log
loglevel = 5
debuglevel = 255
debuglevel=255 включает вообще всё. Для диагностики dvbapi особо важна маска 64 (DVB API debug) и 128 (ECM/EMM debug) — но проще выставить 255 на время отладки, потом убрать. Лог растёт быстро — не оставляйте так в продакшне.
Чтение строк dvbapi в oscam.log
При нормальном старте в логе должны появиться такие строки:
[dvbapi] Try to open camd socket /tmp/camd.socket
[dvbapi] Opening socket /tmp/camd.socket
[dvbapi] found channel 0500:000000:1234
[dvbapi] ECM request for CAID 0500 on demux 0
[dvbapi] Decoding... CW received from reader "my_reader"
Если строки opening socket нет вообще — модуль не стартовал. Если есть found channel но нет Decoding — проблема с ридером или неправильный CAID в oscam.dvbapi. Если Decoding есть, но картинки нет — проблема уже не в OScam, а в передаче CW демультиплексору.
Веб-интерфейс OScam и статус ECM/EMM
Веб-интерфейс OScam по умолчанию на порту 8888 (задаётся в секции [webif] параметром httpport). Открываете http://192.168.1.x:8888 — и в разделе "Services" видите активные ECM: какой канал декодируется, с каким CAID, через какой ридер, и главное — время ответа в миллисекундах.
Если ECM-время скачет от 200 до 2000 мс — источник нестабильный. Если стабильно держится до 300 мс — нормально. Больше 500 мс регулярно — будут фризы при переключении.
Решение типичных ошибок dvbapi
Сокет не создаётся / camd.socket отсутствует
Первое — проверить enabled=1 в секции [dvbapi]. Звучит банально, но это причина №1. Второе — права: OScam должен иметь право писать в /tmp. Команда ls -la /tmp/camd.socket сразу покажет, создался ли сокет. Третье — другой softcam уже держит этот сокет. Если параллельно запущен oscam-emu, NCam или CCcam с dvbapi — они займут /tmp/camd.socket первыми, и ваш OScam просто не сможет его создать.
ECM приходит, но картинка чёрная (freeze)
Это один из самых противных симптомов. OScam видит ECM, декодирует, лог чистый — а экран чёрный. Варианты:
- Неверный
delayer. Попробуйте 100 мс — часто помогает на медленных источниках. - Рассинхрон CW. Контрольное слово приходит слишком поздно, демультиплексор уже ждёт следующее. Видно по логу — большой разброс времени ответа.
- Неверный CAID в oscam.dvbapi. OScam декодирует "не тот" CAID из PMT, а нужный игнорирует.
- Второй эмулятор держит демультиплексор и принимает CW, но не умеет их правильно применить.
Каналы открываются через раз — проблема приоритетов
Если канал иногда открывается, иногда нет — скорее всего конфликт правил в oscam.dvbapi. Например, есть строка I: (игнор) для CAID, который на некоторых каналах является основным. OScam тогда пропускает этот CAID, пробует следующий, тот не отвечает — канал не открывается. Решение: посмотреть в логе, какой CAID приходит в ECM для проблемного канала, и убедиться, что он не в игноре.
Ещё вариант — несколько тюнеров с параллельным декодированием. Если два канала пишутся на PVR одновременно + один смотрится — нужны три дескриптора демультиплексора. На старых приставках их может быть всего два, и третий запрос просто не проходит. Это не баг OScam — это аппаратное ограничение.
Конфликт двух эмуляторов за демультиплексор
Остановить второй cam нужно до запуска OScam. На Enigma2:
init.d stop softcam
# или
systemctl stop enigma2-softcam
Убедитесь, что /tmp/camd.socket исчез после остановки — иначе старый сокет заблокирует запуск. Удалить вручную: rm -f /tmp/camd.socket, затем запускать OScam.
Как выбрать источник декодирования: на что смотреть
Критерии стабильного источника (без названий)
Конкретные сервисы называть не буду — это бессмысленно, рынок меняется быстро, а то, что работало год назад, сегодня может быть нестабильным. Лучше научиться оценивать самостоятельно по техническим параметрам.
Три ключевых показателя: время ответа ECM (в мс), аптайм и поддерживаемые CAID. Всё это читается из лога OScam и веб-интерфейса — никаких дополнительных инструментов не нужно.
Стабильность ECM-времени и аптайм
Хороший источник даёт стабильное ECM-время — в идеале 100–250 мс с минимальным разбросом. Если в логе видите чередование 80 мс / 1200 мс / 90 мс / 900 мс — источник нестабилен, и никакой delayer это не исправит. Нормальный стандарт — стандартное отклонение не больше 50–70 мс от среднего.
Аптайм проверяется просто: включите запись в лог на несколько часов или дней, потом посчитайте, сколько раз появлялась строка об ошибке соединения с ридером. Один-два обрыва за сутки — терпимо. Пять и больше — проблема.
Поддерживаемые протоколы и CAID
Под oscam dvbapi aktuell конфигурацию чаще всего собирают с подключением через newcamd (порт 10000 по умолчанию) или cccam (порт 12000). Убедитесь, что источник поддерживает нужный протокол — не все поддерживают оба. Список CAID, которые отдаёт источник, можно увидеть в веб-интерфейсе OScam в разделе ридеров.
Если канал с CAID 0500 не открывается, а источник декларирует его поддержку — проверьте, что в oscam.dvbapi нет строки I:0500. И что у пользователя dvbapi в oscam.user не ограничены разрешённые CAID.
Юридические аспекты и личное использование
Всё, что описано в этой статье, относится к техническому декодированию собственных подписок через OScam на собственном оборудовании. Использование чужих карт или нелегальный доступ к платным пакетам — отдельная история, не про настройку конфигов. Если у вас физическая смарт-карта с действующей подпиской и OScam стоит на том же устройстве, что и кардридер — это стандартная схема локального декодирования без каких-либо серых зон.
Где находится файл oscam.dvbapi и в каком формате он пишется?
Лежит в той же директории, что и oscam.conf. На Enigma2 это обычно /etc/tuxbox/config/oscam.dvbapi, на нестандартных сборках — /var/keys/ или /usr/keys/. Формат — построчные правила с префиксами: P: (приоритет), I: (игнор), M: (маппинг). Каждая строка: префикс:CAID:provid:srvid:pid. Незаполненные поля — нули. Пример: P:0500:000000:0000 — использовать Viaccess первым.
Какой pmt_mode выбрать для Enigma2 на OpenATV?
На OpenATV 7.x стабильнее всего работает pmt_mode=6 — он читает PMT-файл из /tmp и параллельно слушает сокет, что даёт надёжное поведение при быстром зэппинге. Если переключение каналов тормозит или канал не открывается с первого раза — попробуйте pmt_mode=0 или pmt_mode=3. Конкретное значение зависит от версии драйвера DVB, поэтому при обновлении образа стоит перепроверять.
Почему OScam видит ECM, но картинка остаётся чёрной?
Четыре основные причины. Первая — рассинхрон контрольных слов: CW приходит слишком поздно, попробуйте delayer=100–150. Вторая — неверный CAID в правилах oscam.dvbapi: OScam декодирует "не тот" CAID. Третья — одновременно запущен второй эмулятор, который держит демультиплексор и перехватывает CW, но не может их применить. Четвёртая — пользователь dvbapi в oscam.user не имеет прав на нужный CAID.
Как проверить, что dvbapi вообще запустился?
Три шага. Во-первых, проверить enabled=1 в секции [dvbapi] файла oscam.conf. Во-вторых, выполнить ls -la /tmp/camd.socket — файл должен существовать и быть типа socket (буква s в правах). В-третьих, в oscam.log при loglevel=5 и debuglevel=255 должны появиться строки opening socket и found dvbapi. Если сокета нет, но enabled=1 — проверьте, не занят ли путь другим процессом командой lsof /tmp/camd.socket.
Можно ли запускать OScam одновременно с другим softcam?
Нельзя, если оба используют dvbapi и один демультиплексор — будет конфликт за /tmp/camd.socket. Нужно остановить сторонний cam через init-скрипт перед запуском OScam и убедиться, что сокет удалён. При этом сетевую раздачу CW (CCcam, newcamd-сервер) совмещать с dvbapi можно без проблем — это разные интерфейсы.
На какие параметры источника декодирования смотреть в первую очередь?
Смотрите на oscam dvbapi aktuell статистику прямо в веб-интерфейсе OScam на порту 8888: время ответа ECM в миллисекундах (норма — до 300 мс, стабильно), количество обрывов соединения за сутки и список CAID, которые реально отдаёт ридер. Дополнительно — включите лог на несколько часов и проверьте, нет ли периодических ошибок вида "connection lost to reader". Это даст объективную картину без маркетинговых обещаний.
Практические советы для стабильного просмотра
Даже самая стабильная линия CCCam или OSCam требует пары простых подготовительных шагов. Обновляйте прошивку ресивера, раз в неделю очищайте ECM‑кеш и держите 15–20% свободного места на USB‑накопителе или во встроенной памяти, чтобы кардридер записывал ключи без задержек.
При настройке антенны оставляйте запас по MER/BER: смещение на два градуса или ослабленный F‑коннектор чаще становится причиной “фризов”, чем сам кардшаринг. Держите под рукой короткий патч‑корд для проверки другого роутера и сохраните два профиля в OSCam — под TCP и под UDP — чтобы мгновенно переключиться, если провайдер начнёт фильтровать протокол.
Utgard.tv следит за каждым хабом 24/7, однако вы можете ускорить диагностику, если будете вести небольшой журнал действий. Записывайте время переключения канала, активный CAID и то, использовали ли вы Wi‑Fi или Ethernet. Такой мини‑отчёт позволит инженерам воспроизвести вашу конфигурацию в лаборатории и предложить решение не за часы, а за минуты.
- Держите активными две линии: если первый сервер уходит на обслуживание, второй тут же подхватывает поток без повторного ввода логина.
- Раз в месяц делайте замер скорости и задержек. Стабильных 1–2 Мбит/с при пинге до 80 мс достаточно для SD/HD, но если джиттер превышает 20 мс — переведите роутер на провод.
- Сохраните в закладки страницу статуса Utgard.tv и Telegram‑бота @utgard_tv_bot — там появляются уведомления о работах раньше, чем успеют среагировать SEMrush или внешние мониторы.