• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 4 Hlas(ů) - 3 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Oneplay Server
#1
Oneplay Server

Oneplay Server slouží jako alternativa k IPTV Web Serveru pro Oneplay. Lze ho používat buď jako doplněk v Kodi i samostatně.

Doporučuju ho používat výhradně v interní síti a nevystavovat ho do internetu. Veřejně vystavení znamená velké riziko zneužití nebo omezení ze strany Oneplay! Využít můžete alespoň základní zabezpečení jménem a heslem.


Pokud cítíte neodolatnou potřebu něco autorovi symbolicky! přispět, můžete použít PayPal

K dispozici ke stažení jsou i skripty pro TVheadend. U nich je potřeba také mít nainstalovaný python modul websocket. Skripty zatím nepoužívám, takže je také riziko, že se může objevit nějaká chyba nebo problém. V zipu je README.txt, kde jsou základní informace ke skriptům.

Kodi

Nainstalujte doplněk a v jeho nastavení vyplňte přihlašovací údaje, deviceid (libovolný alfanumerický řetězec) a IP adresu nebo jméno serveru. Po uložení nastavení restartujte Kodi nebo zakažte a povolte doplněk.

Samostatný skript

Oneplay Server pro své fungování vyžaduje python moduly bottle a websocket. Nainstaluje buď jako balíček OS nebo pomocí pip3 (pip3 install <module>)

Rozbalte zip, zkopírujte config.txt.sample na config.txt a v něm vyplňte jméno, heslo, deviceid a IP adresu nebo jméno serveru. Server spusťte z adresáře service.oneplay.server spuštěním python3 server.py.
Pokud chcete Oneplay Server spustit na linuxu se systemd jako službu, jako root/přes sudo:

Pokud chcete Oneplay Server spustit na linuxu se systemd jako službu, jako root/přes sudo:
- zkopírujte z adresáře scripts soubor oneplay_server.service do /etc/systemd/system/
- systemctl daemon-reload
- systemctl enable oneplay_server
- systemctl start oneplay_server

Docker

Díky sedlin2 je možné pustit Oneplay Server i jako container v dockeru.

Pokud se jedná o první instalaci vytvořte adresář pro konfiguraci docker container Oneplay Serveru z https://github.com/waladir/script.oneplay.server do něj stáhněte Dockerfile a docker-compose.yml:
 
Kód:
wget https://github.com/waladir/script.oneplay.server/raw/refs/heads/master/Dockerfile
wget https://github.com/waladir/script.oneplay.server/raw/refs/heads/master/docker-compose.yml

- v docker-compose.yml nastavte minimálně USERNAME, PASSWORD a DEVICEID, případně upravte ostatní nastavení
- pokud container běží, zastavte ho:
 
Kód:
docker compose -f 'docker-compose.yml' stop

- proveďte build (stáhne se aktuální verze) a start containeru:
 
Kód:
docker build --no-cache -t oneplay-server .
docker compose -f 'docker-compose.yml' up -d


TVheadend

Pro použití Oneplay Serveru v TVheadendu je potřeba mít na nainstalovaný ffmpeg (na stroji s TVH). Pro načtení EPG přes External XMLTV grabber pak ještě socat.
 
V config.txt zkontrolujte nastavení cesta_ffmpeg (viz config.txt.sample), v případě Kodi pak analogické položky v nastavení. Při vytváření sítě v TVheadendu použijte adresu http://<adresa nebo jméno serveru>:<port (defaultně 8082)>/playlist/tvheadend/streamlink, např. http://127.0.0.1:8082/playlist/tvheadend.

U EPG je jednou z variant využití External XMLTV grabberu. Nejprve ho je potřeba v TVheadnedu povolit (Program/Channels - EPG Grabber modules). V adresáři scripts je připravený skript k epg.sh, který stáhne EPG z Oneplay Server a obsah pošle External XMLTV grabberu. Zkontrolujte v něm cestu xmltv.sock (vytvoří se po povolení grabberu) a URL Oneplay Serveru.

