Мультирум кардшаринг: настройка CCcam/OScam 2026
Мультирум кардшаринг — это когда один сервер с одной картой или одной купленной линией раздаёт расшифровку на несколько ресиверов в доме. Не два отдельных аккаунта, не две карты — один источник, несколько получателей. Звучит просто, но на практике возникает куча нюансов: фризы при одновременном просмотре, конфликты транспондеров, неправильно выставленные хопы. Разберём по порядку.
Что такое мультирум в кардшаринге и как он работает
Суть схемы: один ресивер или мини-ПК работает как сервер OScam или CCcam. Он держит подключение к источнику — либо физическая смарт-карта в слоте ридера, либо внешняя линия от провайдера по протоколу CCcam/newcamd. Остальные ресиверы в локальной сети подключаются к этому серверу как клиенты и получают от него DCW (Decryption Control Word) — собственно, ключи для расшифровки картинки.
Принцип раздачи одной линии на несколько ресиверов
Каждый ресивер, когда переключает канал, отправляет серверу ECM-запрос (Entitlement Control Message). Сервер передаёт этот запрос карте или внешней линии, получает в ответ DCW и отдаёт его клиенту. Карта физически может обрабатывать запросы только последовательно — в среднем одна декодировка занимает 100–400 мс в зависимости от карты и провайдера.
Пока два ресивера смотрят один и тот же транспондер — проблем нет: OScam кэширует ответ и отдаёт его обоим без повторного запроса к карте. Но если ресивер A смотрит один мультиплекс, а ресивер B — другой, запросы идут параллельно, и карта начинает их обрабатывать в очередь. Отсюда и фризы.
Локальный сервер как точка распределения ECM/EMM
Помимо ECM, карта получает EMM (Entitlement Management Message) — служебные пакеты, которые обновляют права доступа и ключи на самой карте. Это происходит в фоне, и серверу нужно правильно пробрасывать EMM именно к той карте, которой они предназначены. В OScam это настраивается через параметр emmcache в секции [reader] файла oscam.server.
Чем мультирум отличается от нескольких отдельных линий
При мультируме вы платите за одну линию и управляете одним сервером. Обновление EMM, смена пароля, фильтрация каналов — всё в одном месте. Минус один: нагрузка идёт на одну карту. При нескольких отдельных линиях каждый ресивер независим, но платить нужно за каждое подключение отдельно, и EMM идёт к каждой карте своим путём.
Настройка сервера OScam для мультирума
OScam — более гибкий вариант по сравнению с CCcam, особенно для мультирума. Файлы конфигурации лежат в /etc/tuxbox/config/oscam/ на Enigma2-боксах (OpenATV, OpenPLi) или в /var/keys/ на старых прошивках. На ПК с Linux — обычно /etc/oscam/. Три основных файла, которые нас интересуют: oscam.server, oscam.user, oscam.conf.
Конфигурация reader в oscam.server
Для локальной карты в слоте ресивера секция reader выглядит так:
[reader]
label = local_card
protocol = internal
device = /dev/sci0
caid = 1830
group = 1
emmcache = 1,3,2
Если источник — внешняя линия по CCcam:
[reader]
label = upstream_line
protocol = cccam
device = provider.host,12000
user = myuser
password = mypass
caid = 1830
group = 1
inactivitytimeout = 30
Параметр device = /dev/sci0 — первый слот карты. На некоторых прошивках это /dev/sci1, если первый слот занят под CI-модуль. Проверьте вывод ls /dev/sci* перед настройкой.
Настройка профилей клиентов в oscam.user
На каждый ресивер-клиент создаётся отдельный пользователь в oscam.user. Это позволяет фильтровать доступные каналы и отслеживать кто что смотрит в логах.
[account]
user = receiver_living
pwd = pass1
group = 1
caid = 1830
au = local_card
[account]
user = receiver_bedroom
pwd = pass2
group = 1
caid = 1830
au = local_card
Параметр au = local_card привязывает обновление EMM к конкретному ридеру. Если хотите ограничить доступ ресивера к определённым каналам — добавьте ident = 1830:000000 с нужным провайдер-идентификатором.
Открытие портов в oscam.conf (newcamd и cccam)
В oscam.conf нужно объявить, на каких портах сервер принимает клиентов:
[newcamd]
port = 15000@1830:000000
[cccam]
port = 12000
[webif]
httpport = 8888
httpuser = admin
httppwd = secret
Для newcamd нужен ещё DES-ключ — 14 байт, прописывается в строке подключения на клиентском ресивере. Для домашнего мультирума CCcam-порт 12000 проще в настройке: ключ не нужен, только логин/пароль.
Параметры cccam.cfg для раздачи на ресиверы
Два параметра, которые реально влияют на мультирум в OScam в режиме CCcam-сервера: cccmaxhops и cccreshare. Для домашней сети ставьте:
cccmaxhops = 1
cccreshare = 0
cccreshare = 0 означает, что клиенты не могут раздавать линию дальше. Если поставить 1 — ресивер теоретически сможет стать промежуточным сервером, что для дома бессмысленно и создаёт лишнюю нагрузку.
Настройка сервера CCcam для мультирума
CCcam как сервер — более старый подход, но до сих пор встречается на многих боксах, особенно на Dreambox DM800 и клонах. Конфиг лежит в /var/etc/CCcam.cfg. Логика та же: сервер получает карту или линию, клиенты подключаются через C-line.
Строки F-line для каждого клиентского ресивера
F-line — это аккаунт, который сервер выдаёт клиенту. Формат:
F: user_living pass_living 1 0 0 { 0:0:2 }
F: user_bedroom pass_bedroom 1 0 0 { 0:0:2 }
F: user_kitchen pass_kitchen 1 0 0 { 0:0:2 }
Первое число после пароля — uphops (сколько хопов вверх клиент может видеть), второе — downhops (сколько уровней вниз может раздавать), третье — reshare. Для домашнего мультирума: 1 0 0. Единица в uphops означает, что клиент видит карты сервера напрямую.
Фигурные скобки { 0:0:2 } — фильтр по CAID:ProviderID:Hops. 0:0:2 означает все CAID, все провайдеры, максимум 2 хопа. Если хотите ограничить клиент конкретным пакетом — замените на { 1830:000000:1 }.
Параметры C-line на ресиверах-клиентах
На каждом ресивере-клиенте в его /var/etc/CCcam.cfg (или в настройках плагина CCcam) прописывается C-line:
C: 192.168.1.100 12000 user_living pass_living
IP — адрес вашего сервера в локальной сети. Статический IP для сервера обязателен — либо задаёте вручную, либо резервируете адрес в DHCP-сервере роутера по MAC-адресу. Если адрес плавает, половина ресиверов будет периодически терять соединение.
Управление reshare и hops для локальной сети
Для мультирума внутри дома это правило простое: все reshare и downhops ставить в 0. Зачем? Если ресивер в спальне случайно становится ретранслятором, вы получаете непредсказуемые задержки и сложнее диагностировать проблемы. Топология должна быть звёздой: сервер в центре, все ресиверы напрямую к нему.
Параметр ALLOW OSCAM CACHE PUSH в CCcam.cfg — можно включить, если OScam крутится параллельно и вы хотите использовать кэш между ними. Но это уже гибридная схема, которую разберём ниже.
Решение типичных проблем мультирума
Вот где большинство статей заканчиваются и начинаются реальные проблемы. Мультирум кардшаринг на практике работает не идеально с дефолтными настройками, и понять почему именно фризит — половина решения.
Фризы и рассыпание картинки при одновременном просмотре
Причина почти всегда одна: два ресивера смотрят каналы на разных транспондерах, и карта не успевает обрабатывать оба потока ECM-запросов. Один ECM обрабатывается ~200 мс, второй ждёт в очереди, и если таймаут на ресивере жёсткий — он падает с ошибкой.
Решение — кэш. В OScam это настраивается в oscam.conf:
[cache]
cachedelay = 0
cacheexreader = 1
И в секции [reader] для локальной карты:
emmcache = 1,3,2
Внутренний кэш OScam хранит ответы DCW для уже декодированных ECM. Если второй ресивер запрашивает тот же ECM — ответ отдаётся из кэша мгновенно, без обращения к карте. Это работает, пока оба ресивера на одном транспондере.
Если транспондеры разные — добавляем lb_mode = 1 в oscam.conf, чтобы балансировщик нагрузки распределял запросы между доступными ридерами. Плюс увеличиваем таймаут: ecmwhitelist = 1830:500 (500 мс для CAID 1830).
Ошибка «card not found» на одном из ресиверов
Классика. Один ресивер декодирует нормально, второй выдаёт «не найдена карта» или «no entitlement». Первым делом смотрим веб-интерфейс OScam на порту 8888 → вкладка Users. Там видно, какие клиенты подключены и статус их запросов.
Частая причина: пользователь в oscam.user не привязан к нужной группе, а reader настроен на другую группу. Проверьте, что group = у пользователя и у ридера совпадают. Ещё вариант — CAID-фильтр в профиле пользователя исключает нужный пакет.
Смотреть лог: tail -f /tmp/oscam.log или через веб-интерфейс → Logs. Ищите строки с именем проблемного пользователя и статусом CACHE NOT FOUND или NO CARD.
Долгое переключение каналов (zapping)
Если переключение канала занимает 3–8 секунд вместо нормальных 1–2, скорее всего дело в lb_mode и в ecm timeout. OScam по умолчанию пробует все доступные ридеры по очереди, прежде чем сдаться.
Поможет явное указание приоритетов ридера в oscam.user:
preferlocalcards = 1
И в oscam.conf:
lb_mode = 1
lb_save = 500
ecmnotfoundlimit = 6
Параметр preferlocalcards = 1 говорит серверу сначала пробовать локальную карту, и только при неудаче — внешние ридеры. Для мультирума с одной картой это ускоряет зэппинг заметно.
Конфликт групп caid и фильтрация каналов
Гибридная схема — часть каналов с локальной карты, часть с внешней линии — требует аккуратной настройки групп. Иначе OScam будет гонять ECM сначала к локальной карте, получать отказ, потом к внешней линии — и это удваивает время ответа.
Правильно: разным CAID назначить разные группы, и в профилях пользователей явно указать, какая группа для какого клиента.
# oscam.server — локальная карта
[reader]
label = local_card
group = 1
caid = 1830
[reader]
label = external_line
group = 2
caid = 0960
# oscam.user — гостиная получает оба пакета
[account]
user = receiver_living
group = 1,2
# oscam.user — спальня только локальный пакет
[account]
user = receiver_bedroom
group = 1
Так ресивер в спальне никогда не будет пытаться достучаться до внешней линии, а значит и ненужных задержек не будет.
HD-каналы и быстрая ротация ключей
Это отдельная боль мультирума, о которой почти не пишут. Некоторые HD-пакеты меняют ECM каждые 6–10 секунд вместо обычных 20–30. При трёх ресиверах, смотрящих такие каналы, карта получает поток запросов, который буквально не успевает обработать.
Признак: фризы именно на HD каналах, на SD всё нормально. Решение — включить cacheex в режиме 3 (passthrough + push) и при наличии нескольких ридеров правильно настроить их приоритеты через lb_weight. Если карта физически упирается в потолок — единственный честный выход это вторая карта или вторая линия для нагруженных ресиверов.
NAT и файрвол: типичные ловушки
Роутеры с агрессивным файрволом (особенно роутеры от некоторых провайдеров с прошитыми правилами) могут блокировать трафик между устройствами внутри LAN. Проверьте, что порт 12000 (CCcam) и 15000 (newcamd) открыты в правилах файрвола роутера для трафика LAN→LAN.
Быстрая проверка с ресивера-клиента: telnet 192.168.1.100 12000. Если соединение устанавливается — порт открыт. Если «connection refused» — смотрите файрвол сервера (iptables -L) и роутер.
Как выбрать линию/провайдера под мультирум (критерии)
Покупая внешнюю линию для мультирума кардшаринг, нужно уточнить несколько конкретных вещей — иначе потом выяснится, что линия формально работает, но не под нагрузкой.
Поддержка достаточного числа коннектов (downhops)
Спрашивайте напрямую: сколько одновременных ECM-сессий поддерживает линия? Некоторые линии ограничены одним коннектом жёстко — и при мультируме второй ресивер просто получает отказ. Для домашнего мультирума нужно минимум 2 одновременных сессии, комфортно — 4.
Если продавец не знает или уклоняется от ответа на этот конкретный вопрос — это плохой знак. Нормальный провайдер сразу скажет лимит.
Стабильность и пинг до сервера
Для мультирума пинг важнее, чем для одного ресивера. Если ECM идёт по цепочке: ваш сервер → внешняя линия → карта провайдера → обратно, и это занимает 800 мс — при трёх ресиверах в очереди первый получит ответ через 800 мс, второй через 1.6 с, третий через 2.4 с. Это гарантированные фризы.
Нормальный пинг до сервера провайдера — до 50 мс. Всё выше 100 мс при мультируме будет давать проблемы на нагруженных транспондерах. Просите тестовый период и гоняйте ping в реальных условиях, а не в 3 часа ночи.
Разрешённое количество одновременных подключений
Это не то же самое, что число коннектов выше. Некоторые провайдеры считают каждый ресивер как отдельное «подключение» и ограничивают их число лицензионно. Уточняйте: «я подключаю один OScam сервер, который раздаёт на 3 ресивера — это считается как 1 подключение или 3?»
Если считается как 3 — за мультирум придётся доплачивать, или использовать режим, где внешний провайдер видит только один коннект от вашего OScam, а внутреннее распределение — ваше дело. Именно так и должен работать правильный мультирум кардшаринг: провайдер видит один клиент, внутри дома — сколько угодно.
Сколько ресиверов можно подключить к одному мультирум-серверу?
Зависит от карты и от того, насколько часто ресиверы смотрят каналы на одном транспондере. Практически — 2-4 ресивера при включённом кэше OScam и разумном совпадении транспондеров. При 5+ ресиверах и разных каналах карта начинает не справляться, и нужна либо вторая карта, либо внешняя линия в помощь.
Почему при просмотре на двух ресиверах одновременно картинка рассыпается?
Карта обрабатывает ECM последовательно. Если оба ресивера на разных транспондерах — запросы идут в очередь, и второй клиент получает ответ с задержкой. Решение: включить кэш OScam, поднять ecm_timeout до 3-4 секунд, проверить lb_mode = 1. Если оба ресивера на одном транспондере — проблемы обычно нет, кэш отдаёт второму ответ мгновенно.
Какой порт использовать для раздачи на ресиверы — newcamd или cccam?
Для домашнего мультирума удобнее CCcam на порту 12000 — проще настраивается, не требует DES-ключа, хорошо поддерживается всеми современными прошивками. Newcamd (порт 15000) требует прописывать 14-байтный ключ на каждом клиенте — больше мороки, но подходит для гибридных схем, когда один ресивер на старой прошивке не поддерживает CCcam-протокол нужной версии. Можно открыть оба порта в oscam.conf и использовать то, что удобнее для каждого ресивера.
Чем мультирум лучше отдельной линии на каждый телевизор?
Экономия очевидна: платите за одну линию, а не за три. Плюс — единая точка управления: обновление EMM идёт на одну карту, если провайдер меняет условия — перенастраиваете один сервер. Минус: все ресиверы зависят от одного источника. Если карта или линия упала — всё упало сразу. При отдельных линиях риск распределён.
Как ограничить, чтобы клиент видел только нужные каналы?
В OScam через параметры group и caid/ident в oscam.user: каждому пользователю назначается группа, которая соответствует только нужному ридеру и пакету. В CCcam — через фильтр в F-line: { 1830:000000:1 } ограничивает клиента конкретным CAID и провайдером. Так детский ресивер в комнате не получит доступ к пакетам для взрослых, даже если карта их декодирует.
Можно ли сделать мультирум на одном ресивере как сервере без отдельного ПК?
Да, это стандартная схема на Enigma2-боксах. Ресивер запускает OScam, читает карту через /dev/sci0 и одновременно сам подключается к нему как клиент. Остальные ресиверы в сети подключаются C-line к IP этого бокса. Работает устойчиво на Dreambox, VU+, Gigablue. Единственное ограничение — если сервер-ресивер перезагрузится, все клиенты теряют соединение до его подъёма.