Международный фан-клуб Openbox

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Конвертер каналов между разными ресиверами  (Прочитано 3569 раз)

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

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Всем привет!

Наконец, доделал 1-ю версию конвертера спутниковых каналов.

Он позволяет переносить списки спутников / настройки спутников / транспондеров / каналов / фаворитных списков между разными ресиверами.

На данный момент можно переносить по выбору:
1. Всё и сразу, включая настройки спутников и сами каналы;
2. Только списки фаворитов и сортировку каналов.

Импортировать каналы можно из:
1. Энигмы-2;
2. OpenBox S5/S6/S7/S8/S9/SX4/SX6/SX9;
3. OpenBox AS-1/2;
4. Spark;
5. PGI v1.5.

Экспортировать каналы можно в:
1. OpenBox S5/S6/S7/S8/S9/SX4/SX6/SX9;
2. OpenBox AS-1/2;
3. Spark;
4. PGI v1.5.

Скрытый текст  :
Полноценный полный перенос каналов работает только между OpenBox S4...S9/Sx4...Sx9 и OpenBox AS1/2, поэтому во всех остальных вариантах я всё-же рекомендую переносить только фаворитные списки из-за некоторых ограничений полного переноса каналов. О переносе фаворитных списков чуть позже.

А пока сразу оговорюсь, что при полном переносе каналов вместе с настройками спутников, пока не поддерживаются настройки мотора, потому что в разных ресиверах отличается нумерация позиций и другие опции, а у меня не на чем проверить результат, т.к. у меня фиксированные спутниковые антенны с несколькими дисеками включенными в каскад.

Как делать перенос фаворитных списков ? Суть простая:

a) У Вас на ресивере "A" есть готовый список каналов с настроенными фаворитными группами, которые Вы хотите перенести на другой ресивер (на ресивер "B");
b) На том другом ресивере "B" у Вас уже должны быть отсканированны каналы, и желательно, чтобы списки транспондеров были одинаково обновлены на том и на другом ресивере, например, с помощью программы "Satellites Update";
c) Необходимо импортировать каналы из ресивера "B", которые пока ещё не отсортированы по фаворитным группам;
d) Далее в программе "Sat Channels Converter" необходимо открыть каналы ресивера "A" (меню Файл / Открыть каналы);
e) И сохранить фаворитные группы, указав программе на папку или файл со списком каналов, взятого из ресивера "B" (меню Файл / Сохранить фавориты как).
f) Полученный результат можно закачать обратно в ресивер "B", и у Вас в этом ресивере получится копия настроенных фаворитных групп. Но необходимо помнить об ограничении на порядок следования каналов в фаворитных группах, которое накладывают все ресиверы OpenBox.

А теперь на счёт ограничений полного переноса каналов:

Из-за того что в базе данных каналов в Энигме отсутствуют PMT-PIDы как таковые, они там даже не предусмотрены - ресивер их получает онлайн при включении канала и никогда не сохраняет их в базу данных, а во всех остальных ресиверах все PID-ы, включая PMT, обязательно сохраняются в базе данных во время поиска каналов:

А) При таком переносе списка каналов из Энигмы в OpenBox AS-1/2 в базе данных каналов будут отсутствовать все PMT-PIDы, все остальные PIDы (Audio/Video/Text и др) присутствуют только выборочно - для тех каналов, которые ранее включались на ресивере.

Если такую базу данных залить в OpenBox AS-1/2, то при включении канала с недостающими PID-ами, ресивер начинает автоматически всё это обновлять со спутника, причём сразу по всем каналам на текущем транспондере, но делает это очень долго - от пары секунд до 5 минут. На время обновления, пользовательский интерфейс ресивера зависает ("Приложение "Оболочка" не отвечает. Закрыть её ? (Подождать / Да"). Однако, после обновления обновлены сразу все каналы на транспондере, и в дальнейшем на данном транспондере ресивер работает уже нормально.

Есть 2 варианта решения проблемы:

1 - сразу после переноса полного списка каналов, вручную запустить поиск каналов, тогда все недостающие PIDы загрузятся и дальше ресивер работает как обычно;
2 - сделать перенос только списка фаворитов, но тогда перед этим нужно обновить список транспондеров и выполнить поиск каналов.

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

