/

DirecTV Stream через CCcam/OScam: настройка в 2026

Главная Статьи DirecTV Stream через CCcam/OScam: настройка в 2026

Дата публикации

18.05.2026

DirecTV Stream через CCcam/OScam: настройка в 2026

Вопрос про direct tv stream в контексте card sharing возникает регулярно. И почти всегда приводит к путанице, потому что люди смешивают две принципиально разные технологии. Разберём всё по порядку — от архитектуры до реальных конфигов.

Что такое DirecTV Stream с точки зрения card sharing

DirecTV выпускает два принципиально разных продукта. Классический спутниковый DirecTV — это DVB-S2 сигнал, ECM/EMM пакеты, физическая карта и условный доступ через Nagravision или VideoGuard. А DirecTV Stream — совершенно другая история.

Отличие DirecTV Stream от спутникового DirecTV

DirecTV Stream — это OTT-сервис. Контент доставляется через интернет по протоколам HLS/DASH, никаких спутниковых тюнеров не нужно. Это та же модель, что у Hulu Live, YouTube TV или Sling. Приложение запускается на Android TV, Roku, Fire TV, смартфонах.

Никакого DVB-S2 сигнала, никаких ECM пакетов, никаких CAID в эфире. Контент зашифрован через DRM на уровне транспортного слоя — это совершенно другой мир по сравнению с тем, с чем работает CCcam.

Используемые системы кодирования (CAID)

Классический спутниковый DirecTV исторически использовал VideoGuard (NDS). CAID для этой системы — диапазон 0x09xx, конкретно 0x0960 и 0x0961. Это то, с чем умеет работать OScam через DVB-API.

Для OTT-сервиса DirecTV Stream всё иначе. Там работает Widevine (Google DRM), PlayReady (Microsoft DRM) и FairPlay (Apple, для iOS). Эти системы не оперируют CAID вообще — они используют лицензионные ключи, передаваемые через HTTPS к DRM-серверу провайдера. Никакого публичного протокола, никакого шаринга ключей в понимании card sharing.

Почему OTT-стриминг сложнее классического DVB-S2

В DVB потоке ECM — это поток байт с зашифрованным Control Word. Сервер с картой расшифровывает его и отдаёт CW клиенту. Всё. Протокол CCcam или newcamd транспортирует эти 16 байт туда-обратно.

В Widevine схема другая: клиент отправляет "лицензионный запрос" к серверу провайдера через HTTPS, сервер верифицирует подписку, возвращает зашифрованный ключ контента. Ключ привязан к устройству через Trusted Execution Environment. Перехватить и переиспользовать этот ключ на другом устройстве — задача на порядки сложнее и требует компрометации самого DRM-стека, а не просто shared card.

Архитектура OScam и CCcam для приёма DVB-потоков

Если вы работаете с классическим спутниковым сигналом — Enigma2, Dreambox, VU+ — то CCcam и OScam это ваши инструменты. Разберём конфиги подробно, потому что большинство источников дают неполную картину.

Роль oscam.conf, oscam.server, oscam.user

OScam читает конфиги из /etc/oscam/ или /usr/local/etc/oscam/ в зависимости от дистрибутива. На Enigma2 (OpenPLi, OpenATV) — обычно /etc/tuxbox/config/oscam/.

Три ключевых файла:

  • oscam.conf — глобальные параметры, веб-интерфейс, DVBAPI
  • oscam.server — ридеры: физические карты и удалённые серверы
  • oscam.user — локальные пользователи, которые коннектятся к вашему OScam

Пример минимального oscam.conf:

[global]
logfile                = /tmp/.oscam/oscam.log
loghistorysize         = 4096
maxlogsize             = 512
preferlocalcards       = 1

[webif]
httpport               = 8888
httpuser               = admin
httppwd                = yourpassword
httprefresh            = 10

[dvbapi]
enabled                = 1
au                     = 1
pmt_mode               = 6
request_mode           = 1
boxtype                = dreambox
user                   = dvbapi

