This repository has been archived on 2025-05-06. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tools/README.md

81 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструменты для работы с IPTV-плейлистами
Проект, содержащий в себе скрипты для работы с IPTV-плейлистами.
Для начала работы необходимо скачать файл [playlists.ini](https://git.axenov.dev/IPTV/playlists/raw/branch/master/playlists.ini).
- [Инструменты для работы с IPTV-плейлистами](#инструменты-для-работы-с-iptv-плейлистами)
- [Скачать все плейлисты](#скачать-все-плейлисты)
- [Проверить каналы плейлиста](#проверить-каналы-плейлиста)
- [Поиск каналов в одном плейлисте](#поиск-каналов-в-одном-плейлисте)
- [Поиск каналов во всех плейлистах](#поиск-каналов-во-всех-плейлистах)
- [Создать плейлист из нужных каналов](#создать-плейлист-из-нужных-каналов)
- [Как создать свой собственный плейлист?](#как-создать-свой-собственный-плейлист)
- [Лицензия](#лицензия)
## Скачать все плейлисты
Команда: `./download-all.sh`
Скачивает все плейлисты из `playlists.ini` в локальную директорию `./downloaded/`.
## Проверить каналы плейлиста
Команда: `./check-pls.sh`
Проверяет каждый канал в плейлисте на доступность и выводит результат проверки.
Поддерживаются `*.m3u` и `*.m3u8`; как локальные файлы, так по прямым ссылкам.
Коды ошибок доступны [здесь](https://everything.curl.dev/cmdline/exitcode.html#available-exit-codes).
## Поиск каналов в одном плейлисте
Команда: `./find-in-pls.sh`
Находит каналы по заданному регулярному выражению в одном указанном плейлисте.
Поддерживаются `*.m3u` и `*.m3u8`; как локальные файлы, так по прямым ссылкам.
## Поиск каналов во всех плейлистах
Команда: `./find-in-all.sh`
Находит каналы по заданному регулярному выражению во всех плейлистах, скачанных через `download-all.sh`.
## Создать плейлист из нужных каналов
Команда: `./make-pls.sh`
Находит каналы по заданному регулярному выражению во всех плейлистах, скачанных через `download-all.sh`.
Отличается от `find-in-all.sh` тем, что тот выводит результат в человекочитаемом формате, а этот -- в готовом m3u
формате для сохранения в файл.
Для сохранения в файл следует добавить `> myfile.m3u` или `>> myfile.m3u` в конец команды.
## Как создать свой собственный плейлист?
1. Скачать все плейлисты, указанные в `playlists.ini`:
```
$ ./download-all.sh
```
2. Вытащить из них нужные каналы и сохранить в отдельный файл:
```
$ ./make-pls.sh "(fox|disney)" > my.m3u8
```
Так в плейлисте `./my.m3u8` окажутся все каналы из скачанных плейлистов, в названиях которых встретились `fox`
или `disney`.
3. Проверить доступность каналов в полученном плейлисте:
```
$ ./check-pls.sh my.m3u8
```
> Результат `ОК` не означает, что канал действительно работает и отдаёт видео/аудио потоки.
> Результат `ERROR` с любыми кодами ошибок гарантированно означает, что канал не работает.
4. Вручную: удалить нерабочие, мусорные и продублировавшиеся (по ссылкам) каналы.
5. Вручную: добавить плейлист в IPTV-плеер и перепроверить результат.
## Лицензия
[The MIT License](LICENSE)