Kaip Ott-Play pateikti savo EPG (programų gidą)

ott-play-epg

Skaitymo laikas: 4 minutės

Tekstas atnaujintas: 2020-10-13

Vienintelis didelis minusas jog Ott-Play negalima paduoti savo programų gidą.

Ten padaryta taip jog jie paima kelis guide.xml failus ir tada sugeneruoja json failą su EPG turiniu.

Tad todėl grotuvas nesugeba nuskaityti xml failo kuris nurodomas m3u faile.

Reikia grotuvą apgauti ir pateikti jam turinį iš savo IP.

Kaip generuoti EPG failą jau rašiau.

Ir apie patį grotuvą rašiau.

Noriu padėkoti @nuboxas jog nepatingėjo sudėlioti viską.

Prenumeruok 🤟

Gauk į paštą žinutę apie naujus įrašus 👍

Pasiruošimas

Reikia turėti Nginx ar Apache ir PHP, Mysql bei DNS nukreipimo.

Pradžioje nuo DNS pradedame.

Turint Mikrotik galima sužaisti su DNS static nustatymais.

Kaip Ott-Play pateikti savo EPG (programų gidą) 1

Arba jeigu turime Raspberry Pi ar tai kažką panašaus, realiai tinka ir VPS, pasikuriame Dnsmasq (dažniausiai būna jau sistemoje).

Jeigu neturime tai:

apt-get install dnsmasq

Atsidarome /etc/dnsmasq.conf

Geriausiai pagal no-resolv ieškoti ir pridėti.

no-resolv
Google's nameservers, for example
server=1.1.1.1
server=1.0.0.1

Bei susirandame tame pačiame faile conf-dir ir nuimti reikia # ir tada atrodo taip:

Include another lot of configuration options.
conf-file=/etc/dnsmasq.more.conf
conf-dir=/etc/dnsmasq.d

Tada sukuriame /etc/dnsmasq.d aplankalą ir jame sukuriame failą pavadinimu:

epg.ott-play.com

Ir tada tame faile reikia įrašyti:

address=/epg.ott-play.com/88.88.88.88

Vietoje paryškinto adreso pakeičiame į savo vidinį.

Nepamirštame perkrauti serviso:

systemctl restart dnsmasq

Ir galime daryti ping į adresą ir turime matyti savo IP adresą.

Jeigu nematome savo IP adreso, skaitome ką rašo dnsmasq ir ar išvis sugebėjo startuoti.

systemctl status dnsmasq

Jeigu naudojame Pi-Hole tai reiktų susirasti tutorial dėl hosts pakeitimo jog einant į epg.ott-play.com kreiptų į norimą IP adresą. Nenaudoju dabar Pi-Hole, tai nepamenu kur kas yra.

Tada:

cd /var/www/html/

Realiai ten kur bus talpinami reikalingi failai.

Tame aplankale kur laikysim failus:

git clone https://github.com/nuboxas/epg

Tame aplankale būnant kur jau yra failai reikia:

composer update

Jeigu systemoje nėra composer:

curl -sS https://getcomposer.org/installer -o composer-setup.php

Tada reikės Nginx tokio konfigo kuris eina į:

/etc/nginx/sites-available/default
server {
listen 80;
server_name epg.ott-play.com;
root /var/www/html/epg/public;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ .php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}

Svarbiausios paryškintos vietos.

Root tai reikia nurodyti kur parsisiuntėm failus ir būtinai į public aplankalą.

Tada reikia fastcgi pasitikrint, kiek pastebiu kartais skiriasi, jog reikia ir versiją prirašyti, kitaip sakant reikia jog PHP veiktų. Pagal savo distribucijos versiją galime susirasti Googlei instrukcijas.

Pasitikriname Nginx konfigūraciją:

nginx -t

Jeigu viskas gerai:

nginx -s reload

Toliau reikės MariaDB:

apt install mariadb-server

Tada įrašius:

mysql_secure_installation

Sukuriame root kodą.

Tada prisijungiame prie DB:

mysql -uroot -p

Suvedame kodą kurį sukūrėm.

Tada kuriame lentą:

CREATE DATABASE db_pavadinimas;

Pasitikriname ar sukurta:

SHOW DATABASES;

