Автор Тема: Уроки WICARDD простым языком  (Прочитано 507 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Viktor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 194
Уроки WICARDD простым языком
« : 21 Апрель 2018, 17:18:49 »
Уроки WICARDD простым языком


Урок 1. Начало.

Публикую найденную на просторах интернета, небольшую инструкцию по написанию конфигурационного файла (далее "конфиг", файл - wicardd.conf) эмулятора Wicardd c нуля. Надеюсь многим это облегчит понимание чего, куда и как прописывать
В примерах будут указываться только минимально необходимый набор строк для полноценной работы в том или ином случае.

Начнем с минимального конфига. Он будет иметь всего пять строк:

[dvb]
type = AUTO

[reader]
type = newcamd525
account = user:password@server:port

при этом получаем полностью работоспособный эмулятор. Или вариант немного длиннее, но с мультипортом:

[dvb]
type = AUTO

[reader]
type = newcamd525
account = user:password@server
multiport = 8204,8206,8211,8216 и т.д.

Этот вариант дальше будем рассматривать как основной.
« Последнее редактирование: 21 Апрель 2018, 18:19:47 от Viktor »

Viktor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 194
Re: Уроки WICARDD простым языком
« Ответ #1 : 21 Апрель 2018, 18:18:04 »
Урок 2. Смотрим лог работы эмулятора.

В выше приведенных конфигах всю работу эмулятора мы можем наблюдать, если запустим его через телнет.

Но так смотреть не очень удобно, для этого придумали следующие варианты
  a)   выводить на консоль;
  b)   выводить в файл, который потом можно открыть текстовым редактором;
  c)   смотреть в online-режиме с помощью специальных программ (Wilog, TraySyslog и др.) или telnet;
  d)   через вэб-интерфейс.

Рассмотрим по очереди все варианты. Сначала добавляем в начало конфига секцию под названием [global], а затем дописываем в секции, работу которых хотим наблюдать, параметр debug.

Параметр debug может принимать следующие значения:
0 – выключено;
1 – включено с минимальным уровнем логирования (достаточно в 99% случаев);
3 – детальный лог(ставим только тогда, когда предыдущий вариант не дает      достаточно информации).

Для первого варианта вывода лога наш конфиг примет вид:

Цитировать
[global]
debug = 1   

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
debug = 1
multiport = 8204,8206,8211,8216

Для второго варианта добавим еще одну строку:
log = /tmp/wicardd.log
где /tmp/wicardd.log – имя лог-файла и полный путь к нему.

Теперь весь  конфиг примет вид:

Цитировать
[global]
debug = 1
log = /tmp/wicardd.log   

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 8204,8206,8211,8216
debug = 1


Для третьего варианта добавим другую строку:
log_udp = hostname:port
где hostname  - сетевой адрес, а  port – порт на который выводить лог. При отсутствии параметра port, используется порт по умолчанию 514.

Новый вид нашего конфига:

Цитировать
[global]
debug = 1
log_udp = 192.168.1.5 или    log_udp = 192.168.1.5:514

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 8204,8206,8211,8216
debug = 1

Для использования просмотра через вэб-интерфейс необходимо добавить еще одну секцию в конфиг:

Цитировать
[webif]
port = 8888
debug = 1

где port - порт HTTP сервера
а debug - уровень логирования (рассмотрено выше)

а в секцию [global] строку:

Цитировать
log_rb_size = 20 #размер кольцевого буфера в стоках, задается для хранения лога с последующим отображением в WEB интрефейсе

Теперь конфиг примет вид:

Цитировать
[global]
debug = 1   
log_rb_size = 20

[webif]
port = 8888
debug = 1

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 8204,8206,8211,8216

Все варианты просмотра лога можно совмещать вместе. Я предпочитаю смотреть его через вэб-интерфейс (в браузере)
Подробная в картинках инструкция настройки просмотра лога через вэб-интерфейс (браузер) есть по ссылке: http://clubtv.info/index.php?topic=290.0

Для управления секциями (активна или выключена в данный момент) существует парамер active со значениями 0 и 1, где
0 – секция отлючена
1 – секция активна (значение по умолчанию)

Viktor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 194
Re: Уроки WICARDD простым языком
« Ответ #2 : 21 Апрель 2018, 19:07:00 »
Урок 3 Добавляем фильтрацию.

Фильтрация по параметрам caid,  ident, chid, sid ускорит процесс открывания каналов, а во многих случаях, при наличии нескольких caid и ident на одном канале, позволит избежать ложных запросов.
Для этого добавляем секцию с именем [filter], а в секции [dvb] делаем ссылку на этот фильтр.

Допустим у нас есть пакеты каналов со следующими параметрами:

caid: ident
0AAA:000000   
0BBB: 111111
0CCC:222222
0DDD:333333

и сервер (server1), который открывает их по портам 8204,8206,8211,8216 соответственно.
 
Новый вид нашего конфига:

Цитировать
[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0AAA;ident=0;accept
rule = caid=0BBB;ident=111111;accept
rule = caid=0CCC;ident=222222;accept
rule = caid=0DDD;ident=333333;accept
rule = reject


[reader]
type = newcamd525
account = user1:password1@server1
multiport = 8204,8206,8211,8216
debug = 1

где параметр accept разрешает обработку каналов с перечисленными параметрами, а правило rule = reject запрещает все остальные.

Я предпочитаю более сложный вариант, где указывается конкретно какой канал, с какими параметрами и каким ридером обрабатывать. Для этого в секции [filter] указывается прямая ссылка на необходимый ридер, а самому ридеру необходимо дать произвольное имя с помощью параметра name.

Новый вид нашего конфига:

Цитировать
[global]
debug = 1
log_udp = 192.168.1.5   

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0AAA;ident=0;accept=Fullshara8204
rule = caid=0BBB;ident=111111;accept=Fullshara8206
rule = caid=0CCC;ident=222222;accept=Fullshara8211
rule = caid=0DDD;ident=333333;accept=Fullshara8216
rule = reject


[reader]
name = Fullshara
type = newcamd525
account = user1:password1@server1
multiport = 8204,8206,8211,8216
debug = 1

Как видим адрес ссылки образуется слиянием двух параметров: имени сервера и номера необходимого порта. Пробелов быть не должно.
Этот вариант конфига является самым оптимальным для работы.

Viktor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 194
Re: Уроки WICARDD простым языком
« Ответ #3 : 21 Апрель 2018, 19:39:26 »
Урок 4 Добавляем обработку каналов со статичесткими ключами.

Для обработки каналов со статичесткими ключами добавляем еще один ридер

Цитировать
[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key

где /usr/keys/SoftCam.Key имя файла с ключами и полный путь к нему.
В секции [filter] добавляем строку, разрешающую обработку этих каналов.

Цитировать
rule = caid=0D00,2600;accept=EMU

Наш конфиг после очередного пополнения примет вид:

Цитировать
[global]
debug = 1
log_udp = 192.168.1.5   

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0D00,2600;accept=EMU
rule = caid=0AAA;ident=0;accept=Fullshara8204
rule = caid=0BBB;ident=111111;accept=Fullshara8206
rule = caid=0CCC;ident=222222;accept=Fullshara8211
rule = caid=0DDD;ident=333333;accept=Fullshara8216
rule = reject

[reader]
name = Fullshara
type = newcamd525
account = user1:password1@server1
multiport = 8204,8206,8211,8216
debug = 1

[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key