URL

Playlist je dustupný na http://<adresa nebo jméno serveru>:<port (defaultně 8082)>/playlist, např. http://127.0.0.1:8082/playlist

EPG lze pak stáhnout z http://<adresa nebo jméno serveru>:<port (defaultně 8082)>/epg, např. http://127.0.0.1:8082/epg

Reset kanálů/session

Na http://<adresa nebo jméno serveru>:<port (defaultně 8082)>, např. http://127.0.0.1:8082 je možné stiskem tlačítka vynutit načtení kanálů nebo vytvoření nové sessiony.

Nastavení

Popsaná je konfigurace v config.txt pro samostatně běžící Oneplay Server. U Oneplay Serveru běžícího jako doplněk v Kodi je nastavení analogické, pouze s hezčími popisky.

username - uživatelské jméno ve Oneplay
password - heslo k účtu
profile - pokud je vyplněné jmené profilu a ten existuje, vybere se při přihlášení
deviceid - unikátní ID zařízení, používejte jen čísla a písmena
webserver_ip - adresa Oneplay Serveru, která bude použitá v playlistu a jiných URL. Standarně je 127.0.0.1, což znamená, že lze Oneplay Server volat jen se stejného zařízení. Můžete použít i hostname nebo adresu ve vaší síti, aby bylo možné Oneplay Server využívat i odjinud. Pokud místo adresy použijete "IP" zjistí se adresa automaticky.
webserver_port - port na kterém Oneplay Server poběží
epg_dnu_zpetne - počet dnů v minulosti, pro které se bude stahovat EPG
epg_dnu_dopredu - počet dnů v budoucnosti, pro které se bude stahovat EPG
interval_stahovani_epg - pokud je 0, bude se EPG stahovat jen pokus si EPG klient vyžádá. Nastavením na kladné celé číslo se budou stahování EPG pouštět na pozadí, po zadaném počtu hodin (počítáno od startu Oneplay Serveru). EPG se uloží a požadavky jsou pak vyřižované lokálně a tedy výrazně rychleji. Používejte v případě, že vám Oneplay Server běží trvale a využíváte EPG z něj.
odstranit_hd - pokud je 1, bude z názvu kanálu odstraněné "HD". Může se to hodit např. pokud používáte nějaký zdroj EPG, kde názvu kanálů neodpovídají konvencím v Oneplay
pouzivat_cisla_kanalu - pokud je 1, bude se při volání Oneplay Serveru se bude k identifikaci kanálu místo jména používat číslo kanálu
poradi_sluzby - v případě více služeb/účtů pod jedním přihlášením může nastavit pořadí účtu, který se má použít (1 = první, 2 = druhý, záporné číslo = poslední)
pin - pin, který se pokusí použít u přehrávání kanálů chráněných pinem
profile_pin - profilový pin. Aby se použil, je třeba nastavit jinou než default hodnotu 4321
debug - pokud je 1, zapne se podrobné logování včetně volání API
cesta_ffmpeg - cesta ke ffmpeg(použije se v playlistu pro TVheadend)
auth_user - vyplnění jména zapne přihlášení k Oneplay Serveru. Po změně je potřeba aktualizovat playlist
auth_pass - heslo k Oneplay Serveru

Jestli některou položku v config.txt nenajdete, může se jednat o později přidaný parametr a bude ho potřeba do config.txt přidat. Jako referenci použijte config.txt.sample, který je aktualizovaný.

Změny

v1.5.1 (18.4.2026)
- zpětné přehrávání v built-in přehrávači (od sedin2)
- basic autentizace (od sedin2)
- oprava spouštění streamu některých kanálů
- přetáčení u live streamů

v1.5.0 (11.4.2026)
- nová webová stránka (od sedin2)

v1.4.5 (7.4.2026)
- oprava catchupu

v1.4.4 (7.4.2026)
- změny API Oneplay

