ТВ шара: настройка CCcam и OScam сервера 2026
Если вы занимаетесь настройкой спутникового ресивера и столкнулись с понятием тв шара — значит, вам нужен не общий обзор, а конкретика. Здесь разберём, как работает card sharing на уровне протоколов, как прописать рабочий конфиг CCcam или OScam, и почему каналы иногда не открываются даже при активном соединении. Без воды — только параметры, пути и команды.
Материал носит образовательный характер. Легальное применение card sharing — доступ к каналам по собственной подписке через несколько устройств или тестовый стенд для изучения технологии.
Что такое ТВ шара и как работает card sharing
Card sharing — это способ расшифровки спутникового сигнала, при котором один физический ресивер с картой раздаёт дешифровочный ключ другим клиентам через интернет. Суть в том, что сигнал зашифрован, и для его просмотра нужен control word (CW) — 8-байтовый ключ, который меняется каждые 10 секунд.
Принцип работы протокола card sharing
Когда ресивер-клиент принимает зашифрованный транспортный поток, он формирует ECM-пакет (Entitlement Control Message) и отправляет его на сервер. Сервер передаёт этот пакет физической смарт-карте, получает обратно расшифрованный CW и возвращает его клиенту. Клиент подставляет CW в декодер — канал открывается.
EMM (Entitlement Management Message) — это отдельный тип пакетов, через которые провайдер управляет правами карты. Они не участвуют напрямую в расшифровке канала, но нужны для обновления прав подписки. Если EMM не проходят на карту — со временем права истекают.
Роль сервера, клиента и control word (CW)
Сервер — это ресивер или компьютер с физической смарт-картой и запущенным эмулятором (CCcam, OScam). Клиент — любое устройство, которое подключается к серверу и запрашивает CW. Критически важен временной фактор: если CW доставлен с задержкой больше 500 мс, декодер не успевает применить его к следующему PES-пакету — появляются фризы.
Всё взаимодействие идёт через TCP. Клиент инициирует соединение, сервер держит его открытым. При обрыве клиент пытается переподключиться — этим управляет RECONNECT TIMEOUT в конфиге.
Чем CCcam отличается от OScam и MGCamd
CCcam — проприетарный протокол и одноимённый эмулятор. Простой в базовой настройке, форматы конфигов минималистичны. Порт по умолчанию — 12000. Из минусов: меньше гибкости в управлении кешем и логированием, разработка фактически остановилась.
OScam — open-source, активно развивается. Поддерживает десятки протоколов (cccam, newcamd, gbox, cs357x), имеет встроенный веб-интерфейс, детальные логи и cache exchange (cacheex). Для сервера — явно лучший выбор. Для простого клиента — иногда избыточен.
MGCamd работает по протоколу newcamd (порт обычно 14001), чаще используется как клиент на Enigma2. Формат конфига — mg_cfg и newcamd.list. Если сервер отдаёт только CCcam-соединения, MGCamd напрямую не подключится без OScam-прослойки.
Юридические аспекты и легальное использование
Использование card sharing без действующей подписки на транслируемый контент — нарушение авторских прав в большинстве юрисдикций. Легальные сценарии: вы являетесь подписчиком и хотите смотреть каналы на нескольких ресиверах с одной карты, либо строите тестовый стенд на оборудовании, за которое несёте ответственность.
Настройка клиента CCcam: пошаговая инструкция
На Enigma2-ресиверах CCcam чаще всего ставится как плагин или уже включён в сборку прошивки. Путь к конфигу зависит от дистрибутива: на OpenPLi и OpenATV это обычно /var/etc/CCcam.cfg, на некоторых старых сборках — /usr/keys/CCcam.cfg. Перед редактированием стоит проверить оба пути через FTP.
Структура файла CCcam.cfg
Файл читается сверху вниз. Каждая строка — либо параметр, либо комментарий (начинается с #). Базовый рабочий конфиг клиента выглядит примерно так:
# CCcam Client Config
SERVER RECONNECT TIME = 30
SERVER TIMEOUT = 5
WAITE TIME = 5
SHARE TIMEOUT = 1000
LONG CARD DELAY = 0
NEW CAMD MAX HOPS = 10
MINIMIZE MEMORY = 0
PREFERLOCALCARDS = 1
C: myserver.example.com 12000 mylogin mypassword
SHARE TIMEOUT — максимальное время ожидания CW в миллисекундах. При значении 1000 клиент ждёт до секунды. Если сервер не отвечает быстрее — переключается на следующий (если прописан). PREFERLOCALCARDS = 1 заставляет сначала использовать карты, вставленные в сам ресивер.
Прописывание C-line и параметров подключения
C-line — главная строка подключения. Формат строгий:
C: hostname port username password
После password можно добавить необязательные флаги: 01 01 0 { 0:0:2 } — но в большинстве случаев они не нужны и оставляются пустыми. Если сервер выдаёт данные доступа в формате C: — вставляйте строку как есть, только убедитесь, что нет лишних пробелов в конце строки. Некоторые прошивки от этого ломаются.
Можно прописать несколько C-line — CCcam попробует их по очереди при неудаче первого подключения. Это удобно как резервный вариант.
Загрузка конфига на ресивер по FTP
Подключаетесь к ресиверу по FTP (порт 21, логин root, пароль — зависит от прошивки, часто dreambox или пустой). Загружаете отредактированный CCcam.cfg в нужную директорию. После загрузки важно проверить права на файл: должен быть 644. Если 000 — эмулятор не прочитает конфиг и молча не запустится.
Перезапуск эмулятора и проверка статуса
Через Telnet (порт 23) подключаетесь к ресиверу и выполняете:
killall -9 CCcam
sleep 2
CCcam &
Или через init-скрипт, если он есть:
init 4 && init 3
Веб-интерфейс CCcam поднимается на порту 16001. Открываете в браузере http://IP-ресивера:16001 — видите список подключённых серверов, статус карт и активные запросы. Если статус CONNECTED и карта появилась — всё в порядке.
Установка и конфигурация OScam сервера
OScam — это уже другой уровень контроля. Конфигурация разбита на несколько файлов, каждый отвечает за свою часть. На Enigma2 файлы лежат в /etc/tuxbox/config/oscam/ или /var/etc/oscam/. На Linux-сервере (Debian/Ubuntu) — чаще в /etc/oscam/.
Основные файлы: oscam.conf, oscam.server, oscam.user
oscam.conf — глобальные настройки и dvbapi:
[global]
logfile = /var/log/oscam/oscam.log
loghistorysize = 4096
maxlogsize = 2048
nice = -1
bindwait = 60
netprio = 0
[dvbapi]
enabled = 1
au = 1
pmt_mode = 0
request_mode = 0
boxtype = dreambox
[webif]
httpport = 8888
httpuser = admin
httppwd = oscam
httprefresh = 10
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
httpport — порт веб-интерфейса. По умолчанию чаще всего 8888, в некоторых сборках 83. httpallowed ограничивает доступ к панели управления по IP — не игнорируйте этот параметр.
oscam.server — описание ридеров (физических карт или удалённых серверов):
[reader]
label = my_cccam_server
protocol = cccam
device = myserver.example.com,12000
user = mylogin
password = mypassword
cccversion = 2.0.11
cccmaxhops = 10
ccckeepalive = 1
group = 1
caid = 0500,1810
Поле caid — необязательное, но важное для оптимизации. Если указать только нужные CAID, OScam не будет посылать ECM на этот ридер для других систем — снижает нагрузку и ускоряет ответ.
oscam.user — учётные записи клиентов, которые подключаются к вашему OScam-серверу:
[account]
user = client1
pwd = password123
group = 1
au = 1
betatunnel =
caid = 0500
Настройка readers и протоколов dvbapi
dvbapi — интерфейс взаимодействия OScam с тюнером ресивера. Параметр pmt_mode определяет, как OScam получает информацию о каналах: 0 — через сокет /tmp/camd.socket, 4 — через файлы PMT. На большинстве Enigma2-ресиверов работает режим 0.
request_mode = 0 означает, что OScam сразу посылает ECM на все доступные ридеры. Режим 1 — последовательный перебор. Для ускорения переключения каналов используйте 0.
Открытие портов и веб-интерфейс OScam
Если OScam принимает подключения от клиентов, нужно открыть порт в firewall. Для CCcam-протокола в OScam создаётся слушающий порт через секцию [cccam] в oscam.conf:
[cccam]
port = 12000
version = 2.0.11
reshare = 0
На роутере нужен проброс: внешний TCP-порт 12000 → IP ресивера, порт 12000. Без этого внешние клиенты не достучатся до сервера.
Кэширование (cache exchange) и пиры
Cacheex — механизм обмена CW между несколькими OScam-серверами. Режимы:
- Mode 1 — пассивный: принимает CW от пиров, сам не отдаёт
- Mode 2 — активный: отдаёт CW пирам и принимает от них
- Mode 3 — только отдаёт, не принимает
В oscam.server для пира прописывается:
[reader]
label = peer_server
protocol = cccam
device = peer.example.com,12000
user = peerlogin
password = peerpass
cacheex = 2
cacheex_maxhop = 2
group = 2
Cacheex резко снижает ECM time для популярных каналов — если другой пир уже расшифровал этот CW, он придёт из кеша почти мгновенно. Но это работает только если у пиров совпадают CAID.
Диагностика и решение типовых проблем
Подавляющее большинство проблем с тв шарой диагностируется по логам. Если вы не читаете oscam.log — вы работаете вслепую. Включите достаточный уровень логирования в oscam.conf: logdvbapi = 1, logreader = 1.
Канал не открывается: анализ логов
В логе OScam каждый ECM-запрос выглядит примерно так:
2026/03/15 14:22:31 c (client1) ECM Channel Name CAID:0500/ProviderID:000000 - found (150 ms) by reader1
Если вместо "found" вы видите "not found" или "no card" — сервер не может расшифровать этот канал. Причины: нет карты с нужным CAID, истёк доступ, или CAID/provider ID не совпадают.
Ищите строки с ECM для проблемного канала. Смотрите, какой CAID запрашивается клиентом и есть ли он в ридерах.
Ошибка 'card not found' и неверный CAID/provider ID
CAID — это идентификатор системы условного доступа (например, 0500 для Viaccess, 1810 для Nagravision 3). Provider ID — идентификатор конкретного провайдера внутри этой системы. Если в конфиге ридера прописан неверный provider ID — OScam отфильтрует ECM и не отправит его на карту.
Как найти нужные значения: смотрите в логе строку ECM для канала, который не открывается. Там будет CAID:XXXX/ProvID:YYYYYY. Эти же значения должны совпадать с тем, что поддерживает ваш ридер или сервер.
Отдельная история — каналы с BISS (Basic Interoperable Scrambling System). Там нет CAID в привычном смысле, ключ прописывается вручную через oscam.srvid и oscam.dvbapi. И каналы с динамически меняющимся CAID — например, некоторые региональные пакеты — требуют ручного обновления конфига при смене ключей.
Высокий ECM time и фризы изображения
Нормальный ECM time — до 300-500 мс. Значения 600-800 мс уже заметны при переключении. Больше 1000 мс — фризы гарантированы, особенно на HD-каналах с высоким битрейтом, где декодер не успевает обработать поток без актуального CW.
Важный нюанс: SD-каналы могут работать нормально при ECM time 800 мс, а HD — уже с фризами. Это не проблема самого канала, а следствие того, что HD требует более частого применения CW к плотному потоку данных.
Причины высокого ECM time: перегруженный сервер, высокий пинг до него, packet loss в сети, или сервер обрабатывает слишком много одновременных запросов. Проверяйте пинг командой ping -c 20 hostname — смотрите не только среднее, но и максимальное значение.
Проблемы с firewall, NAT и проброс портов
Для клиента белый IP не нужен — он сам инициирует исходящее подключение. Для сервера, который принимает входящие соединения — без белого IP никак, если только не использовать туннель.
Проверить доступность порта снаружи:
telnet yourserver.com 12000
Если соединение зависает — порт закрыт или не проброшен. Если сразу "Connection refused" — порт свободен, но OScam/CCcam не слушает. Если соединение установилось — всё в порядке.
Двойной NAT — особая головная боль. Это когда роутер провайдера сам за NAT'ом, и даже правильный проброс на вашем роутере не помогает. Симптом: с телефона в сети провайдера сервер недоступен снаружи. Решение: запрашивать у провайдера белый IP или использовать VPN-сервер как relay.
Ещё одна неочевидная причина проблем — расхождение системного времени на ресивере. Некоторые CAS-системы проверяют временную метку EMM-пакетов. Если время на ресивере уехало на несколько минут — права карты могут не обновляться. Настройте синхронизацию через NTP: в Enigma2 это делается через меню настроек времени или командой ntpdate pool.ntp.org.
И последнее: если на ресивере одновременно запущены CCcam и OScam — они оба пытаются занять dvbapi-сокет. Один из них будет работать, другой — нет. Это частая ошибка после обновления прошивки, когда активируются оба плагина. Оставьте только один.
Как выбрать надёжный источник без рисков
Технически подкованный пользователь настроит конфиг за полчаса. Но если источник нестабилен — никакая настройка не поможет. Вот на что реально смотреть при выборе.
Критерии стабильного соединения
Первое — список поддерживаемых CAID. Убедитесь, что нужные вам каналы покрыты. Если хотите смотреть конкретный пакет на конкретном спутнике — уточняйте CAID заранее, не гадайте.
Второе — тестовый доступ. Адекватные источники дают 24-48 часов теста. За это время можно реально проверить ECM time, стабильность переключения и поведение на HD-каналах. Без теста — лотерея.
Третье — протокол и формат подключения. Убедитесь, что вам дадут C-line для CCcam или данные для OScam-ридера в нужном формате. Некоторые дают только newcamd — проверьте совместимость с вашим эмулятором.
На что смотреть в аптайме и пинге
Пинг до сервера желательно держать в пределах 50-80 мс для комфортной работы. Если пинг 150+ мс — ECM time уже будет на грани. Сервер в вашем регионе всегда предпочтительнее географически удалённого.
Аптайм — показатель стабильности. Реконнекты каждые несколько часов — признак проблем на серверной стороне. В логах это видно как повторяющиеся строки типа Connection closed by server с последующим Reconnecting.
Признаки ненадёжного источника
Фризы именно на популярных каналах — при нормальной работе малопопулярных. Это говорит о перегрузке: сервер не справляется с количеством одновременных ECM-запросов на топовые каналы.
Полное отсутствие технической информации о поддерживаемых CAID, версии эмулятора, географии серверов — плохой знак. Серьёзный источник эту информацию предоставляет.
Частые смены реквизитов доступа без предупреждения — сигнал нестабильной инфраструктуры. Если логин/пароль меняется каждую неделю без объяснений — это не надёжный вариант.
Часто задаваемые вопросы
Какой порт использует CCcam по умолчанию?
CCcam слушает на порту 12000 для card sharing-соединений. Веб-интерфейс мониторинга доступен на порту 16001. Оба значения можно изменить в серверном конфиге, но 12000 — стандартный порт, который вы увидите в большинстве C-line.
Где находится файл конфигурации CCcam на Enigma2?
Чаще всего это /var/etc/CCcam.cfg. На некоторых старых сборках и прошивках — /usr/keys/CCcam.cfg. Зависит от конкретного дистрибутива и версии плагина. Если файл не находится — проверьте оба пути через FTP или командой find / -name CCcam.cfg 2>/dev/null.
Что лучше для сервера — CCcam или OScam?
Для сервера OScam объективно лучше: поддерживает cacheex, детальные логи, гибкое управление ридерами и пользователями, регулярные обновления. CCcam проще настроить за 5 минут как клиент, но как сервер он значительно уступает по возможностям диагностики и оптимизации.
Почему канал не открывается, хотя соединение активно?
Самые частые причины: несовпадение CAID или provider ID канала с тем, что поддерживает ридер; нужный канал не входит в подписку на серверной стороне; ECM блокируется firewall'ом; истёк срок доступа. Смотрите oscam.log — строка с ECM-запросом для этого канала скажет всё.
Какое значение ECM time считается нормальным?
До 300-500 мс — комфортная работа, переключение каналов быстрое. 500-800 мс — уже заметна небольшая задержка. Больше 1000 мс — фризы, особенно на HD. Значения выше 2000 мс означают серьёзные проблемы с сетью или перегрузку сервера.
Нужен ли белый IP для card sharing?
Клиенту — нет, он сам устанавливает исходящее подключение. Серверу, который принимает подключения от клиентов или пиров — нужен белый IP или корректно настроенный проброс портов на роутере. При двойном NAT у провайдера проброс может не работать — в этом случае нужен внешний VPN как relay или запрос белого IP у провайдера.