пытаюсь заставить ведро работать с каналами с одинаковыми пидами на разных транспондерах, коих навалом на 80Е, и у меня в iptv
сделал что при старте когда ведро парсит каналы на пердмет одинаковых пидов, если транспондеры разные то канал не удаляется а рид увеличивается на 1
осталось сделать чтобы при сканировании каналы добавлялись
Некорректные (одинаковые) пиды
- ua0lnj
- Вопрос темы решён
-
-
кажется сделал то что хотел
теперь одинаковые пиды проверяются с учетом транспондера
если найдены одинаковые пиды на одном транспондере, канал удаляется как дубликат
если найдены одинаковые пиды, а транспондеры разные, то увеличивается рид на 1 для обеспечения уникальностипри сканировании рилчанелсканом происходит примерно тоже
если новый канал содержит пиды, уже имеющиеся в базе каналов, но при этом в базе прописан другой транспондер, канал добавляется в базу
если транспондер такой же, то канал не считается новымя протестил на эспрессе ам2 80е, и у себя с айпи тв провайдером - куча каналов с разными айпи адресами и одинаковыми пидами
патчи я сделал для ведра 1.5.12, пропатченного для айпитв и не пропатченного, и рилчанелскана 0.4.1(оригинальной версии)
-
извиняюсь, косячок сделал, не полный патч выложил
кто сливал, скачайте сновакстати налаживается на последний патч для н264, правда с одним неизлечимым фейком в nit.c, но кажется можно не патчить этот файл, потому что н264 патч меняет его структуру
-
а ты не пробовал бороться с одинаковыми пидами с помощью RID - Radio ID в channels.conf
Format:
Name:FREQUENCY:Source:Srate:VPID:APID:TPID:CA:SID:NID:TID:RID
Name - Name of channel
FREQ - Frequenz
PARAM - H,V?
Source - satelite
SRate - Symbol rate
VPID - VideoPid
APID - AudioPid
TPID - VideotextPid
CA - Conditional Access
SID - Service ID
NID - Network ID
TID - Network ID ( currently unused, for the Future)
RID - Radio IDRID
The Radio ID of this channel (typically 0, may be used to distinguish channels where
NID, TID and SID are all equal). -
так он так и делает
Цитата
если найдены одинаковые пиды на одном транспондере, канал удаляется как дубликат
если найдены одинаковые пиды, а транспондеры разные, то увеличивается рид на 1 для обеспечения уникальности -
Цитата
Со слов пользователя free-x
так он так и делаета зачем удалять ? что будет, если прописать уникальные RID для всех каналов, имеющих одинаковые пиды на этом транспондере ?
-
А ЗАЧЕМ НУЖНЫ ОДИНАКОВЫЕ КАНАЛЫ НА ТОМ ЖЕ ТРАНСПОНДЕРЕ? ?.
-
сами каналы могут быть и разные, но иметь одни и те же sid, nid, tid. Но я только что посмотрел на Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. - нет там таких примеров, так что вопрос снимаю.
-
на одном и том же транспондере по самой дефиниции не может быть 2 каналов с одинаковым sid. А вот за одинаковые sid-nid-tid на разных транспондерах надо сразу убивать на месте из рогатки
-
у меня на текущий момент 2 спутника, абс1 и ам2, и айпи тв у интернет провайдера
во всех этих источниках есть каналы с одинаковыми пидами, причем на абс1 это не российские провайдеры, в самом низу ку диапазона там 2-3 арабских канала, с одинаковыми пидами
про ам2 вообще молчу, хотя за 2007 год ситуация несколько улучшилась, но не полностью
еще возможно с неправильными пидами появляются всякие фиды, а знаете ли вручную править чанел конф тоже несколько достает, особенно парсить его на поиск одинаковых пидов -
нашел некоторые проблемы после патча н264, и еще косячок один
уже разобрался, после тестов выложу результат -
для ведра 1.6.0
убрал использование и перенумерацию ридов, поскольку Клаус это не одобрил
в аттаче 4 версии, для голого ведра, для ведра + айпитв, для ведра с патчем 1.5.18-н264 без двб-с2, и для н264+айпитв, тоже без двб-с2для двб-с2 версию сделаю после выхода 1.7.х, хотя этот патч тоже должен наложиться
вообще есть идея сделать удаление неактуальных каналов при включенном обновлении транспондера, потому как вручную это делать тоже не удобно
-
весьма пользительная анти-фича для тех кто смотрит не только Астру19 )))
хи - только я было собрался погрызть код вдр чтоб отключить нафиг удаление
как бы дублированных каналов из списка channels.conf как оказалось что ты все сделал )))только проясни что происходит по этому патчу с точки зрения пользователя?
то есть возможно использование в разных местах списка одинаковых записей?и если не сложно - напиши несколько слов что делает измененный код с точки зрения
кодера (просмотрел код и если честно не совмем понял основную идею) - я б может в
CRCS перенял бы идею - или после этого патча это уже не нужно и все найденные каналы
будут прописаны в channels.conf? даже те что уже есть в списке?у меня была такая идея - найти кусок кода вдр который обнаруживает что запись дублирована и
удаляет эту запись и просто эту часть обходить - скажем если в сетапе это указано - думал
добавить строку установки - "удалять дублирующие записи в channels.conf" -
прочитай весь этот топик
твой црцс я тоже пропатчил S.
гдето я писал об этом кстатисуть простая, когда ведро парсит список каналов на дубли то проверяется еще совпадение транспондера, если пиды одинаковые а транспондеры разные то ничего не делается, т.е. не считается за дубли
кстати я выкладывал патч для рилчанелскана, он актуален тожев основном это добавление функции Transponder()
-
нет похоже что црцс я все же не патчил, тока рилчанелскан
это замена функции
cChannel *channel = Channels.GetByChannelID(tChannelID(Source(), sdt.getOriginalNetworkId(), sdt.getTransportStreamId(), SiSdtService.g
etServiceId()));на
cChannel *channel = Channels.GetByServiceID(Source(), Transponder(), SiSdtService.getServiceId());
иначе нет привязки к транспондеру, и происходит перезапись
-
все - врубился - то есть проверяется лишь дубли и по nit-tid-sid и по параметрам
транспондера .... то есть всеж нельзя прописать в разных местах списка
полностью одинаковые каналы?
хм .... я то хотел именно такой вариант - пусть бы даже наличие совпадающих до точки
каналы возможны в списке - например у меня есть в основном списке канал - я сканирую и
добавляются ВСЕ каналы (даже тот что уже есть выше по списку) с этого транспондера ....для этого варианта напрашивается всеж полна блокировка вдр фичи проверки на уникальность
канала .... -
можно полностью убрать проверку на дубли, не вопрос
в channels.c, посмотри в моем патче, есть функция которая парсит каналы при старте ведра void cChannels::DeleteDuplicateChannels(void)
в ней можно отрубить это
еще в nit.c и sdt.c, но если в меню вырубить обновление, то их трогать не нужно, я так понимаювообще я хочу сделать удаление каналов которых уже нет на транспондере, можно попробовать завести опцию в меню, или привязать к той что уже есть, например если выключено обновление каналов то дубли не удаляются вообще
наверно я так и сделаю -
простейший патч vdr-1.5.12-nodeldubchan.diff блокирующий удаление дублированных каналов
в channels.conf - эта анти-фича работает только при запуске вдр!!кладем патч в директорию с сырцами вдр проверяем наложение и патчим и пересобираем вдр
Исходный код# patch -p1 --dry-run < vdr-1.5.12-nodeldubchan.diff # patch -p1 < vdr-1.5.12-nodeldubchan.diff # make clean # make
кладем новый вдр туда куда надо )))
после первого запуска вновь собранного вдр в setup.conf появляется строкаинтерфейс пользователя = ручками прописываем в setup.conf
DelDubChan = 1 - все по старому - дублирующие каналы при запуске вдр удаляются
DelDubChan = 0 - при старте вдр дублирующие каналы не удаляютсятаким образом удается держать в разных местах channels.conf полностью дублирующих
записей- скажем один и тот же канал можно записать в разные группы ...Исходный код: Group 1 1TVRUS Europe;Globecast:12597:VC34M2S0Z0:S13.0E:27500:167:108:0:0:8208:318:9400:0 : Group 2 1TVRUS Europe;Globecast:12597:VC34M2S0Z0:S13.0E:27500:167:108:0:0:8208:318:9400:0
к сожалению каким образом подавить паранойю вдр по созданию дублирующих записей
в процессе работы вдр - пока не знаю .... в данном патче блокируются только функция
DeleteDuplicateChannels() вызываемая в функции cChannels::Load которая в свою очередь
запускается только при старте вдр ... -
новый вариант патчика подавляющего фичу вдр по удалению
дублирующих каналов - в довесок к подавлению удаления дублирующих
каналов при запуске вдр добавлена блокировка создания дублирующих каналов
из меню вдр "Каналы->Добавить" -
обновленный патч, включает 4 версии, по названию понятно какие, БЕЗ dvb-s2
инклуде патч от Куража
фичи:в меню в настройках ДВБ можно выбрать удалять дубли или нет, причем если выбрать удаление дублей, то сохраняется работа с повторяющимися пидами в режиме обновления, без использования rid
при выборе обновления каналов и транспондеров появляется новая опция - удалять отсутствующие каналы, т.е. состояние каналов становиться полностью актуальное
естественно что если транспондер пропал полностью то ничего не удалится, т.е. временно отсутствующие транспондеры не удалятся