replace.list для mgcamd

Автор Admin, 08 марта 2013, 16:48:35

« назад - далее »

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

Admin

Использование replace.list для упорядочивания PIDов (альтернатива priority.list + ignore.list)

Итак, классика жанра, (сами знаете какой) пакет каналов где используются три разных провайдера Viaccess: 023700, 020710 и 030600.
Для одной части каналов нужен один провайдер на первом месте, для другой части каналов - другой, а для HD - третий. Если просто вписать их в priority.list (как это часто советуют на форумах), то хорошо будет только одной из этих трех частей каналов. Две же других части будут напарываться каждый раз на ненужный PID, а одна из трех частей (самая невезучая) будет напарываться на целых 2 ненужных PIDa. Запретить провайдеров с помощью ignore.list тоже нельзя, тогда просто перестанет открываться часть каналов. Вот тут и приходит на помощь replace.list! Включим для примера HD канал (без ignore.list и без priority.list) и увидим в логе такое (все данные, которые нам потребуются для создания replace.list выделены):

[mg0] stoping camd..
[mg0] service 2F47 index 0 pmt pid 0 (45)
ECM: CaID: 0x0500 -> CaPID: 0x0FA3 ProvID: 023700
ECM: CaID: 0x0500 -> CaPID: 0x0BBB ProvID: 030600
[mg1] service 2F47 already started with index 0
[mg1] service 2F47 index 1 pmt pid 0 (46)
[mg0] No viaccess key(s) found for id 23700 keynr 08
[mg0] -> ECM to newcamd server1.com:1234
[mg0] network can\'t decode
[mg0] pid 0x0FA3 failed to decode.
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (174ms)
[mg0] 174 msec -- Wed Jun 10 01:13:31 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0bbb ====== <- смотрим здесь каким PIDом открывается канал
prov: 030600
cw0:0 00 00 7E 7E 0F 83 29 BB
cw1:0 C7 9C 0F 72 07 E0 00 E7

Видно, что первым попадается провайдер 023700, который не работает (идет запрос на сервер, но он нас посылает подальше).
Видно, что в конце концов канал открывается по PIDу 0BBB, у которого карта=0500 и провайдер=030600.
Создаем новый файл replace.list и пишем в него следующее:

R:{{2F47}{0500}{023700}{0FA3}{0500}{030600}{0BBB}}

Что это значит? Это значит, что мы предписываем mgcamd следующее:

Для канала, у которого Service ID (или SID) = 2F47, поменяй PID с параметрами CaID=0500, ProvID=023700 и CaPID=0FA3 на PID, с параметрами CaID=0500, ProvID=030600 и CaPID=0BBB.
Что получается при перезапуске mgcamd? А вот что:

[mg0] stoping camd..
[mg0] service 2F47 index 0 pmt pid 0 (45)
ECM: CaID: 0x0500 -> CaPID: 0x0BBB ProvID: 030600
[mg1] service 2F47 already started with index 0
[mg1] service 2F47 index 1 pmt pid 0 (46)
[mg0] -> ECM to newcamd server1.com:1234
[mg0] <- CW from newcamd server1.com:1234 (174ms)
[mg0] 174 msec -- Wed Jun 10 01:15:31 2009
===== Viaccess ECM on CaID 0x0500, pid 0x0bbb ======
prov: 030600
cw0:0 78 03 FF 7A 67 98 00 FF
сw1:0 DF 33 18 2A 19 3E 1F 76

Одной строчкой в replace.list мы сделали сразу две вещи:
1) убили ненужный PID
2) превратили убитый PID в правильный, который работает

Только нужно помнить, что это мы сделали для одного единственного канала! У каждого канала на отдельно взятом транспондере всегда свой уникальный service ID (SID). Поэтому, для полного счастья поступаем таким же образом для остальных HD каналов, открывающихся по провайдеру 030600, и получаем вот что в replace.list для пяти каналов:

R:{{2F45}{0500}{023700}{0FA1}{0500}{030600}{0BB9}}
R:{{2F46}{0500}{023700}{0FA2}{0500}{030600}{0BBA}}
R:{{2F47}{0500}{023700}{0FA3}{0500 }{030600}{0BBB}}
R:{{2F48}{0500}{023700}{0FA4}{0500}{030600}{0BBC}}
R:{{2F49}{0500}{023700}{0FA5}{0500}{030600}{0BBD}}

Теперь для этих пяти каналов будет совершенно не важно, что вы напишете в priority.list, ведь мы практически создали \"локальный\" ignore и priority специально для этих каналов, в результате чего всегда будет оставаться только один нужный PID.
Homo sum, humani nihil a me alienum puto
MikroTik hAP ax3
Vu+Solo 4k, 90W-90E
.onn Android TV 4K UHD, iptv, m3u8

Admin

Приятного всем просмотра и быстрого переключения.
Homo sum, humani nihil a me alienum puto
MikroTik hAP ax3
Vu+Solo 4k, 90W-90E
.onn Android TV 4K UHD, iptv, m3u8