v1.4.3 (1.4.2026)
- oprava generování EPG

v1.4.2 (1.4.2026)
- změna verze API

v1.4.1 (31.3.2026)
- oprava intervalu pro generování EPG v Kodi

v1.4.0 (14.3.2026)
- změna typu live streamu

v1.3.9 (9.3.2026)
- zpracování synchronních i asynchronních volání API

v1.3.8 (9.3.2026)
- změna volání API Oneplay

v1.3.7 (18.1.2026)
- změna filtrování upsell kanálů

v1.3.6 (6.12.2025)
- oprava výběru profilu s PINem

v1.3.5 (5.12.2025)
- oprava přehrávání multidimenze
- možnost nastavit profilový pin

v1.3.4 (4.12.2025)
- zkrácení platnosti session na 4 hodiny

v1.3.3 (2.12.2025)
- přidání výběru profilu, pokud není nastavený

v1.3.2 (2.12.2025)
- změna API Oneplay

v1.3.1 (27.10.2025)
- aktualizace Dockerfile (od @sedlin2)
- pro neKodi verzi při nastavení debug větší než 1 nebude logovat odpovědi delší než zadaná hodnota (např. pro 5000 se nebudou logovat odpovědi delší než 5000 B)
- do playlistu přidané parametry pro ISA (řeší problém s přehráváním některých kanálů v IPTV SC)

v1.3.0 (16.10.2025)
- přidaný výpis konfigurace

v1.2.9 (14.9.2025)
- úprava vyhledávání v EPG při catchupu
[attachment=11944]
v1.2.8 (10.9.2025)
- ošetření Canal+ Sport v EPG

v1.2.7 (21.8.2025)
- odstranění problému s EPG kvůli nedostupným kanálům

v1.2.6 (18.8.2025)
- odfiltrování nedostupných promo kanálů

v1.2.5 (17.8.2025)
- oprava ostraňování HD v EPG

v1.2.4 (17.8.2025)
- náhrada obsolete funkce utcnow

v1.2.3 (5.8.2025)
- oprava chování při zapnutém odstraňování HD ze jména kanálů

v1.2.2 (31.7.2025)
- ošetření změn v datech kanálů

v1.2.1 (6.6.2025)
- upravené načítání kanálů v závislosti na vybraném profilu

v1.2.0 (31.5.2025)
- optimalizace stahování EPG

v1.1.9 (2.5.2025)
- přidaná možnost výběru profilu v nastavení

v1.1.8 (20.4.2025)
- rozšíření MD kanálů pro Oneplay Sport 1 na 8

v1.1.7 (11.4.2025)
- ošetření chyb v EPG

v1.1.5 (29.3.2025)
- ošetření jiné struktury dat pro MD

v1.1.4 (27.3.2025)
- změna typu streamu
- úprava tagu v playlistu a volání catchupu

v1.1.3 (22.3.2025)
- oprava načítání konfigurace dockeru
- ošetření chyb při stahování EPG
- oprava chyby u MD v živém vysílání
- zobrazení verze

v1.1.2 (21.3.2025)
- přidání podpory pro běh v dockeru
- doplnění tagu do playlistu

v1.1.1 (20.3.2025)
- opakování stahování EPG při chybě
- úprava logování ffmpeg pro TVheadend

v1.1.0 (19.3.2025)
- přidané kanály pro multidimenzi
- přidaná podpora pro víc účtů pod jedním loginem
- dynamické sestavení URL (od Sedlin2)

v1.0.2 (17.3.2025)
- ošetření chyb v EPG
- oprava pinu v catchupu
- oprava playlistu (přípona streamu)

v1.0.1 (16.3.2025)
- oprava catchupu
- přidání pinu do nastavení, kvůli přehrávání kanálů chráněných pinem

v1.0.0 (16.03.2025)
- první verze


Přiložené soubory
.zip   tvheadend_oneplay-1.4.4.zip (Velikost: 11,12 KB / Stažení: 19)
.zip   script.oneplay.server-1.5.1.zip (Velikost: 192,95 KB / Stažení: 13)
 
