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

Įrašo turinys

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ą.

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.

Ott play static dns.

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-resolvGoogle's nameservers, for exampleserver=1.1.1.1server=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.confconf-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=EPGAPP_ENV=localAPP_KEY=APP_DEBUG=trueAPP_URL=http://epg.ott-play.comLOG_CHANNEL=stackDB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=db_pavadinimasDB_USERNAME=rootDB_PASSWORD=sukurtas_db_kodasREDIS_ENABLED=falseREDIS_HOST=127.0.0.1REDIS_PORT=6379

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

Image.

Reiškiasi viskas gerai

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

php artisan migrate

Image.

Dabar apie lentas.

Providers nusirodo XML failas.

Image.

Jog supildyti tai tiesiog atsidarius providers:

Image.

Supildome maždaug taip:

Image.

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

Jeigu meta klaidą tai apačioje nustatome:

Image.

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ą.

Image.

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:

Image.

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

Toggle darkmode