22 ноября | 2024г. | 02:55:20


АвторТема: EPG для Neutrino  (Прочитано 96267 раз)

0 Пользователей и 2 Гостей смотрят эту тему.

Оффлайн OlehRАвтор темы

  • Младший Джедай
  • **
  • Сообщений: 130
  • Поблагодарили: 28
  • Уважение: 0
EPG для Neutrino
« Первое сообщение: 07 апреля | 2014г. | 23:19:50 »
0
Есть хорошая новость для тех кто ждал  EPG для нейтрины.
Этим проектом занялись сразу 2 человека: я и  Benny

Сдесь готовые скрипты от Benny EPG для Neutrino

Очередное обновление от Benny.
Теперь загружаются в память ресивера только ''нужные" каналы


Мы подошли разными путями.
Как по мне вариант от  Benny лучше. Особенно если договориться с админами  linux-sat.tv чтоб они генерировали файлы вместе с файлами для енигмы.

Так как мой вариант менее предпочтителен прячу его.
Спойлер   :
Останется доделать плагин который будет делать index.xml только для нужных каналов.

Мой вариант писался с целью получить быстрый старт.
Писал алгоритм таким образом, чтоб по-минимуму использовать память, с прицелом переписать на С под ресивер.
Но если прокатит вариант Benny  + linux-sat то мой вариант будет не нужен.


Тестовый вариант файлов для нейтрины.
epg.7z - обрезанный моим буклетом
epg_full.7z
Возможно есть проблема со смещением +2 или +3 часа. Не на чем проверить.
Проверьте отпишитесь - поправлю.
Полный слишком тяжёлый.
Еще не прикрутил укр/рус

Система записивает файлы только при виключении\перегрузке ресивера.
И читает их при включении.
Перегрузка интерфеса Нейтрины не дает желательного ефекта.

Единственный способ который я нашёл прикрутить эти файлы:

1) Выключить нейтрину.
2) Взять винт\флешку стереть полностью все файлы с епг и забросить с прицепа.
3) Подключить винт\флешку к ресиверу.
4) Включить ресивер.


У кого есть желание и время поиграйтесь с  sectionsdcontrol
EPG для Neutrino
У меня сходу не получилось.

Можно поиграться со скриптом во время загрузки.
Писать в какой то каталог и при загрузке перемещать файлы с него.
Кто шарит сделайте.

P.S. буду поддерживать первый пост.
Исходники на C# наведу порядок - тоже выставлю в первом посту.
Постараюсь реагировать на пожелания, но должен вернуться к работе. Прошу запастись терпением.

P.S.S. Нужны тестеровщики. И обратная связь.

Так как  практически отсуствоет обратная связь решил выставить исходники без причесывания.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #1: 08 апреля | 2014г. | 01:02:59 »
0
Перенесено: Автор поста luc0009

Угу. Как на енигме 2 - плагин  и получаем информацию  по всем каналам . Не знаю как ,но есть умнее -- они зробят. Надеюсь , жду и не я один . Кулибины - сделайте!!!!

