Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zikwall/m3uparse

:tv: PHP version parser different m3u playlists and EPG
https://github.com/zikwall/m3uparse

hls m3u m3u-parser m3u8 m3u8-downloader m3u8-parser parser php

Last synced: 3 months ago
JSON representation

:tv: PHP version parser different m3u playlists and EPG

Awesome Lists containing this project

README

        

# Парсер плейлистов | Playlists Parser

Данная библиотека - это сканер открытых плейлистов для создания едной базы плейлистов. Он собирает все в одну кучу, фильтрует и сортирует.

### Источники

- [x] [Forever (Common playlist)](https://webhalpme.ru/iptv-forever-samoobnovljaemyj-plejlist/)
- [x] [vasiliy78L/myIPTV](https://github.com/vasiliy78L/myIPTV)
- [x] [Бесплатный обновляемый плейлист от Great Crabs IPTV](https://4pda.ru/forum/index.php?showtopic=394145&st=4140#entry70709596)
- [x] [Free Best TV](http://4pda.ru/pages/go/?u=http%3A%2F%2Ftopplay.do.am%2FFreeBestTV.m3u&e=84875135)
- [ ] [Огромный сборник по всему миру iptv-org/iptv](https://github.com/iptv-org/iptv)

Вы сами можете определить свой парсер.

### Источники телепрограммы

- [x] http://www.teleguide.info/download/new3/xmltv.xml.gz
- [ ] http://www.teleguide.info/download/new3/jtv.zip
- [ ] http://programtv.ru/jtv.zip
- [ ] http://api.torrent-tv.ru/ttv.xmltv.xml.gz
- [ ] http://programtv.ru/xmltv.xml.gz
- [ ] http://epg.it999.ru/edem.xml.gz
- [ ] https://iptvx.one/epg/epg.xml.gz (полный)
- [ ] https://iptvx.one/EPG_LITE (без описаний)

### Roadmap

- [x] Auto directory generator & downloader
- [x] Common Aggregation Interface
- [x] Autolink local parser channels with grouping
- [ ] Filter available channels in target playlist
- [x] Default parsers
- [ ] Link to EPG services
- [ ] Parser return Object Interface instead of array
- [ ] Categories
- [x] Extra Options (for apps):
- [x] Use origin stream
- [x] Image
- [x] Use or not
- [ ] Blocked
- [ ] WebView URL
- [ ] Common EPG Aggregation Interface
- [ ] [Go3uparse](https://github.com/zikwall/go3uparse)

## Installation PHP Packgist

`composer require zikwall/m3uparse`

#### Develop mode

```json
{
"minimum-stability": "dev",
"repositories": [
{
"type": "git",
"url": "https://github.com/zikwall/m3uparse.git",
}
],
"require": {
"zikwall/m3uparse": "dev-develop"
}
}
```

### How to use?

```php
merge(new Base(), new Free(), new FreeBestTv())
);

```

### Configuration

По умолчанию плейлисты скачиваются и сканируются из директории: RootDirectory + UploadFolder + PlaylistsFolder.

**Например:**

1. RootDirectory = `/public`
2. UploadFolder = `/uploads` (default)
3. PlaylistsFolder = `/playlists` (default)

**Вывод:** `/public/uploads/playlists`

##### Set root directory

```php
'Channel Name',
'url' => 'Channel url to m3u',
'from' => 'From playlist', // optional
'ssl' => $this->isSSL($url) ? 1 : 0
]
...
]

```

У парсера может быть файл со списком каналов, которые нужно инициализировать, реализует данный функционал метод `IParse::channels()`.
Он должен возвращать массив, формата: Название канала -> Его ЕПГ идентификатор

```php
[
"Odessa Int2." => 7,
"Синергия ТВ2" => 286
]
```

Данный список добавляется к каналу из общего списка, как возможное наименование канала.