Параметр request_mode = 1 работает на OpenPLi 7+ и OpenATV 6.4+. На более старых прошивках (OpenPLi < 7) он ломает декодирование — там нужно request_mode = 0. Это не очевидная вещь, и она стоит многих часов дебага.

Что делает CCcam.cfg и формат C-line

Если используете нативный CCcam (не через OScam), конфиг лежит в /etc/CCcam.cfg. C-line — строка подключения к удалённому серверу:

C: hostname.example.com 12000 myusername mypassword

Формат: C: хост порт логин пароль. Порт 12000 — дефолтный для CCcam протокола. Нельзя добавлять комментарии в той же строке. Файл чувствителен к пробелам и регистру пароля.

Чем newcamd отличается от cccam протокола

CCcam — проприетарный протокол с механизмом peer-to-peer обмена списком карт (share-list). Когда два CCcam-сервера соединяются, они обмениваются списком CAID/Provider ID, которые они могут декодировать. Это удобно в сети с несколькими картами, но добавляет сложность: версия протокола должна совпадать.

Если провайдер обновил сервер на CCcam 2.3.2, а ваш клиент OScam настроен на cccversion = 2.1.4 — share-list не передаётся корректно, и декодирование ломается. Всегда указывайте актуальную версию.

Newcamd (порт 15000 по умолчанию) — более простой клиент-серверный протокол без обмена share-list. Клиент просто посылает ECM, сервер отвечает CW. Предсказуемее, но без возможности каскадного шаринга.

DVBAPI и связка с Enigma2

DVBAPI — это интерфейс между SoftCAM (OScam) и тюнером ресивера. Enigma2 передаёт PMT канала в OScam через /tmp/camd.socket, OScam перехватывает ECM, отправляет на сервер, получает CW и возвращает его тюнеру для декодирования.

Секция [dvbapi] в oscam.conf должна иметь user, который указан в oscam.user с достаточными правами. Параметр au = 1 включает обновление авторизации (EMM обработку) — нужен для карт, где ключи периодически обновляются.

Можно ли технически смотреть DirecTV Stream через CCcam

Прямой ответ: нет. direct tv stream использует Widevine и PlayReady — это DRM-системы, которые не имеют ничего общего с ECM/CW протоколом card sharing. CCcam физически не может декодировать Widevine-зашифрованный поток, потому что работает с совершенно другим уровнем шифрования.

DRM против ECM — почему прямой шаринг невозможен

В DVB-S2 потоке шифруются Transport Stream пакеты алгоритмом CSA (Common Scrambling Algorithm). Control Word — 8 байт — меняется каждые несколько секунд. Задача card sharing — получить этот CW быстрее, чем он устареет. Весь протокол CCcam заточен именно под это.

В HLS/DASH потоке DirecTV Stream сегменты зашифрованы AES-128 или используют CBCS/CTR с ключами от DRM-сервера. Ключ не передаётся в самом потоке — он получается через лицензионный запрос к серверу Widevine/PlayReady. Этот сервер проверяет токен сессии, привязку к устройству и активную подписку. Никакого CW, никакого card sharing.

Что реально делают пользователи: IPTV-перепаковка

На практике всё, что продаётся как "direct tv stream через CCcam" — это IPTV-репак. Схема такая: на стороне провайдера стоит сервер с легальной (или нелегальной) подпиской DirecTV Stream. Этот сервер расшифровывает поток через DRM и перекодирует или туннелирует его как HLS.

Клиент получает не C-line, а m3u8 плейлист или Xtream Codes API endpoint. Типичные URL выглядят так:

http://server.example.com:8080/get.php?username=user&password=pass&type=m3u_plus
http://server.example.com:8080/player_api.php?username=user&password=pass&action=get_live_categories

К card sharing это не имеет отношения. CCcam-протокол здесь вообще не задействован — это обычный IPTV.

Риски и ограничения такого подхода

Качество полностью зависит от пропускной способности сервера-посредника. Если 200 пользователей смотрят один канал через один сервер — начинаются фризы и артефакты. При DVB card sharing CW весит 16 байт и нагрузка на сервер минимальна. При IPTV-репаке сервер тащит весь видеопоток для каждого пользователя.

