81 lines
4.6 KiB
Markdown
81 lines
4.6 KiB
Markdown
# Инструменты для работы с 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)
|