Б) Всё тоже самое касается и переноса списка каналов из Энигмы в OpenBox S(X)4...9. Но как ведут себя эти ресиверы, если в FDU отсутствуют PMT-PIDы каналов, не знаю, проверить не на чем. Варианты решения проблемы точно такие же, как и для OpenBox AS-1/2.

Всё тоже самое касается и сортировки каналов в списках фаворитов.

В) При таком переносе списка каналов из Энигмы в SPARK, накладываются те же самые ограничения, но там всё намного хуже - ресивер каналы с отсутствующими PMT-PID не открывает и ничего по ним не обновляет. Если после этого запустить поиск каналов, ресивер просто продублирует все каналы, при этом в списках фаворитов будут старые нерабочие дубли каналов, а новые дубли будут не сортированными. Поэтому для таких ресиверов полный перенос каналов абсолютно бесполезен, но можно переносить только списки фаворитов, предварительно обновив транспондеры и просканировав каналы.

Сортировка каналов в списков фаворитов переносится полностью.

Г) Перенос каналов из Энигмы в ресиверы, работающих под ОС PGIv1.5, накладывает все те же самые ограничения, связанные с отсутствующими PMT-PID каналов. Ресивер такие каналы не открывает и сам ничего автоматически не обновляет. Но после этого можно запустить поиск каналов, после чего каналы становятся работоспособными. Или можно обновить только списки фаворитов.

Д) Перенос каналов из OpenBox AS-1/2, S4...S9 в Энигму и другие ресиверы не возможен по определению, потому что в OpenBox-ах в списке транспондеров отсутствует информация о типе модуляции (QPKS/8PSK) и о типе системы (DVB-S/DVB-S2). В результате половина каналов после переноса работать не будут из-за путаницы между транспондерами с одинаковой частотой и скоростью потока, но с разными типами модуляции.

Е) Перенос каналов между OpenBox AS-1/2 и S4...S9 переносится полностью 1 в 1, в обе стороны, т.к. структуры списков спутников, транспондеров, каналов и фаворитов у них на 99.9% одинаковый.

Сортировка каналов в списков фаворитов переносится полностью.

На данный момент версия 1.0.2:

Отличия версий:

Скрытый текст  :
1.0.2:
При импорте из Enigma-2 добавлена поддержка недостающих ранее параметров - RollOf, Pilot, Invert, PlsCode и PlsMode. У кого в списке каналов встречаются эти параметры, импорт теперь проходит успешно.

Теперь импорт из Spark проходит успешно, если в XML файлах в атрибутах закрывающая кавычка перенесена на следующую строку.

1.0.1:
Импорт каналов из Enigma-2 теперь не останавливается, если содержатся каналы IPTV;
Импорт каналов из Enigma-2 теперь не останавливается, если встречается фаворитная группа с каналами IPTV;
Исправил ещё пару мелких недочётов при импорте каналов из Enigma-2;
Исправил экспорт в SQL-ные базы данных (OpenBox AS-1, PGI), когда имена спутников и каналов содержат одинарные кавычки;
Убрал кнопку "Создать папку" в диалоговом окне открытия каналов Enigma-2 и Spark.
« Последнее редактирование: 09.04.2017, 05:35:30 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

¦]}×{[¦ I do

  • Global Moderator
  • Заслуженный
  • *****
  • Сказали спасибо: 1281
  • Оффлайн Оффлайн
  • Сообщений: 1412
  • Credibile est, quia ineptum est...
  • Награды Выдается за вклад в жизнь форума Награждаются пользователи за усердие, проявленные при работе с темами. присуждается настоящему Награждаются пользователи форума своим вкладом принесшие форуму большую пользу присуждается за извечные страдания на форуме лично x.i.d.o  Боевой рыцарский орден для лордов и прочих страдальцев
    • Награды

В первую очередь хочу поблагодарить Вас за работу, которую Вы делаете.
Большое спасибо Вам!

... Во всех остальных вариантах накладываются ограничения ...
В POBEdit есть шикарная опция Export to Script.
Вкупе с пунктом меню Script Editor они (+ вышеуказазанная опция Export to Script) творили чудеса при переходе на очередную версию, "несовместимую" с предыдущими списками каналов и настроек.
Присмотритесь...

Удачи! ;-)))
Записан
Knowledge has a value when you share it with others...
Знания имеют значение тогда, когда вы делитесь ими...

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Выложена первая версия конвертера спутниковых каналов. Пока ещё возможны ошибки, поэтому проверяйте и отписывайтесь здесь.