Citovat
#2
super diky
 
Citovat
#3
může se tam dát i dash stream nějak? místo hls. díky moc jinak mimochodem.. seš borec všech tříd 14
 
Citovat
#4
Playlist se mi načte, ale po výběru kanálu nepřehřává. Je to kodi doplněk. O2 server jede.
 
Citovat
#5
parada diky :) jedine eroticke kanaly mi nefunguju
 
Citovat
#6
@PypykCeskeRepubliky: teoreticky ano, ale není k tomu moc důvod. U Oneplay Serveru je HLS z různých důvodu vhodnější a hlavně hodně kanálů nemá DASH bez DRM.

@wendolf: v čem to přehráváš a jaký kanál, pokud se to tedy netýká všech ;-)? Zkus i přehrání třeba ve VLC playeru. Vím o problému s IPTV Simple Clientem, který z nějakého zjevného důvodu stream nepřehraje a zatím jsem nepřišel na to, co s tím dělat.

@Apollo: zkusím to nějak časem vyřešit
 
Citovat
#7
Pripadne jak to zmenim nejak jednodusse? jestli bys neporadil. Diky
 
Citovat
#8
@PypykCeskeRepubliky: ve web.py můžeš zkusit nahradit application/x-mpegURL za application/dash+xml a ve stream.py 'hls' za 'dash'.
 
Citovat
#9
Ahoj, ak sa vysiela aj MD pod Oneplay sport tak kanal zobrazi takto:

https://ctrlv.sk/1bi3
 
Citovat
#10
@havran99: multidimenze je problém. Nejde o to, že bych nedokázal vybrat stream (v doplňku to funguje), ale nenapadá mě, jak to rozumně implementovat do Oneplay Serveru, aby to bylo použitelné. Tam chybí možnost interaktivity. Případné nápady, jak by se to dalo procesně vyřešit uvítám. Pokud budu vědět, jaký stream z MD pustit, tak technické řešení je hračka :-)
 
Citovat
#11
Ahoj,

mám problém s EPG, v kodi sice EPG funguje, ale nelze přehrát stream (což jsi psal, že je tam problém) a v android aplikaci IPTV Extreme pro přehrávání funfuje, ale EPG se neztáhne. Přijde mi, že by tam měla být nějaká přípona, např. XML.

Díky
 
Citovat
#12
ahoj. večer testnu, a samozřejmě pošlu něco eště extra, jak jsem sliboval.
 
Citovat
#13
@vladimir.domin: nestahuješ přímo soubor, ale Oneplay Server posílá jeho obsah. Zároveň se v metadatech posílá, o jaký typ dat jde. Zkus url pro epg otevřít přímo v prohlížeči a ulož ho jako soubor, jestli to půjde. Může tam být nějaká chyba v datech, kvůli které se nevygeneruje celý.
 
Citovat
#14
V prohlížeči se soubor stáhne a když ho otevřu v notepad++, tak tam data jsou. Zkoušel jsem ještě jiný IPTV přehrávač Perfect player, ale taky se EPG nestáhne. Možná s daty neumí pracovat oba přehrávače, ale v Sarosově IPTV web serveru mě EPG přes 365 EPG generátor fungovalo přes IP adresu.
 
Citovat
#15
Ve verzi 1.0.1 (je ke stažení jak v prvním příspěvku tak v repozitáři, pokud je instalovaný v Kodi) je oprava catchupu a přidané přehrávání kanálů chráněných pinem. Ten je potřeba přidat do config.txt (podle config.txt.sample) nebo nastavení v Kodi. Pokud je pin v nastavení vyplněný a jedná se o chráněný kanál, tak se použije. Časem stejnou funkci přidám i do TVH skriptů.
 
Citovat
#16
(16.3.2025, 18:03)waladir Napsal(a): ...Pokud budu vědět, jaký stream z MD pustit, tak technické řešení je hračka :-)...