Добавлено  01 апреля | 2014г. | 17:01:00
Так я об этом же . Умнички, прикрутите quickEPG к нейтрино - Вам аплодисменты , а нам полная нейтрино . Ну хорошая штука (удивляюсь - 1,5 года назад увидел enigma2 , а счас какая - то нейтрино . Время - вперед!!!!

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #2: 08 апреля | 2014г. | 01:04:56 »
0
Перенесено: Автор поста lexandr0s

Угу. Как на енигме 2 - плагин  и получаем информацию  по всем каналам . Не знаю как ,но есть умнее -- они зробят. Надеюсь , жду и не я один . Кулибины - сделайте!!!!

Добавлено  01 апреля | 2014г. | 17:01:00
Так я об этом же . Умнички, прикрутите quickEPG к нейтрино - Вам аплодисменты , а нам полная нейтрино . Ну хорошая штука (удивляюсь - 1,5 года назад увидел enigma2 , а счас какая - то нейтрино . Время - вперед!!!!
Ребятки... не все сразу...
Это в планах.
Я конечно делаю и тестирую все допилы на своей сборке. Но оно будет работать и здесь. Потому как сама система одинакова.
Стоит в очереди:
- прикрутка 3G модемов (почти готово)
... затем quickEPG
... кириллизация VFD...
... ремонт веб-морды (либо прикрутка вебморды из энигмы)
... много чего еще
Порядок задач четко не определен. Зависит от количества костылей и геморроя в каждой из них
К сожалению очень мало свободного времени. Занимаюсь по мере его наличия. Если бы кто нибудь еще подключился - пошло бы значительно быстрее.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #3: 08 апреля | 2014г. | 01:06:45 »
0
Перенесено: Автор поста Benny

Кулибины - сделайте!!!!
Этот вопрос нужно задавать здесь - forum.tuxbox.org/forum/viewforum.php?f=62
Форматы EPG Нейтрино/Энигмы различаются (т.к различаются и форматы описания каналов/пакетов), но написать конвертер/парсер для xml файлов EPG, которые раздают на Linux-sat (на основе которых работает тот же Quick EGP) - вполне реально. Вопрос, есть ли время и желание у маинтайнеров этим заниматься.
В Нейтрино, в отличие от Энигмы, понятия "плагин" (т.е возможности расширять функционал самостоятельно) - практически нет. Самому можно сделать что-то ограниченное внешней библиотекой, совсем простое - на шелле, или (недавно добавленное) - на луа. Но в любом случае это костыли, которые живут вне самой оболочки, а шоб было "красиво", как в Энигме - нужно править исходный код самой Нейтрино.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #4: 08 апреля | 2014г. | 01:08:53 »
0
Перенесено: Автор поста lexandr0s

Кулибины - сделайте!!!!
Но в любом случае это костыли, которые живут вне самой оболочки, а шоб было "красиво", как в Энигме - нужно править исходный код самой Нейтрино.
Ну насчет костылей - я бы не был столь категоричен... Все библиотеки и необходимая требуха присуствует... Все можно заставить работать с помощью тех же шелл-скриптов. И будет ничуть не хуже энигмы.
Править исходный код нейтрино и подгонять его под Энигму???? какой в этом смысл? надо тогда ставить энигму. Нейтрино оно на то и нейтрино... поэтому оно и быстрее в разы - потому что здесь отсутствует всякая шелуха.
А мелкие рюшки и няшки - вполне нормально будут работать и из под шелл... при этом не тормозя саму систему
Тут уже решать каждому для себя - красиво, няшно, для домохозяек, но при этом тормознуто и глючно.
Или немного скромнее, немного сложнее в настройке - но при этом в разы быстрее и на порядок стабильнее...
(наверно удачна будет аналогия: Windows7 и Linux Gentoo)...

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #5: 08 апреля | 2014г. | 01:10:06 »
0
Перенесено: Автор поста Benny

Ну насчет костылей - я бы не был столь категоричен... Все библиотеки и необходимая требуха присуствует
Для справки - костыль
"Библиотеки и необходимая требуха" ничего не знают про формат EPG.DAT из Энигмы, равно как и ничего про формат xml-файлов, из которых тот набран. Т.е так, как в QuickEPG (скачать файл с сервера, заменить старый, рестартнуть Энигму) - можно сделать шелл-скриптом, вот только файл в нужном формате скачать неоткуда.
Отсюда вариантов немного:
- писать собственный парсер, который разберет содержимое EPG.DAT или кучи отдельных xml в энигмовском формате, и положит результат в каталог с EPG-файлами Нейтрино (на урезанном шелле такое писать? Ну-ну). Про луа еще можно подумать, правда неизвестно, сколько оно памяти и проца при этом отожрет - а текущий набор EPG (если россыпью) - порядка 50 Мб;
- писать запрос майнтентерам на поддержку в самом Нейтрино, шоб "научить" оную "понимать" формат EPG.dat и парсить его на лету, подхватывая нужные channel_id/event_id для текущего канала/пакета;
- писать запрос авторам QuickEPG - возможно, сгенерить набор xml-файлов в родном нейтриновском формате для них будет проще;
- генерировать для EPG набор xml файлов самому (ребята с linux-sat не руками же  их набирают, т.е источником их можно попросить "поделиться"), сохраняя результат на своем хостинге.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #6: 08 апреля | 2014г. | 01:11:36 »
0
Перенесено: Автор поста lexandr0s

Ну насчет костылей - я бы не был столь категоричен... Все библиотеки и необходимая требуха присуствует
Для справки - костыль
"Библиотеки и необходимая требуха" ничего не знают про формат EPG.DAT из Энигмы, равно как и ничего про формат xml-файлов, из которых тот набран. Т.е так, как в QuickEPG (скачать файл с сервера, заменить старый, рестартнуть Энигму) - можно сделать шелл-скриптом, вот только файл в нужном формате скачать неоткуда.
Отсюда вариантов немного:
- писать собственный парсер, который разберет содержимое EPG.DAT или кучи отдельных xml в энигмовском формате, и положит результат в каталог с EPG-файлами Нейтрино (на урезанном шелле такое писать? Ну-ну). Про луа еще можно подумать, правда неизвестно, сколько оно памяти и проца при этом отожрет - а текущий набор EPG (если россыпью) - порядка 50 Мб;
- писать запрос майнтентерам на поддержку в самом Нейтрино, шоб "научить" оную "понимать" формат EPG.dat и парсить его на лету, подхватывая нужные channel_id/event_id для текущего канала/пакета;
- писать запрос авторам QuickEPG - возможно, сгенерить набор xml-файлов в родном нейтриновском формате для них будет проще;
- генерировать для EPG набор xml файлов самому (ребята с linux-sat не руками же  их набирают, т.е источником их можно попросить "поделиться"), сохраняя результат на своем хостинге.
Полностью с вами согласен. Задача не из простых.
Я вообще думал в сторону собственного парсера. Как это реализовать - пока не напрягал мозг. Занят другим... когда до этого дойдет дело - будем думать... Мыслю все же в сторону lua.. так как писать парсер на sh да еще и порезанном - задача действительно нетривиальная.
ЗЫ: Только что пока писал - ваш пост натолкнул на мысль. Разместить сам парсер на внешнем сервере. чтобы он парсил - а нейтрина уже будет получать готовые xml-ки с этого сервера... Надо подумать в эту сторону... Возможно это будет более удачный вариант - чем грузить нейтрину парсером.
ЗЫЫЫ: Как вариант - никто не мешает написать парсер на той же С и тупо воткнуть бинарник в систему... Возможно кто нибудь возьмется написать парсер на С?

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #7: 08 апреля | 2014г. | 01:12:56 »
0
Перенесено: Автор поста OlehR

lexandr0s
Если есть описание формата файла (файлов) или где он лежит в нейтрине могу покопать.
Хотя вариант с внешним парсером намного проще. С него наверное и стоит начать.
В любом случае могу потратить некоторое время на ету проблему.
Если кто-то может виложите файлик с епг с нейтринки покручу.
Правда
Спойлер   :
https:// linux-sat.tv/epg/epg_new.dat.gz
явно не xml нужно описание и етого файла.
Не факт что и нейтрине epg простой xml
P.S.
На гитхабе нашол програму которая конвертирует EPG
Спойлер   :
https:// github.com/nx111/epgen
Думаю доработать ее для нейтрини не составит очень большого труда если будет извесна структура файла.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #8: 08 апреля | 2014г. | 01:15:55 »
0
Перенесено: Автор поста Benny

Если кто-то может виложите файлик с епг с нейтринки покручу.
См. аттач.
Правда
Спойлер   :
https:// linux-sat.tv/epg/epg_new.dat.gz
явно не xml нужно описание и етого файла.
Он сгенерирован из xml (как раз тулзой вроде github.com/nx111/epgen).
Чистый xml смотри во втором файле в аттаче (xml feed из CrossEPG)
[ Гостям не разрешен просмотр вложений ]
[ Гостям не разрешен просмотр вложений ]

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #9: 08 апреля | 2014г. | 01:17:57 »
0
Перенесено: Автор поста OlehR

C EPG все виглядит достаточно оптиместически.
Остается практически один вопрос.
Есть ли возможность с файла ls.channels.xml с строки о канале
<channel id="hd-kino">1:0:1:258:1:2:0:0:0:0:</channel> <!-- HD Kino -->
получить ONid,Sid,TSid канала.
Если нет - нужно будеть прокодировать соотвествие
channel id="hd-kino" - ONid,Sid,TSid.
Есть еще вопрос как в телнете остановить запустить нейтрину?

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #10: 08 апреля | 2014г. | 01:19:54 »
0
Перенесено: Автор поста OlehR

Эта информация лежит в файле букетов.
/var/tuxbox/config/zapit/bouquets.xml
там в XML аттрибуты следующие (на каждый канал):
i - SID
t - tSid
on - ONid
bouquets.xml у меня пустой
а в ubouquets.xml только название ну естественно по многим каналам оно не совпадает с тем что в tvprogram.xml.
 если у тебя в bouquets.xml есть информация в виде 1:0:1:258:1:2:0:0:0:0: +sid,tsid,onid , дай свой файл. у меня он пустой возможно в силу того что я експортировал каналы енигми через догсетінгс
P.S. Повторю вопрос о старте и остановке нейтрины.
Ну и пожалуста посмотрите свои файли с епг интересует строчки с  event id
у меня они вида
<event id="8d31" tid="4e"> на крайнем имидже
а то что прислал мне Benny  <event id="8d31">
 Чтоб не засорять тему збрасивайте в личку + версия нейтрини.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #11: 08 апреля | 2014г. | 01:22:01 »
0
Перенесено: Автор поста lexandr0s

bouquets.xml у меня пустой
а в ubouquets.xml только название ну естественно по многим каналам оно не совпадает с тем что в tvprogram.xml.
 если у тебя в bouquets.xml есть информация в виде 1:0:1:258:1:2:0:0:0:0: +sid,tsid,onid , дай свой файл. у меня он пустой возможно в силу того что я експортировал каналы енигми через догсетінгс
P.S. Повторю вопрос о старте и остановке нейтрины.
Ну и пожалуста посмотрите свои файли с епг интересует строчки с  event id
у меня они вида
<event id="8d31" tid="4e"> на крайнем имидже
а то что прислал мне Benny  <event id="8d31">
 Чтоб не засорять тему збрасивайте в личку + версия нейтрини.
В прицепке букет + текущее епг на +++. Там все довольно понятно. В букетах аттрибуты я уже писал. В епг каналы идентифицируются по Sid.
К вопросу включения выключения.
Neutrino как и Enigma, как и Spark - это Linux - и действуют стандартные команды
shutdown
reboot
ну и т.д.
[ Гостям не разрешен просмотр вложений ]
[ Гостям не разрешен просмотр вложений ]

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #12: 08 апреля | 2014г. | 01:23:15 »
0
Перенесено: Автор поста OlehR

lexandr0s,
мне нужны команды аналогичние init
то есть остановить оболочку нейтрино и ее старт.
Использовать bouquets не получится. ибо придется связывать по имени. а там все очень непросто.

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #13: 08 апреля | 2014г. | 01:24:27 »
0
Перенесено: Автор поста lexandr0s

lexandr0s,
мне нужны команды аналогичние init
то есть остановить оболочку нейтрино и ее старт.
Использовать bouquets не получится. ибо придется связывать по имени. а там все очень непросто.
Связывать можно по Sid! Они есть и там и там. Sid уникален для каждого канала - никакой сложности не вижу.
К вопросу о перезагрузке: очень и очень нечетко формулируете свои вопросы. Я так и не понял что вам нужно.
/etc/init.d - там лежат скрипты инициализации
в частности rcS rcK start startneutrino (эти скрипты отрабатывают при загрузке и выключении)
ЗЫ: Кажется понял что вы хотите... Перезагрузить сам интерфейс. Это не Энигма. Здесь механизм загрузки сильно отличается. Не буду утверждать - но помойму перезагрузить отдельно интерфейс в Neutrino - не получиться.
Если вам это нужно в связи с EPG - то оно не нужно. Neutrino подхватывает EPG на лету. из xml или из потока. Если изменить xml прямо в процессе работы - перегружать Neutrino не обязательно. Изменения будут учитываться сразу при вызове epg

Оффлайн Ser6

  • Друзья Джедаев
  • *****
  • Сообщений: 12328
  • Поблагодарили: 29869
  • Уважение: +122
EPG для Neutrino
« Ответ #14: 08 апреля | 2014г. | 01:27:21 »
0
Перенесено: Автор поста Benny

Если вам это нужно в связи с EPG - то оно не нужно.
Не все понятно - в Нейтрино за EPG (по крайней мере то, что берется из потока) отвечает модуль sectionsd (встроен в Нейтрино в поздних сборках, в более ранних вообще шел отдельным файлом). Для управления им есть отдельный бинарник - sectionsdcontrol - с его помощью можно отстановить/возобновить чтение EPG, сбросить EPG в кеш/прочитать из кеша и т.д. Вполне может быть, что при обновлении файлов EPG достаточно только этого, и рестарт Нейтрино не потребуется - но тут нужно эскпериментировать.

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
125 Ответов
109381 Просмотров
Последний ответ 09 июля | 2022г. | 16:45:39
от wowik98
361 Ответов
192742 Просмотров
Последний ответ 22 августа | 2015г. | 08:30:30
от vlanab
5 Ответов
4113 Просмотров
Последний ответ 18 сентября | 2014г. | 16:09:56
от saw
Neutrino-MP-SDL

Автор lexandr0s « 1 2 ... 14 15 » Enigma2

224 Ответов
138803 Просмотров
Последний ответ 18 октября | 2020г. | 23:54:02
от Benny
Neutrino-MP (Часть 2)

Автор Ser6 « 1 2 ... 14 15 » Enigma2

219 Ответов
184585 Просмотров
Последний ответ 02 декабря | 2022г. | 18:59:29
от Orhikot



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!