Для тех кто ну совсем в танке, и не в курсе что такое replace.list, скажу что это файл в составе эмулятора mgcamd, который позволяет в разы увеличить скорость открытия каналов
Приступим: cнимаем лог mgcamd в момент включения канала (только не спрашивайте как это сделать), нас интересует следующий кусок
[ 07: 59:31.734 ] [mg3] service 283D index 3 pmt pid 0 (1)
[ 07: 59:31.739 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x0FA1 ProvID: 023700
[ 07: 59:31.741 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x0BB9 ProvID: 030600
[ 07: 59:31.750 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x07D1 ProvID: 040600
[ 07: 59:31.833 ] [mg3] No Viaccess key(s) found for id 23700 keynr 08
[ 07: 59:31.834 ] [mg3] -> ECM to newcamd xxxxxxxx.xxx:10000
[ 07: 59:31.964 ] [mg3] <- CW from newcamd xxxxxxxx.xxx:10000 (128ms)
[ 07: 59:31.965 ] [mg3] 128 msec -- Wed Nov 24 07: 59:31 2010
[ 07: 59:31.968 ] ===== Viaccess ECM on CaID 0x0500, pid 0x0fa1 ======
[ 07: 59:31.968 ] prov: 023700
[ 07: 59:31.969 ] cw0:3 EC 92 C9 47 80 5C 4D 29
[ 07: 59:31.969 ] cw1:3 E3 12 D7 CC 17 1A A3 D4
Итак: Как мы видим эмулятор определил три Идента:
[ 07: 59:31.739 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x0FA1 ProvID: 023700
[ 07: 59:31.741 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x0BB9 ProvID: 030600
[ 07: 59:31.750 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x07D1 ProvID: 040600
Но открыл только один:
[ 07: 59:31.968 ] ===== Viaccess ECM on CaID 0x0500, pid 0x0fa1 ======
[ 07: 59:31.968 ] prov: 023700
о чем свидетульствуют принятые ключи
[ 07: 59:31.969 ] cw0:3 EC 92 C9 47 80 5C 4D 29
[ 07: 59:31.969 ] cw1:3 E3 12 D7 CC 17 1A A3 D4
Итак у на есть все необходимые данные канала а именно:
ServiceID CaID CaPID ProvID | 283D 0x0500 0x0fa1 023700 |
ВАРИАНТ 1 (ignore mode)
В котором мы отучим эмулятор открывать ненужные иденты (на попытку открытия которых тратится драгоценное время)
А если быть совсем точным, то подменять ненужные данные нужными )) Именно для этого в составе mgcamd существует файл replace.list, записи в котором имеют следующий вид:
R: {{ ServiceID }{ CaID }{ ProvID }{ CaPID }{ CaID }{ ProvID }{ CaPID } }
Подчеркнутые - данные которыми надо заменить ненужные (соответственно неподчеркнутые)
А ненужных у нас всего две строчки:
[ 07: 59:31.741 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x0BB9 ProvID: 030600
[ 07: 59:31.750 ] [mg3] ECM: CaID: 0x0500 -> CaPID: 0x07D1 ProvID: 040600
В итоге получаем две строчки для Replace.list для канала НТВ пакета НТВ Плюс (так как именно с него снимался лог)
R: {{283D}{0500}{030600}{0BB9}{0500}{023700}{0fa1}}
R: {{283D}{0500}{040600}{07D1}{0500}{023700}{0fa1}}
ВАРИАНТ 2 (priority mode)
В котором мы объясним эмулятору какой из идентов надо опрашивать в первую очередь, не отключая при этом остальные иденты. И выглядит это так:
R: {{ ServiceID }{ CaID }{ ProvID }{ CaPID }{ 0 }{ 0 }{ 0 }}
при таком раскладе строка в Replace.list будет всего одна, и выглядеть она будет так:
R: {{283D}{0500}{023700}{0fa1}{ 0 }{ 0 }{ 0 }}
Вот такой вот замечательный файл, объеденяющий в себе функции ignore.list и priority.list причем для каждого отдельного канала !!!!
Думаю на этом тему с Replace.list можно считать освоеной ))
С Уважением Sweetlass