В следующей версии планирую добавить функцию конвертирования BISS-ключей из "SoftCam.Key" в "coconat.dat" для ресиверов OpenBox AS-1/2. На входе должен быть файл "SoftCam.Key" и обязательно файл со списком каналов в формате *.asvc, на выходе будет файл coconat.dat, который можно будет через USB флеш закачивать в ресивер. Файл *.asvc на входе будет нужен, т.к. привязка BISS-ключей в coconat.dat производится не так как в SoftCam.Key - в первом по SID-каналов и по параметрам транспондеров "TransponderStream ID" и "Original Network ID", а во втором - по SID-каналов и по VideoPID каналов (при условии, что VideoPIDы указаны).
« Последнее редактирование: 07.04.2017, 10:49:03 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

!wow!

  • Заслуженный
  • *****
  • Сказали спасибо: 318
  • Оффлайн Оффлайн
  • Сообщений: 1027
  • От сердца к солнцу!
  • Награды присуждается за 800 постов Линуксовод, эксперт энигмы присуждается за флуд на форуме
    • Награды

Первое впечатление.
Вин7 Х64.
Открываем программу, стоит по-умолчанию Энигма 2.
Нажимаю кнопку "выбрать".
Появляется окно - "обзор папок".
Как не странно, внизу окна есть кнопка- "создать папку".
Думаю, что во вновь созданной папке выбирать будет нечего. Лишняя кнопка.
Выбираю папку со "слитыми" сетингами с Дримбокс Эдита. Нажимаю на ОК.
Получаю следующее.
Окна налазят друг на друга.

сдвигаю окно с надписью, получаю

Нажимаю на ОК и остается только главное окно программы.
Записан
Одна голова хорошо, а две хорошо-хорошо.

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

!wow!, а можно заполучить Вашу папку с каналами Enigma-2 ?
« Последнее редактирование: 07.04.2017, 20:14:57 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Благодарю, архив забрал, можно удалять с форума. Сейчас буду смотреть, почему у Вас не прочитались каналы.
« Последнее редактирование: 07.04.2017, 20:15:14 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

!wow!

  • Заслуженный
  • *****
  • Сказали спасибо: 318
  • Оффлайн Оффлайн
  • Сообщений: 1027
  • От сердца к солнцу!
  • Награды присуждается за 800 постов Линуксовод, эксперт энигмы присуждается за флуд на форуме
    • Награды

Я думаю из-за IPTV каналов.
Их многие редакторы Е2 даже портят, но по крайней мере открывают.
Я думаю Вам нужно будет добавлять Поддержку IPTV каналов в разных вариантах, или просто писать в программе их игнарирование, чтоб они не били ошибки.
Записан
Одна голова хорошо, а две хорошо-хорошо.

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Так и оказалось. На IPTV каналах в одном из букетов в namespace нулевой параметр, содержащий позицию спутника и частоту транспондера, что оказалось неожиданностью для меня и для программы. Я сделаю, чтобы такие каналы пока просто пропускались мимо, пока не буду знать, что с ними делать при экспорте в другие форматы.
« Последнее редактирование: 07.04.2017, 13:40:07 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

!wow!

  • Заслуженный
  • *****
  • Сказали спасибо: 318
  • Оффлайн Оффлайн
  • Сообщений: 1027
  • От сердца к солнцу!
  • Награды присуждается за 800 постов Линуксовод, эксперт энигмы присуждается за флуд на форуме
    • Награды

Значит прописать игнор.
Форматов не мало, типа - мультистрим, hls, hls-variant и т.д.
Писать конвертеры для всего этого, дело не быстрое, к тому же нужно добавлять еще и форматы разных Опенбоксов...
Записан
Одна голова хорошо, а две хорошо-хорошо.

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Та игнор, это я уже сделал. Что касается мультистримов, то они не поддерживаются ресиверами OpenBox S-серий и AS-1, поэтому каналы из мультистрим-потоков у меня с самого начала пропускаются при экспорте в них.

