Site Tools


software:msd:cfg_tool

Multi Stream daemon config tool (msd_cfg_tool)

- утилита для работы с файлами конфигурации Multi Stream daemon (msd), astra и плей листами в m3u формате

Скачать: msd_cfg_tool
Лицензия: BSD

Возможности

  • генерация m3u плей листов из файлов конфигурации msd и astra. При генерации из конфиг файла msd есть возможность автоматически извлекать имена каналов из конфигов astra и других плей листов.
  • поиск каналов в конфигах astra содержащих в input указанное значение
  • различные формы сравнения конфиг файлов msd, astra и плей листов для быстрого поиска отсутствующих каналов или перепутанных имён/адресов

Ограничения

  • тестировалось только на udp адресах
  • поддерживается только один output в конфиг файлах astra
  • максимальное количество конфиг файлов и плей листов - 16 штук, каждого типа. Может быть увеличено.
  • максимальное количество источников для одного канала в msd - 16. Может быть увеличено.

Установка

wget http://www.netlab.linkpc.net/download/software/msd/cfg_tool/msd_cfg_tool-1.01.tar.gz
tar -xf msd_cfg_tool-1.01.tar.gz
cd ./msd_cfg_tool-1.01
./configure
make install

Использование

Ключи командной строки

cmd

Имя команды.
Реализованы следующие команды:

  • astra_m3u - генерирует m3u плей лист на базе конфиг файлов astra, файлы конфигурации astra указывать с помощью astra_cfg_dir и astra_cfg_file. http_proxy и http_proxy_args можно использовать для указания адреса http прокси и аргументов.
  • msd_m3u - генерирует m3u плей лист на базе конфиг файлов msd.
    Файлы задаются с помощью msd_cfg_file. Если указаны файлы конфигурации astra, m3u плей листы то в них будет осуществлён поиск имени по всем адресам источников для данного канала. Порядок поиска задаётся с помощью name_resolv_pref_astra.
    http_proxy и http_proxy_args можно использовать для указания адреса http прокси и аргументов.
  • astra_input_grep - выводит список каналов у которых в поле input содержится строка, указанная в аргументе grep_arg.
  • astra_chk_missing_msd - выводит список каналов из конфига astra, чьи output адреса отсутствуют в конфиг файле msd в качестве источника
  • astra_and_msd - последовательно выводит все каналы из конфиг файлов astra и напротив каждого отображает название канала из конфиг файла msd у которого в источнике адрес совпадает с output адресом канала астры.
  • msd_chk_missing_astra - выводит список каналов из конфиг файлов astra, чьи output адреса не принадлежат ни одному из каналов в конфигах msd. При указании verbose будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить.
  • msd_chk_missing_m3u - выводит список каналов из конфиг файлов msd, чей адрес не принадлежат ни одному из каналов в m3u плей листах. При указании verbose будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить.
  • msd_chk_missing_astra_m3u - выводит список каналов из конфиг файлов msd, чей адрес не принадлежат ни одному из каналов в m3u плей листах и конфигах astra. При указании verbose будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить.
  • msd_and_astra - последовательно выводит все каналы из конфиг файлов msd и напротив каждого отображает название канала из конфиг файла astra у которого в output адрес совпадает с одним из адресом канала msd.
  • msd_and_m3u - последовательно выводит все каналы из конфиг файлов msd и напротив каждого отображает название канала из плей листа m3u у которого в адрес канала совпадает с одним из адресом канала msd.
  • m3u_chk_missing_msd - выводит список каналов из плей листов m3u, чей адрес не принадлежат ни одному из каналов в конфиг файлах msd.
  • m3u_and_msd - последовательно выводит все каналы из плей листов m3u и напротив каждого отображает название канала из конфиг файлов msd у которого в адрес канала совпадает с одним из адресом канала в плей листе.

astra_cfg_dir

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

astra_cfg_file

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

msd_cfg_file

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

m3u_file

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

grep_arg

Используется совместно с командой astra_input_grep для передачи строки по которой осуществляется поиск.

http_proxy

Используется совместно с командами astra_m3u и msd_m3u для задания адреса http сервера.
Фактически то, что будет дописано перед адресом.

http_proxy_args

Используется совместно с командами astra_m3u и msd_m3u для задания адреса http сервера.
Будет дописано после адреса.
“?” - добавляется автоматически.

name_resolv_pref_astra

Используется совместно с командой msd_m3u.
Если не задано, то при указании одновременно m3u плей листов и конфиг файлов astra в начале поиск имени по адресам источников канала будет в m3u плей листах, и если там ничего не найдет то будет искать в конфиг файлах astra.
Если указать ключ то в начале будет искать в конфиг файлах astra.

out

Используется совместно с командами astra_m3u и msd_m3u для задания имени файла, куда будет сохранён m3u плей лист.

out_append

Используется совместно с командами astra_m3u и msd_m3u.
Если флаг не задан, то файл заданный в out будет очищен, и в начало будет добавлен заголовок m3u файла.
Если флаг задан, то заголовок m3u файла не добавляется в начало плей листа, и файл указанный в out не очищается а дописывается.
Это удобно когда у нас несколько серверов: в начале указывает на конфиг файлы первого и его адрес в http_proxy, а затем повторяем для всех остальных но выставляем out_append.

verbose

Более подробный вывод.
Используется совместно с: msd_chk_missing_astra, msd_chk_missing_m3u, msd_chk_missing_astra_m3u командами.
Если задано то выводятся все адреса источников которые не удалось сопоставить.
Если не задано то выводятся только имена каналов.

Примеры

Создание m3u плей листа из конфиг файлов astra и вывод результата в консоль:

msd_cfg_tool --astra_cfg_dir /etc/astra1/enabled --astra_cfg_dir /etc/astra2/enabled --cmd astra_m3u

Создание m3u плей листа из конфиг файлов astra на разных серверах с разными прокси серверами и сохранение в файл:

msd_cfg_tool --astra_cfg_dir /etc/astra1/enabled --http_proxy http://server1/udp/ --cmd astra_m3u --out /home/user/playlist.m3u
msd_cfg_tool --astra_cfg_dir /etc/astra2/enabled --http_proxy http://server2/udp/ --cmd astra_m3u --out /home/user/playlist.m3u --out_append

Создание m3u плей листа из конфиг файла msd с подстановкой имён каналов из конфигов astra и m3u плей листа:

msd_cfg_tool --astra_cfg_dir /etc/astra1/enabled --astra_cfg_dir /etc/astra2/enabled --msd_cfg_file /etc/msd/msd_channels.conf --m3u_file /home/user/channels.m3u --http_proxy http://server/channel/ --cmd astra_m3u --out /home/user/msd_playlist.m3u

Поиск каналов, которые не прописаны в конфиг файле msd:

msd_cfg_tool --astra_cfg_dir /etc/astra1/enabled --astra_cfg_dir /etc/astra2/enabled --msd_cfg_file /etc/msd/msd_channels.conf --m3u_file /home/user/channels.m3u --verbose --cmd msd_chk_missing_astra_m3u

В данном примере достаточно поменять команду чтобы изменить алгоритм сравнения или поиска.

software/msd/cfg_tool.txt · Last modified: 2022/02/05 05:24 by root