Сравнение протоколов satellite cardsharing: CCcam vs OScam
Если вы уже знаете что такое cardsharing и стоите перед выбором между CCcam, OScam, NewCamd и MGcamd — эта статья для вас. Здесь не будет маркетинга. Только реальные цифры ECM time, примеры конфигов и честный ответ на вопрос: что ставить на ресивер. Этот satellite cardsharing comparison построен на практике, а не теории.
Что сравниваем: протоколы и реализации satellite cardsharing
Первая ошибка, которую делают почти все — путают протокол с программой. CCcam и NewCamd — это протоколы передачи DCW (Decryption Control Words) по сети. OScam и MGcamd — это программный стек, который умеет говорить по этим протоколам. Разница принципиальная.
Грубая аналогия: HTTP — это протокол, а Firefox — реализация. Точно так же OScam — реализация, которая поддерживает одновременно CCcam, NewCamd, camd35 и другие протоколы. А "CCcam" как программа — это конкретный демон от Ferrari Electronics, который говорит только на своём протоколе.
Разница между протоколом и софтверной реализацией
Протокол определяет формат пакетов, аутентификацию и способ передачи DCW. Реализация — это конкретный бинарник, который вы запускаете на ресивере или сервере. OScam может работать и как сервер (раздавая C-lines клиентам CCcam), и как клиент (подключаясь к CCcam-серверу провайдера). CCcam так не умеет.
CCcam — закрытый протокол на порту 12000
CCcam работает по TCP на порту 12000 по умолчанию. Порт можно менять директивой SERVER LISTEN PORT в /etc/CCcam.cfg. Протокол закрытый, проприетарный — Ferrari Electronics никогда не публиковала спецификацию. Всё что есть в open source — это реверс-инжиниринг.
Конфиг клиента выглядит так:
C: hostname.server.com 12000 username password
Это "C-line" — стандартный формат подключения к CCcam-серверу. Для фидов используется "F-line", для NewCamd — "N-line", для MGcamd — "M-line".
OScam — open source форк с поддержкой CCcam/NewCamd
OScam вырос из форков mgcamd и camd35, но давно стал самостоятельным проектом. Поддерживает CCcam, NewCamd, camd35 (порт 33000, UDP/TCP), radegast, gbox и ещё дюжину протоколов. Конфигурация разбита на несколько файлов: /etc/oscam/oscam.conf, oscam.server, oscam.user, oscam.dvbapi.
Читер oscam.server для подключения к CCcam-серверу:
[reader]
label = my_cccam_server
protocol = cccam
device = hostname.server.com,12000
user = username
password = password
caid = 0500,1802,0604
group = 1
NewCamd — старый протокол на порту 15000
NewCamd появился раньше CCcam и до сих пор используется, хотя и реже. Стандартный порт — 15000. Протокол проще CCcam, хуже масштабируется на большое количество клиентов. OScam поддерживает NewCamd и на стороне сервера, и клиента. Конфиг клиента в newcamd.list: строка формата N: hostname port user pass deskey...
MGcamd — лёгкий клиент для Enigma2
MGcamd — это только клиент, не сервер. Написан именно для слабых ресиверов: Dreambox DM800, DM7025, Vu+ Solo. Потребляет минимум RAM и CPU, но функциональность урезана — нет webif, нет cacheex, нет локальных readers кроме смарт-карт. Конфиг — файл newcamd.list с N-lines и C-lines.
Сравнение по скорости ECM и производительности
ECM time — это время от запроса до получения DCW. Для нормального просмотра нужно укладываться в 500мс. Оптимум — до 300мс. Ниже 200мс — отлично. Реальные цифры зависят от CAS-системы канала, пинга до сервера и наличия кэша.
Типичные значения ECM time по типам CAS при хорошем соединении:
- Viaccess 2.6 — ~200мс
- Nagra 3 — ~280мс
- Irdeto 2 — ~350мс
- NDS Videoguard — ~400мс
Это цифры без cacheex. С cacheex в OScam повторные запросы отдаются из кэша за 10-50мс.
Среднее ECM time для CCcam (250-450 мс)
CCcam без всяких трюков показывает 250-450мс на большинстве CAS. Это нормально для просмотра, но каждый запрос идёт через полный цикл: запрос → сервер → CAS → ответ. Кэширования на уровне протокола нет. Если канал переключился — снова полный цикл.
ECM time для OScam (180-350 мс при правильной настройке)
OScam без cacheex примерно сопоставим с CCcam. Но стоит включить cacheex — картина меняется. При наличии кэш-пиров повторный запрос на тот же ECM возвращается мгновенно, без обращения к серверу. Это и даёт итоговые 180-350мс в среднем.
Влияние EMM на нагрузку
EMM (Entitlement Management Messages) — сервисные сообщения для обновления подписки на карте. Для cardsharing клиента они не нужны и только загружают соединение. В oscam.server отключается так:
saveemm-u = 0
saveemm-s = 0
saveemm-g = 0
В CCcam аналога нет — EMM-трафик всегда идёт, отключить программно нельзя.
Кэширование: cacheex в OScam vs отсутствие в CCcam
Cacheex — это обмен ECM-кэшем между двумя OScam-серверами. Три режима: mode 1 (пассивный приём), mode 2 (активная отдача), mode 3 (push без запроса). Конфиг в oscam.server:
[account]
user = cachepeer
password = secret
caid = 0500
cacheex = 2
cacheex-maxhop = 3
CCcam как закрытый протокол такой функции не имеет в принципе. Если сравниваете скорость OScam с cacheex против CCcam без него — сравнение некорректное.
Нагрузка на CPU слабого ресивера (Vu+ Solo, DM800)
На слабом железе разница ощутима. MGcamd в режиме клиента грузит CPU на 5-15%. CCcam — 15-30%. OScam с активным cacheex и несколькими readers — 20-40%, иногда больше. На ресиверах с 64-128MB RAM OScam ещё и по памяти может упираться, если включить много функций.
Рабочая схема для слабого железа: MGcamd как клиент на ресивере, OScam как сервер на роутере (OpenWrt) или Raspberry Pi. Ресивер получает DCW от локального OScam за 10-30мс — минимальная нагрузка, максимальная скорость.
Стабильность и поддержка современных CAS
Последний релиз CCcam — версия 2.3.2, вышла в 2015 году. С тех пор — тишина. Ferrari Electronics закрыли проект, и это проблема.
OScam активно поддерживается: актуальная ветка svn r11725 и выше, форки oscam-emu добавляют поддержку Powervu, Tandberg, BISS. Если провайдер вещания обновил CAS — шансы что OScam-emu уже поддерживает новую версию несравнимо выше, чем у CCcam 2.3.2.
Поддержка Nagra Merlin, Powervu, Tandberg
CCcam 2.3.2 не поддерживает Nagra Merlin 2, Powervu и Tandberg — просто не умеет работать с этими CAS. OScam-emu (форк с расширенным emuhandler) поддерживает все три. Если ваш пакет использует Powervu или Tandberg — выбора нет, только OScam-emu.
Работа с BISS-ключами и constant.cw
BISS (Basic Interoperable Scrambling System) — схема шифрования, часто используемая для спортивного вещания. Ключи статические, не меняются в процессе трансляции. OScam поддерживает constant.cw файл — список пар transponder/key. Это вообще не cardsharing в классическом смысле, но удобно для BISS-каналов без смарт-карты. CCcam тоже поддерживает constant.cw через плагины, но OScam это делает нативно.
Reader-конфигурация для DVB-карт
Если у вас физическая смарт-карта через DVB-ридер — OScam умеет работать с mouse (классический serial reader), smargo (USB smartcard reader), omnikey, pcsc. Пример reader для встроенного ридера Enigma2-ресивера:
[reader]
label = local
protocol = internal
device = /dev/sci0
group = 1
caid = 0500
Для smargo:
[reader]
label = smargo_reader
protocol = mouse
device = /dev/ttyUSB0
group = 1
Failover и fallback reader через group
В oscam.dvbapi можно указать приоритет обращения к readers через параметр group. Если основной reader (group 1) не отвечает — OScam переключается на резервный (group 2). Это работает автоматически, с настраиваемым таймаутом cwfailaccepttimeout. У CCcam failover реализован хуже — нет гибкого управления приоритетами между локальной картой и удалённым шарингом.
Удобство настройки и логирование
CCcam — один файл /etc/CCcam.cfg. Всё в нём: C-lines, F-lines, N-lines, M-lines, параметры сервера. Просто и понятно. OScam — модульная структура из нескольких файлов. Сложнее для новичка, но гибче для администратора.
Webif в OScam (порт 8888) — мониторинг в реальном времени
Это реально одно из главных преимуществ OScam. Открываете http://ip-ресивера:8888 и видите: статус каждого reader, текущее ECM time, количество обработанных ECM/EMM, активные клиенты, cacheex статистику. В реальном времени, без перезагрузки страницы.
В CCcam есть telnet на порту 16001, команда status. Работает, но webif это другой уровень удобства.
Конфиги CCcam vs модульная структура OScam
Файлы OScam и их назначение:
/etc/oscam/oscam.conf— глобальные настройки: webif порт, loglevel, cachedelay/etc/oscam/oscam.server— readers (локальные карты, удалённые серверы)/etc/oscam/oscam.user— клиенты (кто подключается к вашему серверу)/etc/oscam/oscam.dvbapi— приоритеты CAID для dvbapi
oscam.dvbapi особенно важен — без него OScam будет перебирать все readers подряд, не зная какой CAID какому reader соответствует. Пример:
priority
P: 0500:020800 ; Viaccess Canal+
P: 1802:000000 ; Nagra Digiturk
Логи: уровни debug 0-255
В oscam.conf параметр loglevel от 0 (нет логов) до 255 (полный debug). Для повседневной работы достаточно 64. Для диагностики ECM проблем — 255, но это генерирует несколько мегабайт в час на слабом ресивере.
Live log через telnet/ssh
Следить за логом в реальном времени:
tail -f /tmp/.oscam/oscam.log
Или через webif — вкладка "Live Log". Там же можно менять loglevel на лету без перезапуска демона. У CCcam такой возможности нет — только перезапуск для изменения параметров.
Критерии выбора провайдера cardsharing
Протокол и软ware — это только часть уравнения. Качество сервера провайдера не менее важно. Но как выбрать, не зная конкретных имён? Смотреть на измеримые параметры.
На что смотреть: uptime сервера, среднее ECM time
Uptime должен быть выше 99% — это значит не более 87 часов простоя в год. Меньше — уже проблема. Среднее ECM time смотрите в webif OScam после нескольких часов работы: там накапливается статистика. Если ECM time стабильно выше 800мс — сервер перегружен или физически далеко.
Поддерживаемые CAS и пакеты под нужный спутник
Перед покупкой уточните: какой CAID, какой провайдер, какой спутник. Например, Viaccess 0x0500 на 19.2°E и Viaccess 0x0500 на 13.0°E — это разные конфигурации. Сервер может поддерживать один и не поддерживать другой.
Тестовый период перед оплатой
Нормальный провайдер даёт тестовый доступ на 24-48 часов. За это время можно проверить реальное ECM time на вашем железе, стабильность под нагрузкой (переключение каналов), работу failover. Без теста — деньги на ветер.
Качество техподдержки и формат конфига (C-line/N-line)
Хороший провайдер выдаёт готовый конфиг под ваш клиент: C-line для CCcam/OScam, N-line для NewCamd. Если дают только "хост, порт, логин, пасс" и говорят "разбирайтесь сами" — тревожный сигнал. Техподдержка должна отвечать в разумное время, особенно если сервер упал.
Гео-расположение сервера и пинг
Проверяем до покупки:
ping hostname.server.com
telnet hostname.server.com 12000
Пинг до сервера должен быть ниже 50мс. При 100мс+ ECM time вырастет пропорционально. Сервер в Европе для европейских пакетов логичен. Если сервер в Азии, а вы декодируете Astra 19.2°E — готовьтесь к задержкам.
Что не работает: типичные ошибки сравнения
Большинство сравнений в интернете содержат одни и те же ошибки. Разберём главные.
Сравнение ECM time на разных каналах — некорректно
ECM time зависит от CAS-системы канала прежде всего. Viaccess принципиально быстрее Irdeto. Если вы сравниваете CCcam на Viaccess-канале и OScam на NDS Videoguard-канале — вы сравниваете разные CAS, а не разные протоколы. Корректный satellite cardsharing comparison возможен только на одном и том же транспондере, в одно и то же время, с тем же CAID.
Старые сборки CCcam на современных образах Enigma2
CCcam 2.1.4 не работает на Enigma2 OE 2.5+ нормально. Несовместимость библиотек, проблемы с dvbapi. Если тестируете CCcam — используйте версию 2.3.2 (последняя официальная). Сравнивать 2.1.4 с актуальным OScam svn r11725 — нечестно в обе стороны.
Запуск OScam без правильного oscam.dvbapi
Без настроенного oscam.dvbapi с приоритетами CAID OScam будет последовательно опрашивать все readers при каждом ECM-запросе. ECM time может вырасти до 2-5 секунд — не потому что OScam медленный, а потому что он перебирает 5 readers вместо сразу идти в нужный. Это не баг, это конфигурация.
Игнорирование cacheex при сравнении скорости
Сравнивать OScam без cacheex с OScam с cacheex — получите другие цифры. Сравнивать OScam с cacheex против CCcam без него и делать вывод "OScam быстрее" — некорректно методологически. Честный satellite cardsharing comparison требует одинаковых условий: cacheex либо у обоих, либо ни у кого.
И ещё одно: два разных демона на одном ресивере — нельзя. CCcam и OScam одновременно на одном боксе конфликтуют за dvbapi и порты. Выбирайте один.
Какой протокол быстрее: CCcam или OScam?
OScam быстрее в среднем на 50-100мс за счёт cacheex и оптимизированной обработки ECM. При включённом cacheex mode 2 повторные запросы возвращаются из кэша за 10-50мс вместо полного цикла запроса к серверу. CCcam работает быстрее только в простой схеме без кэш-пиров и с минимумом readers — тогда оверхед OScam на инициализацию становится заметным.
Можно ли использовать CCcam-конфиг (C-line) на OScam?
Да, OScam полностью поддерживает протокол CCcam. C-line добавляется в /etc/oscam/oscam.server как отдельный reader с параметрами: protocol = cccam, device = hostname,12000, user = username, password = password. OScam подключится к CCcam-серверу как обычный CCcam-клиент. Провайдер не увидит разницы.
Какой стандартный порт у CCcam и NewCamd?
CCcam — порт 12000 по умолчанию, меняется директивой SERVER LISTEN PORT в /etc/CCcam.cfg. NewCamd — порт 15000. camd35 — порт 33000, работает как по UDP, так и по TCP. При работе за NAT нужно пробрасывать соответствующие порты на роутере к IP ресивера.
Что такое cacheex и почему его нет в CCcam?
Cacheex — механизм обмена ECM-кэшем между OScam-серверами. Когда один сервер расшифровал ECM и получил DCW, он передаёт результат кэш-пирам. Следующий запрос на тот же ECM возвращается мгновенно из кэша. CCcam — закрытый проприетарный протокол, Ferrari Electronics никогда не добавляла такую функцию. Протокол не предусматривает peer-to-peer обмен кэшем, только классическую схему запрос-ответ.
Какой софт меньше нагружает CPU слабого ресивера?
MGcamd — самый лёгкий: 5-15% CPU на DM800 при обычном просмотре. OScam с активным cacheex и несколькими readers — 20-40%. CCcam занимает 15-30%. На Vu+ Solo или DM800 с ограниченными ресурсами оптимальная схема: MGcamd как клиент непосредственно на ресивере, OScam как сервер на отдельном устройстве — роутере с OpenWrt или Raspberry Pi Zero W.
Поддерживает ли CCcam современные CAS типа Nagra Merlin?
Нет. Последняя версия CCcam 2.3.2 вышла в 2015 году и не получала обновлений. Nagra Merlin 2, Powervu и Tandberg не поддерживаются. Для этих CAS нужен OScam-emu — форк с расширенным emuhandler, который активно поддерживается сообществом. Если ваш пакет использует любой из этих CAS — CCcam не вариант.
Как проверить ECM time после настройки?
В OScam: откройте http://ip-ресивера:8888, перейдите во вкладку Status — колонка ECM Time показывает среднее значение по каждому reader. В CCcam: telnet на порт 16001, команда status. Норма — ниже 500мс, комфорт — ниже 300мс. Если стабильно выше 800мс — проблема либо в пинге до сервера, либо в перегрузке шары, либо в неправильном oscam.dvbapi.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.