Плюс ещё обнаружил ошибки в Вашем списке каналов - в файле lamedb для некоторых каналов не совпадают частоты транспондеров с файлом satellites.xml. Например, на спутнике 36.0°E транспондер 12284 R в satellites.xml и 12283 в lamedb. В результате все каналы с данного транспондера не считываются программой, т.к. она ожидает привязку канала к спутнику и конкретному экземпляру транспондера. Подумаю, как обойти такие ошибки в списке каналов.
« Последнее редактирование: 07.04.2017, 20:16:54 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

!wow!

  • Заслуженный
  • *****
  • Сказали спасибо: 318
  • Оффлайн Оффлайн
  • Сообщений: 1027
  • От сердца к солнцу!
  • Награды присуждается за 800 постов Линуксовод, эксперт энигмы присуждается за флуд на форуме
    • Награды

Это старый список каналов, возможно эти ошибки делает Дримбокс Эдит.
Записан
Одна голова хорошо, а две хорошо-хорошо.

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Я бы сказал, это не старый, а древний список каналов с множеством "чудес". Например, на спутнике Astra-4A (4.8°E) много каналов имеют дробные частоты транспондеров. При экспорте в другие форматы у меня программа отсекает дробную часть частоты, это не проблема, хотя мне не понятно, откуда там это вообще взялось.

Плюс в Вашей базе данных каналов в lamedb обнаружил один загадочный параметр, который в моей базе данных на 7000 каналов он всегда в 0, а в Вашей встречается значение "2". Назначение этого параметра для меня пока не известно, возможно это дополнительный параметр для DVB-S2 - "Пилот" или "Roll-off фактор", но в данном конвертере это не принципиально, т.к. это всё-равно не поддерживается другими ресиверами.

Решение с не совпадающими частотами я уже нашёл - в случае если в lamedb обнаруживается канал с транспондером, которого нету в satellites.xml, то такой транспондер тоже будет добавляться в список. Это конечно приведёт к излишним данным в экспорте, например, в Вашем случае появление транспондеров 12206 V с каналами и 12207 V без каналов, но зато все каналы будут на месте.
« Последнее редактирование: 07.04.2017, 20:18:37 от Northwood »
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

!wow!

  • Заслуженный
  • *****
  • Сказали спасибо: 318
  • Оффлайн Оффлайн
  • Сообщений: 1027
  • От сердца к солнцу!
  • Награды присуждается за 800 постов Линуксовод, эксперт энигмы присуждается за флуд на форуме
    • Награды

Это бывает когда начинают софтописатели дергать что то в Энигме, особенно на 36Е, там где круговая поляризация, потом то каналы задваиваются, то транспондеры.
Надеюсь список каналов помог?
В энигме это все как то проще решается.
Включил сканирование с удалением не существующих каналов и она сама их из базы данных и из букетов удаляет, а вот на других платформах, с этим все печально как то.
Записан
Одна голова хорошо, а две хорошо-хорошо.

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Конечно помог, увидел для себя много чего нового, скоро выложу новую версию программы.
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)

Northwood

  • Moderator
  • Пионер
  • *****
  • Сказали спасибо: 57
  • Оффлайн Оффлайн
  • Сообщений: 80
    • Награды

Выложил версию 1.0.1:

Импорт каналов из Enigma-2 теперь не останавливается, если содержатся каналы IPTV;
Импорт каналов из Enigma-2 теперь не останавливается, если встречается фаворитная группа с каналами IPTV;
Исправил ещё пару мелких недочётов при импорте каналов из Enigma-2;
Исправил экспорт в SQL-ные базы данных (OpenBox AS-1, PGI), когда имена спутников и каналов содержат одинарные кавычки;
Убрал кнопку "Создать папку" в диалоговом окне открытия каналов Enigma-2 и Spark.
Записан
С уважением, Александр
[4.0W+0.8W+4.9E+9.0E+13.0E+19.2E](1.2M), [31.5E+36.0E+42.0E](0.95M), [46.0E+48.0E+53.0E+60.0E](1.2M), [75.0E+80.0E+85.0E+90.0E](1.2M), [80.0E(C)+90.0E(C)](1.2М)
 

Страница сгенерирована за 0.288 секунд. Запросов: 52.