Ne, že bych to už realizoval, ale přemýšel jsem o tom. Nějaké zkušenosti jsem nasbíral z iVysílání a jeho Sport Plus kanálů. Čekám, až v OnePlay nasbírám víc informací o tom, jak se to vlastně chová a pak to začnu řešit. Co bude potřeba vědět/mít ověřené:
  1. mít předem informaci o tom, že se na daném kanálu bude multidimeze vysílat a čas začátku a konce vysílání - tohle snad v EPG k diposzici je
  2. mít informace o tom co a na kterém subkanálu multidimenze se vysílá - to stačí až v okamžiku zahájení vysílání multidimenze, případně variantně také s předstihem
Taky záleží na tom, na kolika mateřských kanálech se teoreticky mutidimenze může vysílat, i když to zásadní problém není. A také možná to, zda je možné, aby multidimenze byla k dispozici součaně na více mateřských kanálech. Zatím jsem tohle podrobně nestudoval, vždycky jsem si myslel,, že je to záležitost pouze OnePlay Sport 2, ale možná se mýlím. Ale zásadní problém to není, spíše by to to řešení jen rochu zesložitilo.

Jádrem řešení je, že se vytvoří další kanály (subkanály pro multidimenzi), do kterých se budou dynamicky přesměrovávat jak informace (formou epg), tak volba streamů multidimenze. Zároveň se bude dynamicky měnit i jejich stav enable/disable, případně i jejich jméno a ikona a samozřejmě i obsah epg podle toho, co na nich bude (ne)dostupné. Pokud nic, budou ve stavu disable, pokud něco, tak enable. Ještě je na zvážení, zda by se nemohly subkanály multidimenze zobrazovat s předstihem, aby bylo možné u nich nastavit nahrávání. Ale to jsou už spíše drobnosti, které je možné řešit až v případě, že základní idea řešení se ukáže jako funkční. Těch variant a variací, jak to řešit je více, pro tuto chvíli asi nejsou podstatné.

Má to samozeřmě i nějaké háčky, největší z nich je asi to, že změna enable/disable kanálu v Tvheadend se do běžícího Kodi nepromítá spolehlivě. Tohle jsem už řešil u právě zmiňovaného iVysílání a 100% úspěšný jsme zatím nebyl. Další komplikací bude, že obsluha toho všeho bude muset běžet cyklicky, což ale u Tvheadend není problém.
 
Citovat
#17
Je to tak, chtělo by to 24/7 MD přenosy jako to bylo na O2 Web serveru
 
Citovat
#18
Vytvořil jsem script v pythonu, který má v sobě všechny funkce jako přehrávání v IPTV SC, funkční multidimenze, poslal jsem jej Waladirovi, takže to chce jen čas, protože má na sobě momentálně dva nové doplňky, se kterými je kotel práce. Multidimenze mám jako placeholdery, který sledují momentálni stav Mosaic data a pokud se tam objeví stream, nasměruje se na placeholder. Takže vydržte, řešení určitě bude, jen toho není zrovna málo.
 
Citovat
#19
tak to je pecka!! 1 1  seš borec jak waladir
 
Citovat
#20
Wink 
(17.3.2025, 0:06)cary1fuk Napsal(a): Vytvořil jsem script v pythonu, který má v sobě všechny funkce jako přehrávání v IPTV SC, funkční multidimenze, poslal jsem jej Waladirovi, takže to chce jen čas, protože má na sobě momentálně dva nové doplňky, se kterými je kotel práce. Multidimenze mám jako placeholdery, který sledují momentálni stav Mosaic data a pokud se tam objeví stream, nasměruje se na placeholder. Takže vydržte, řešení určitě bude, jen toho není zrovna málo.

Ahoj vyvojari usetris hodne prace kdyz udelas Pull requests , sef projektu otestuje , otestujou treba  i pokrocilejsi useri ....
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)