Jeigu viskas gerai:

FLUSH PRIVILEGES;

Ir galop įvedame:

quit

Realiai viską galima padaryti ir su Phpmyadmin.

Svarbiausias dalykas jog veiktų MariaDB ir būtų database sukurta.

Persivadiname pagrindiniame aplankale .env.example į .env ir atsidarom ir pasikeičiam:

APP_NAME=EPG
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://epg.ott-play.com
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_pavadinimas
DB_USERNAME=root
DB_PASSWORD=sukurtas_db_kodas
REDIS_ENABLED=false
REDIS_HOST=127.0.0.1
REDIS_PORT=6379

Atsidarius: http://epg.ott-play.com turime matyti:

Kaip Ott-Play pateikti savo EPG (programų gidą) 2

Reiškiasi viskas gerai 😆

Reikia dar jog sukurtų DB lentas tai tiesiog pagrindiniame aplankale:

php artisan migrate
Kaip Ott-Play pateikti savo EPG (programų gidą) 3

Dabar apie lentas.

Providers nusirodo XML failas.

Kaip Ott-Play pateikti savo EPG (programų gidą) 4

Jog supildyti tai tiesiog atsidarius providers:

Kaip Ott-Play pateikti savo EPG (programų gidą) 5

Supildome maždaug taip:

Kaip Ott-Play pateikti savo EPG (programų gidą) 6

Spaudžiame Go ir turi įmesti į sąrašą.

Jeigu meta klaidą tai apačioje nustatome:

Kaip Ott-Play pateikti savo EPG (programų gidą) 7

Aktyvuoti EPG paėmimą:

/usr/bin/php /var/www/html/epg/artisan epg:download

Tada visą info sukels į EPG lentą.

Tikriname ir apie veikimo principą

Sutvarkius DNS ir pakeitus jog TV kreiptųsi į turimą DNS.

Galima mėginti perkrauti Ott-Play grotuvą ir laukti rezultato ar sugebės paimti .json failus.

Kompiuteryje irgi galima pasitikrinti ar veikia, tiesiog atsidarome per Chrome:

http://epg.ott-play.com/pr2pr/epg/lrt.json

Jeigu atidaromas json failas bet jis tuščias tada nesutampa pavadinimai kurie yra guide.xml faile.

Pavadinimai yra gaudomi pagal channel id, pas mane dabar rodo id gan kvailą nes kol kas tvarkausi guide.xml failą.

Kaip Ott-Play pateikti savo EPG (programų gidą) 8

Bet manau principą pagavai.

Turi sutapti pavadinimai m3u faile ir ties channel id tada žino iš kur paimti failą ir kreipdamasis grotuvas gaus atsakymą iš tavo IP kuriame sėdi jau tavo EPG failas ir bus sugeneruotas json kurį ir naudoja Ott-Play.

Pagal tai koks tiekėjas pajungtas, tokį ir turime įrašyti kanalų sąraše:

url-tvg="pr2pr"

Galime naudoti ir kelis vienu metu:

url-tvg="pr2pr;tiekejas2"

Taip pat veikia:

http://epg.ott-play.com/providers

Kuris nurodys kokie EPG dabar veikia:

Kaip Ott-Play pateikti savo EPG (programų gidą) 9

Pabaigai, palieku adresus iš kurių pareina Ott-Play

Teko su Wireshark patikrint tinklą tai gauname tokius adresus:

http://ott-play.com/samsung/tizen/stb.js

http://ott-play.com/m3u/prov.js

http://ott-play.com/stbPlayer/stbPlayer.js

Bei pagrindinis dėl EPG į kurį kreipiasi per POST:

http://epg.ott-play.com/m3u/gelist.php

Ar patiko įrašas?

Spausk jog įvertinti.

Vidutinis įvertinimas / 5. Įvertino:

Įvertinimų nėra, būk pirmas!

Jeigu įrašas patiko...

Pasidalink!

Jeigu įrašas nepatiko.

Padėk patobulinti įrašą!

Būtų malonu sužinoti kodėl?


Jeigu patiko įrašas, siūlau prenumeruoti, kaip tai padaryti aprašiau čia (el. paštu, telegram ir discord kanalai, facebook, twitter).

Gal patiks ir kiti įrašai