Ещё один момент: при DVB шаринге клиент сам декодирует поток с тюнера. При IPTV-репаке клиент зависит от того, что ему отдаёт сервер — ни разрешение, ни битрейт, ни кодек не под контролем пользователя.

Настройка IPTV для каналов DirecTV-подобного пакета

Если вы всё же хотите смотреть американские пакеты каналов через IPTV на Enigma2 — вот рабочий подход.

Установка плагина IPTV на Enigma2 (oa-bouquet, e2iplayer)

На OpenATV и OpenPLi установка через opkg:

opkg update
opkg install enigma2-plugin-extensions-e2iplayer

Или через менеджер плагинов в интерфейсе ресивера. После установки e2iplayer появляется в Extensions. Плейлист в формате m3u кладётся в /etc/enigma2/iptv.m3u или добавляется через интерфейс плагина.

Для oa-bouquet (автоматическое создание букетов из m3u) конфиг хранится в /etc/epgimport/. Это удобнее, если у вас большой плейлист с EPG-маппингом.

Импорт m3u-плейлиста и EPG (XMLTV)

Стандартный формат m3u для IPTV:

#EXTM3U
#EXTINF:-1 tvg-id="ESPN" tvg-name="ESPN" tvg-logo="http://logo.url/espn.png" group-title="Sports",ESPN
http://server.example.com:8080/live/user/pass/12345.ts

EPG через XMLTV настраивается в CrossEPG или E2OpenPlugin-epgimport. Путь к XMLTV файлу указывается в /etc/epgimport/custom.sources.xml. Обновление EPG раз в сутки — оптимальный вариант, чаще не нужно.

Конфигурация буфера и таймаутов

HLS-поток чувствителен к сети. В /etc/enigma2/settings можно добавить:

config.mediaplayer.useAlternateUserAgent=true

Для gstreamer-плеера параметры буфера задаются через ENIGMA2_GSTREAMER_BUFFERSIZE. Если поток с переменным битрейтом (ABR) — Enigma2 нередко не переключает уровни качества автоматически. Решение: просить провайдера дать прямую ссылку на конкретный вариант плейлиста с фиксированным битрейтом, а не мастер-плейлист.

Таймауты в mpv-based плеерах: параметры --hls-segment-timeout=30, --reconnect, --reconnect-delay-max=10 помогают при нестабильном соединении.

Использование tvheadend как промежуточного сервера

tvheadend — мощный вариант, если хотите нормальный EPG, запись и несколько клиентов. Устанавливается на Linux-сервер или NAS. Конфиг хранится в /home/hts/.hts/tvheadend/.

Веб-интерфейс на порту 9981, HTSP (для Kodi и других клиентов) на 9982. IPTV-плейлист добавляется через Configuration → DVB Inputs → Networks → Add → IPTV Automatic Network. EPG граббер настраивается через Configuration → Channel / EPG → EPG Grabber Modules, файлы XMLTV кладутся в /var/lib/tvheadend/epggrab/.

Enigma2 с плагином E2 Player или VTi может подключиться к tvheadend как к HTSP-серверу и получать каналы, EPG и таймеры уже от него.

Диагностика проблем приёма

Большинство проблем решается правильным чтением логов и парой сетевых проверок. Не стоит менять конфиги вслепую.

Анализ логов OScam (/tmp/.oscam/oscam.log)

Включить подробный лог в oscam.conf:

[global]
logfile                = /tmp/.oscam/oscam.log
loghistorysize         = 4096
maxlogsize             = 1024
debuglvl               = 64

Успешное декодирование выглядит так:

2026/05/18 12:34:56 c  dvbapi (CAID: 0960, ServiceID: 1234): ECM hash d4f3a2... cw found (reader: myserver, 187ms)

Провал — так:

2026/05/18 12:34:56 c  dvbapi (CAID: 0960, ServiceID: 1234): CW not found (timeout 2000ms)

Время ответа критично: если CW приходит за 200-400 мс — нормально. Больше 800 мс — начнутся артефакты на экране, потому что CW устареет раньше, чем применится.

