Both sides previous revisionPrevious revisionNext revision | Previous revision |
software:msd:cfg_tool [2015/09/06 02:32] – root | software:msd:cfg_tool [2022/02/05 05:24] (current) – root |
---|
====== msd_cfg_tool ====== | ====== Multi Stream daemon config tool (msd_cfg_tool) ====== |
- утилита для работы с файлами конфигурации msd, astra и плей листами в m3u формате | - утилита для работы с файлами конфигурации [[software:msd:index|Multi Stream daemon (msd)]], astra и плей листами в m3u формате |
| |
| **Скачать**: [[http://www.netlab.linkpc.net/download/software/msd/cfg_tool|msd_cfg_tool]]\\ |
| **Лицензия**: BSD\\ |
===== Возможности ===== | ===== Возможности ===== |
* генерация m3u плей листов из файлов конфигурации msd и astra. При генерации из конфиг файла msd есть возможность автоматически извлекать имена каналов из конфигов astra и других плей листов. | * генерация m3u плей листов из файлов конфигурации [[software:msd:index|msd]] и astra. При генерации из [[software:msd:config|конфиг файла]] [[software:msd:index|msd]] есть возможность автоматически извлекать имена каналов из конфигов astra и других плей листов. |
* поиск каналов в конфигах astra содержащих в input указанное значение | * поиск каналов в конфигах astra содержащих в input указанное значение |
* различные формы сравнения конфиг файлов msd, astra и плей листов для быстрого поиска отсутствующих каналов или перепутанных имён/адресов | * различные формы сравнения [[software:msd:config|конфиг файлов]] [[software:msd:index|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 === | |
| === cmd === |
Имя команды.\\ | Имя команды.\\ |
Реализованы следующие команды: | Реализованы следующие команды: |
* **astra_m3u** - генерирует m3u плей лист на базе конфиг файлов astra, название файлов указывать с помощью | * **astra_m3u** - генерирует m3u плей лист на базе конфиг файлов astra, файлы конфигурации astra указывать с помощью [[software:msd:cfg_tool#astra_cfg_dir|astra_cfg_dir]] и [[software:msd:cfg_tool#astra_cfg_file|astra_cfg_file]]. [[software:msd:cfg_tool#http_proxy|http_proxy]] и [[software:msd:cfg_tool#http_proxy_args|http_proxy_args]] можно использовать для указания адреса http прокси и аргументов. |
* **msd_m3u** - генерирует m3u плей лист на базе конфиг файлов msd | * **msd_m3u** - генерирует m3u плей лист на базе [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]].\\ Файлы задаются с помощью [[software:msd:cfg_tool#msd_cfg_file|msd_cfg_file]]. Если указаны файлы конфигурации astra, m3u плей листы то в них будет осуществлён поиск имени по всем адресам источников для данного канала. Порядок поиска задаётся с помощью [[software:msd:cfg_tool#name_resolv_pref_astra|name_resolv_pref_astra]].\\ [[software:msd:cfg_tool#http_proxy|http_proxy]] и [[software:msd:cfg_tool#http_proxy_args|http_proxy_args]] можно использовать для указания адреса http прокси и аргументов. |
* **astra_input_grep** | * **astra_input_grep** - выводит список каналов у которых в поле input содержится строка, указанная в аргументе [[software:msd:cfg_tool#grep_arg|grep_arg]]. |
* **astra_chk_missing_msd** | * **astra_chk_missing_msd** - выводит список каналов из конфига astra, чьи output адреса отсутствуют в конфиг файле msd в качестве источника |
* **astra_and_msd** | * **astra_and_msd** - последовательно выводит все каналы из конфиг файлов astra и напротив каждого отображает название канала из [[software:msd:config|конфиг файла]] [[software:msd:index|msd]] у которого в источнике адрес совпадает с output адресом канала астры. |
* **msd_chk_missing_astra** | * **msd_chk_missing_astra** - выводит список каналов из конфиг файлов astra, чьи output адреса не принадлежат ни одному из каналов в конфигах [[software:msd:index|msd]]. При указании [[software:msd:cfg_tool#verbose|verbose]] будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить. |
* **msd_chk_missing_m3u** | * **msd_chk_missing_m3u** - выводит список каналов из [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]], чей адрес не принадлежат ни одному из каналов в m3u плей листах. При указании [[software:msd:cfg_tool#verbose|verbose]] будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить. |
* **msd_chk_missing_astra_m3u** | * **msd_chk_missing_astra_m3u** - выводит список каналов из [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]], чей адрес не принадлежат ни одному из каналов в m3u плей листах и конфигах astra. При указании [[software:msd:cfg_tool#verbose|verbose]] будут отображены все адреса источников данного канала, чьи адреса не удалось сопоставить. |
* **msd_and_astra** | * **msd_and_astra** - последовательно выводит все каналы из [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]] и напротив каждого отображает название канала из конфиг файла astra у которого в output адрес совпадает с одним из адресом канала [[software:msd:index|msd]]. |
* **msd_and_m3u** | * **msd_and_m3u** - последовательно выводит все каналы из [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]] и напротив каждого отображает название канала из плей листа m3u у которого в адрес канала совпадает с одним из адресом канала [[software:msd:index|msd]]. |
* **m3u_chk_missing_msd** | * **m3u_chk_missing_msd** - выводит список каналов из плей листов m3u, чей адрес не принадлежат ни одному из каналов в [[software:msd:config|конфиг файлах]] [[software:msd:index|msd]]. |
* **m3u_and_msd** | * **m3u_and_msd** - последовательно выводит все каналы из плей листов m3u и напротив каждого отображает название канала из [[software:msd:config|конфиг файлов]] [[software:msd:index|msd]] у которого в адрес канала совпадает с одним из адресом канала в плей листе. |
| |
| |
| === astra_cfg_dir === |
| Путь к папке, в которой лежат конфиг файлы astra или симлинки на них.\\ |
| Подпапки игнорируются, всё что найдено считается конфиг файлом astra.\\ |
| Можно указывать несколько разных папок одновременно, повторяя ключ.\\ |
| |
| === astra_cfg_file === |
| Имя конфиг файла astra.\\ |
| Можно указывать несколько разных файлов одновременно, повторяя ключ.\\ |
| |
| === msd_cfg_file === |
| Имя [[software:msd:config|конфиг файла]] [[software:msd:index|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**.\\ |
| Если флаг не задан, то файл заданный в [[software:msd:cfg_tool#out|out]] будет очищен, и в начало будет добавлен заголовок m3u файла.\\ |
| Если флаг задан, то заголовок m3u файла не добавляется в начало плей листа, и файл указанный в [[software:msd:cfg_tool#out|out]] не очищается а дописывается.\\ |
| Это удобно когда у нас несколько серверов: в начале указывает на конфиг файлы первого и его адрес в [[software:msd:cfg_tool#http_proxy|http_proxy]], а затем повторяем для всех остальных но выставляем out_append. |
| |
| === verbose === |
| Более подробный вывод.\\ |
| Используется совместно с: **msd_chk_missing_astra**, **msd_chk_missing_m3u**, **msd_chk_missing_astra_m3u** командами.\\ |
| Если задано то выводятся все адреса источников которые не удалось сопоставить.\\ |
| Если не задано то выводятся только имена каналов.\\ |
| |
| |
| ==== Примеры ==== |
| Создание m3u плей листа из конфиг файлов astra и вывод результата в консоль: |
| <code>msd_cfg_tool --astra_cfg_dir /etc/astra1/enabled --astra_cfg_dir /etc/astra2/enabled --cmd astra_m3u</code> |
| |
| Создание m3u плей листа из конфиг файлов astra на разных серверах с разными прокси серверами и сохранение в файл: |
| <code>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 |
| </code> |
| |
| Создание m3u плей листа из [[software:msd:config|конфиг файла]] [[software:msd:index|msd]] с подстановкой имён каналов из конфигов astra и m3u плей листа: |
| <code>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 |
| </code> |
| |
| Поиск каналов, которые не прописаны в [[software:msd:config|конфиг файле]] [[software:msd:index|msd]]: |
| <code>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 |
| </code> |
| В данном примере достаточно поменять команду чтобы изменить алгоритм сравнения или поиска. |
| |
=== -- astra_cfg_dir === | |
=== -- astra_cfg_file === | |
=== -- msd_cfg_file === | |
=== -- m3u_file === | |
=== -- grep_arg === | |
=== -- http_proxy === | |
=== -- http_proxy_args === | |
=== -- name_resolv_pref_astra === | |
=== -- out === | |
=== -- out_append === | |
| |
| {{tag>software freebsd linux iptv tool mysoft}} |