Проверка ECM-ответа через webif (порт 8888)

Веб-интерфейс OScam открывается на http://<IP-ресивера>:8888. Вкладка "Readers" показывает статус каждого ридера. Вкладка "Live Log" в реальном времени показывает ECM-обмен. Вкладка "Status" — активные клиенты и декодируемые каналы с CAID.

Типичные коды ошибок: 'card not found', 'CW not found'

card not found — сервер онлайн, но не имеет карты с нужным CAID. Проверьте, что провайдер действительно поддерживает тот CAID, с которым вещает ваш канал.

CW not found при работающем ридере — несколько вариантов. Неправильный Provider ID в настройках ридера. Или канал использует BISS-ключ вместо Videoguard (BISS — это ручной ввод ключа в oscam.keys, шаринг там не поможет). Или провайдер включил time-check, а NTP на ресивере отключён — расхождение времени больше 30 секунд приводит к отклонению ECM.

Сетевые проблемы: latency, jitter, MTU

Для card sharing критичен jitter, а не только средний ping. Команда для проверки:

ping -c 100 server.example.com | tail -2

Смотрите на max и mdev. Если mdev больше 50 мс — CW будет периодически опаздывать.

Для анализа сетевого трафика CCcam:

tcpdump -i eth0 port 12000 -n

Для анализа IPTV-потока:

ffprobe -v quiet -print_format json -show_streams http://server.example.com:8080/live/user/pass/123.ts

Это покажет кодеки, битрейт, частоту кадров — и сразу будет видно, отдаёт ли сервер нормальный H.264/H.265 или что-то сломанное.

MTU — часто игнорируемый фактор. Стандартный MTU Ethernet — 1500 байт. Если провайдер интернета использует PPPoE (например, через VDSL), MTU снижается до 1492. Большие HLS-сегменты будут фрагментироваться, что увеличивает задержку. Проверьте:

ping -s 1472 -c 10 server.example.com

Если пакеты 1472 байт проходят нормально, а 1500 — нет, нужно уменьшить MTU на интерфейсе или включить MSS clamping на роутере.

Ещё одна ловушка — двойной NAT. Если роутер провайдера + ваш домашний роутер оба делают NAT, CCcam-коннект к серверу устанавливается (TCP SYN проходит), но обратные пакеты с share-list блокируются. Ридер в OScam числится онлайн, но share-list пуст и декодирования нет. Решение: DMZ или проброс порта на внешнем роутере.

Отдельная история с IPv6. Если провайдер интернета — IPv6-only с NAT64, старые Dreambox/VU+ не умеют резолвить IPv4-адреса cccam-серверов. Нужен NAT64 gateway или принудительное использование IPv4 на ресивере.

Критерии выбора провайдера (на что смотреть)

Конкретных имён называть не буду. Но вот что реально имеет значение при выборе.

Аптайм сервера и резервирование

Смотрите на публичную статистику аптайма — она должна быть доступна, а не просто "99% гарантировано". Нормальный показатель для рабочего card sharing — 99%+ за последние 30 дней. Если провайдер не публикует статистику — это уже плохой знак.

Резервирование: есть ли backup-нода, которая подхватывает при падении основной? В OScam можно прописать несколько ридеров с cccfailover, и клиент переключится автоматически. Но это работает только если провайдер даёт вам второй хост.

Локация ноды и latency до клиента

Для card sharing важно держать latency до сервера меньше 50 мс. При 100+ мс CW стабильно опаздывает на быстро меняющихся каналах. Используйте ping до хоста сервера перед покупкой — большинство провайдеров дают тестовые хосты.

Если вы в Европе, а сервер в США — expect problems. И наоборот.

Поддерживаемые протоколы и версия CCcam

Актуальные версии: CCcam 2.3.0+ или OScam r11xxx+. Если сервер работает на CCcam 2.1.x — это старьё, возможны проблемы совместимости с современными OScam-клиентами.

Если вам нужен newcamd вместо CCcam (например, старый ресивер без нормальной поддержки CCcam) — уточняйте заранее. Не все провайдеры поддерживают оба протокола.

Прозрачность по CAID и пакетам

Нормальный провайдер чётко указывает: какие CAID поддерживаются, какие Provider ID, какие спутники покрыты. Размытые формулировки вроде "все европейские каналы" без конкретных CAID — это маркетинг, не техника.

И ещё раз: если провайдер обещает "direct tv stream через CCcam" — знайте, что технически это IPTV-репак, а не card sharing. Это не плохо само по себе, но это честность о том, что вы реально покупаете. Цена, стабильность и качество такого продукта оцениваются по-другому, нежели классический card sharing.

Работает ли DirecTV Stream через CCcam напрямую?

Нет. Direct tv stream — OTT-сервис на базе DRM (Widevine/PlayReady). CCcam — протокол шаринга ECM-ключей для DVB-потоков. Это разные технологии на разных уровнях шифрования. То, что продаётся как "DirecTV Stream через CCcam", на деле всегда является IPTV-репаком: сервер посредника расшифровывает поток и раздаёт его клиентам как HLS/m3u8.

Какие CAID использует классический спутниковый DirecTV?

Исторически спутниковый DirecTV (именно спутниковый, не OTT) использовал VideoGuard/NDS с CAID 0x0960 и 0x0961. Это относится к классическому DVB-S/S2 сигналу. DirecTV Stream (OTT) не использует CAID вообще — там DRM, а не conditional access system в привычном смысле.

Какой порт по умолчанию использует CCcam-протокол в OScam?

CCcam по умолчанию использует порт 12000. Newcamd — порт 15000. Веб-интерфейс OScam — порт 8888. Все эти значения настраиваются в oscam.server (для ридеров) и oscam.conf (для webif). В oscam.server порт указывается в параметре device = host,port.

Как добавить C-line в OScam вместо CCcam.cfg?

Создайте секцию [reader] в файле /etc/oscam/oscam.server:

[reader]
label                  = myserver
protocol               = cccam
device                 = hostname.example.com,12000
user                   = mylogin
password               = mypassword
cccversion             = 2.3.0
group                  = 1
cccmaxhops             = 1
Перезапустите OScam или нажмите Restart Readers в webif. Параметр cccversion должен совпадать с версией сервера — иначе share-list не передаётся.

Почему в логах OScam пишет 'CW not found' хотя сервер онлайн?

Причин несколько. Первая — неправильный CAID или Provider ID: ридер пытается получить CW для CAID, которого нет у провайдера. Вторая — фильтрация в oscam.user: если в профиле пользователя прописан caid = с ограничениями, нужный CAID может быть отфильтрован. Третья — время ресивера не синхронизировано (NTP выключен), и сервер с time-check отклоняет ECM. Четвёртая — канал использует BISS, а не условный доступ, и шаринг там вообще не применим.

Можно ли использовать tvheadend для приёма IPTV-репака DirecTV-каналов?

Да. В tvheadend добавьте сеть через Configuration → DVB Inputs → Networks → Add → IPTV Automatic Network, укажите URL m3u-плейлиста. Порт веб-интерфейса — 9981, HTSP для клиентов (Kodi, Enigma2) — 9982. EPG настраивается через XMLTV-граббер, файлы хранятся в /var/lib/tvheadend/epggrab/. tvheadend хорошо справляется с ролью промежуточного сервера, если нужно раздавать потоки нескольким клиентам в сети.

Какая разница между cccam protocol и newcamd при шаринге?

CCcam — проприетарный протокол с peer-to-peer обменом share-list: серверы сообщают друг другу, какие CAID могут декодировать. Это удобно в сетях с несколькими картами, но требует совпадения версий протокола у клиента и сервера. Newcamd — простой клиент-серверный протокол без обмена share-list. Клиент посылает ECM, сервер отвечает CW. Более предсказуемый для однокарточных серверов, меньше точек отказа. Выбор зависит от того, что поддерживает ваш провайдер.

О статье

  • Практические советы и инструкции
  • Материалы по спутниковому ТВ
  • Поддержка и помощь 24/7