• 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:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Základní konfigurace Tvheadendu pro IPTV (MPEG-TS stream)
#1
Lightbulb 
Na internetu jsem nenašel moc pochopitelných návodů, jak vlastně použít IPTV jako vstupní kanály pro Tvheadend.
Zde se tedy pokusím sepsat konfiguraci Tvheadendu pro naladění kanálů IPTV (MPEG-TS streamu)

Podotýkám, že tento návod je platný pouze, pokud máte stream ve formátu MPEG-TS (.ts koncovka). V případě jiného formátu je potřeba stream do MPEG-TS formátu obalit. Viz thread Tvheadend a IPTV

K čemu vést streamy přes Tvheadend?
  • Centrální správa seznamu kanálů
  • Jednoduché přehrávání pomocí Tvheadend klientů
  • Šetření kapacity internetového připojení (Pokud 2 uživatelé sledují stejný stream, Tvheadend ho stahuje pouze jednou)
  • Další výhody Tvheadend kanálu - EPG, TV loga, Možnost nahrávání

Předpoklady: 
  • Nainstalovaný Tvheadend (toho je na internetu hodně a liší se to podle toho, kde ho chcete provozovat)
  • Přístup k funkčnímu MPEG-TS streamu

Moje konfigurace:

Základní konfigurace před naladěním
Při prvním spuštění Tvheadendu můžete zkřížkovat průvodce prvním spuštění. Vše si uděláme postupně sami.

Záložka Configuration/General/Base
  • User Interface Level - Expert
    • to nám odkryje všechny možné nastavení
   
- Expert

Příprava m3u playlistu
Nejjednodušším způsobem importu IPTV kanálů do Tvheadendu je vytvoření .m3u playlistu a jeho následné načtení.

Příklad mého playlistu:
Citace:#EXTM3U

#EXTINF:-1 tvg-id="Film+" tvg-logo="filmplus.png", Film+ HD (O2)
http://10.0.0.1:4022/udp/239.232.X.XX:XXXX

#EXTINF:-1 tvg-id="HBO 2" tvg-logo="hbo2.png", HBO 2 HD (O2)
http://10.0.0.1:4022/udp/239.232.X.XX:XXXX
  • Jaké všechny značky můžete do playlistu umístit se dozvíte zde
  • Pokud chcete používat můj balíček TV ikon, do tvg-logo="" zadávejte název ikony z mé GitHub složky viz příklad mého playlistu
  • Pokud mám playlist uložený lokálně, tvheadend k němu musí mít práva přistoupit (uživatel hts). Tedy pokud je například v mé domovské složce /home/user/o2.m3u, musím provést chmod o+x /home/user.

Jdeme ladit
Na naladění potřebujeme několik věcí.
  • Nakonfigurovat Networks (Sítě). Tedy přidáme m3u playlist.
  • Vyhledat Services (Služby)
  • Namapovat kanály. Tedy z nalezených služeb vytvořit kanály.

Konfigurace Network (Sítě)
Vytvoření sítě z m3u playlistu.

  1. Záložka Configuration / DVB Inputs / Networks
  2. Tlačítkem Add přidáme síť
  3. Vyberete IPTV Automatic Network (ta umí automaticky zpracovat .m3u playlist a vytvořit z něho MUXy)
  4. V Network name síť pojmenuji např. O2 IPTV
  5. V Maximum # input streams mohu omezit maximální počet současně stahovaných streamů
  6. V URL nastavím cestu k souboru (buď lokální pomocí file:///home/user/.. nebo http://...)
  7. Zašktnu Create bouquet (pomůže nám v automatickém mapování kanálů)
  8. V Icon base URL mohu zadat složku, kde se nachází TV ikony. Třeba moji https://marhycz.github.io/picons/1024/
  9. Service ID nastavte na 1. Pomáhá to při detekci některých streamů
  10. Stiskněte Create
   
- Nastavení sítě


Ladění služeb
Nyní proskenuji všechny odkazy a najdu služby, které se na nich vysílají.

  1. Záložka Configuration / DVB Inputs / Networks
  2. Označím IPTV síť a stisknu tlačítko Force Scan
  3. Počkám až se vše proskenuje. Záleží na počtu streamů. Běžně do 5 minut maximálně.
  4. Stav skenování mohu sledovat v záložce Status / Subscriptions
  5. Nalezené služby vidím v záložce Configuration / DVB Inputs / Services
           
-Force Scan          - Skenování TS streamů         - Nalezené služby


Vytvoření kanálů
Nyní již nalezené služby “namapuji” do kanálů. Použijeme k tomu Bouquet, který kanály namapuje automaticky a v případě změny např. IP adresy Muxu(streamu) si toho všimne a kanál změní.

  1. Záložka Configuration / Channel EPG / Bouquets
  2. Označím bouquet s názvém mé IPTV sítě a kliknu na Edit
  3. Povolím ho zaškrtnutím Enabled
  4. V channels mapping options zaškrtnu map zero-numbered channels (pokud jste kanály neočíslovali v playlistu) a merge same name
  5. Potvrdím Save
  6. V záložce Configuration / Channel EPG / Channels již vidím své kanály
       
- Mapování          - Namapované kanály


Jdeme se dívat

Nyní už můžeme otevřít libovolný přehrávač s podporou HTTP streamování, jako například VLC a do URL zadat. http://IPneboHostname:9981/playlist a vyjede nám vygenerovaný m3u playlist od Tvheadendu.

   
- Test s VLC


Na závěr:

Vím, že se to může zdát velice těžké a komplexní, ale pouze popisuji každý krok, takže je to delší. Vězte, že se nejedná o nic těžkého.

Dále se také pokusím udělat rozcestník, aby nově příchozí měli všechna užitečná témata o Tvheadendu u sebe (tam kde jsou nějaké návody a nejenom spam)
SZ nepoužívejte na dotazy, které se hodí pro všechny. Pouze pokud chcete abych něco někde doplnil, opravil.
_____
i3 Haswell + Arch Linux + Docker (Tvheadend + WG + Home-Assistant + Deconz + LetsEncrypt ) + Samba Share
Apple TV (Infuse, TvhClient), Apollo Lake Mini PC (Kodi 18.4)
 
Citovat
#2
Jen bych doplnil, že často se vyplatí místo "IPTV Automatic" to mít vyplněné ručně, obzvláště pro pokročilejší přístup, jako je např. použití pipe://

IPTV Automatic s m3u playlistem se občas chová podivně a není úplně lehké jeho chování pochopit, když se "někde něco samo" přenastaví, nebo nemám m3u soubor playlistu pod 100% kontrolou. Oproti tomu ručně zadané muxy prostě zůstanou jak jsem je nastavil :-)
 
Citovat
#3
Tak na použití pipe tenhle návod není. Pokud člověk nemá jako zdroj MPEG-TS Stream, tak jsem ho hned na začátku odkázal na článek od @JiRo, který popisuje ty další náležitosti. Tohle není primárně určené pro “kradené” streamy, ani pro OTT služby kde jsou tokeny atd.. Je to pro lidi s legální IPTV od poskytovatele internetu (pro někoho kdo si není jistý, vygooglit rozdíl mezi OTT a IPTV).

V tomhle případě je ten Automatic zcela v pohodě a je to jednodušší na nastavení. To jenom proč jsem to tak udělal :-D Aspoň mně to běží 2-3 měsíce v pohodě, když přidám kanál do playlistu, zmáčknu force scan, vytvoří se sám mux, kanál se přidá do služeb a díky bouquetu se automaticky namapuje nový kanál.

Ale máš pravdu, že pro někoho kdo nemá udělaný playlist to je možná krok navíc. Přidám tedy i ten manuální postup vytvoření Muxů. Díky za zpětnou vazbu :)
SZ nepoužívejte na dotazy, které se hodí pro všechny. Pouze pokud chcete abych něco někde doplnil, opravil.
_____
i3 Haswell + Arch Linux + Docker (Tvheadend + WG + Home-Assistant + Deconz + LetsEncrypt ) + Samba Share
Apple TV (Infuse, TvhClient), Apollo Lake Mini PC (Kodi 18.4)
 
Citovat
#4
Jj, pro IPTV, třeba s udpxy, je to určitě nejjednodušší.

U OTT iptv providerů je potřeba přiohýbat téměř vždy, ať už kvůli kontejneru/kodeku nebo kvůli tokenům - tam se obvykle bez bash skriptu v pipe:// nehnu :)
 
Citovat
#5
Hezky a jednoduše řečeno :-)
SZ nepoužívejte na dotazy, které se hodí pro všechny. Pouze pokud chcete abych něco někde doplnil, opravil.
_____
i3 Haswell + Arch Linux + Docker (Tvheadend + WG + Home-Assistant + Deconz + LetsEncrypt ) + Samba Share
Apple TV (Infuse, TvhClient), Apollo Lake Mini PC (Kodi 18.4)
 
Citovat
#6
ahoj marhycz,
chcem sa ťa opýtať ohľadom multicastu a tvheadend.
TvHeadend mám naištalovaný na android boxe, kde mám libreelec 8, kodi krypton 17.3. V notebooku som si vyrobil playlist (podobný ako máš ty v príspevku) od svojho poskytovateľa, streamy sú vo formáte udp://....., čiže multicast ako ty v prípade O2TV. Ten playlist v kodi (pvr simple client) aj vlc funguje bez problémov. Ale keď som ten playlist skopíroval do android boxu s libreeelec, spustím tvheadend a postupujem podľa tvojho návodu, tak mi žiadne programy nenájde. Mám ešte iný playlist v tvare htttp://......../get.php?username=........type=m3u, a ten v tvheadend funguje.
Nevieš mi poradiť ako má vyzerať cesta k tomu playlistu v libreeelec (možno to mám zle zadané), prípadné je nutné použiť ten udpxy, kedže pozerám tvoje streamy majú tvar http...../udp/....
A ešte otázka ako zabezpečiť menom a heslom tvheadend, aby sa mi k nemu nepripojil niekto ďalší?
Za ochotu ti veľmi ďakujem.
----------------------------------------------------------
edit: playlist mám uložený v priečinku /storage/downloads.
edit: nebol by si ochotný urobiť návod ako vytvoriť muxy manuálne, hlavne ako tam nastavím tvg-id, aby mi fungovalo EPG.
 
Citovat
#7
Ahoj všem, prosím poradil by mi někdo. Mám tvheadend na synology a playlist mám na disku v synology. Nejsem schopný přijít na to v jakém tvaru zadat cestu do nastavení sitě, aby to ten playlist vidělo. Nevíte někdo?
 
Citovat
#8
@mafiam Není škoda, když už @marhyz napsal takový hezký návod, si ho nepřečíst? Viz 1. příspěvek tématu.
 
Citovat
#9
Právě že tak jak to tam má napsané to přesně mám nastavené, ale tvheadend playlist prostě nevidí. Možná že jsou nějaká jiná specifika pro tvheadend na synology, ale špatné umístění mi přišlo jako první možná chyba.
 
Citovat
#10
@mafian: pokud máš na mysli URL sítě "IPTV Automatic Network", tak bude něco takového: file:///volume1/cesta_playlistu
 
Citovat
#11
Hm přesně takhle to mám nastavené. Takže chyba bude jinde, netušíte někdo co by mohlo být špatně.?
 
Citovat
#12
Playlist musi byt *.m3u8 ina  ti to neacit
 
Citovat
#13
A je potřeba to nějak převádět, nebo stačí upravit tu koncovku. Zkusil jsem jen přepsat koncovku souboru a zase nic.
 
Citovat
#14
@tattko Zbytečná starost, koncovka souboru může být jakákoliv.

@mafian Takové dohadovámí je k ničemu. Tvheadend má přeci log, ne? Proč nezačneš tam. Také není jisté, že problém je u playlistu? Chyb se dá v parametrizaci Tvheadend udělat jako máku i jinde.

A co přístup k souboru? Pod jakým user běží Tvheadend a má vůbec šanci do adresáře, kam si umístil playlist, vidět?
 
Citovat
#15
(05.6.2020, 20:45)mafian Napsal(a): Hm přesně takhle to mám nastavené. Takže chyba bude jinde, netušíte někdo co by mohlo být špatně.?


Na Synology skoro vše.
Nefungovalo mi to taky, generoval jsem playlist i do složky (chmod 777 /playlist)
ale tvheadend ze Synology repa ho nebral.
Proto jsem se rozhodl zakoupit RPI 3B+ a na něm provozovat Ubuntu server s TVHeadend serverem a Webgrab++ a easyEPG.
A mám klid.

Ugoos X3 Pro + Synology DS218, D216play +Synology RT2600ac
SZ nečtu!!! Ptejte se ve fóru, pomůžete ostatním.
 
Citovat
#16
m3u subor otvorim vo vlc a ulozim ako m3u8 a potm to ide. aspon ja tak mam IPTV auto
 
Citovat
#17
Už nevím co může být špatně, už mám dokonce pojmenovaný stream stejně jako v návodu a prostě nic. 
Asi synology z tohoto projektu vynechám a pokusím se to nastavit na rpi kde mi teď pod raspbianem běží dvě astromety. 
Ještě pro kontrolu jestli mam správně playlist

#EXTM3U
#EXTINF:0,CT1
https://.................................................................................................................................................................0.m3u8


Takto mám zápis v playlistu.
 
Citovat
#18
@mafian
Já provozuji na Synology.
Cesta je:
Kód:
file:///volume1/tv/o2tv/playlist.m3u8
pokračuj přesně podle návodu viz. nahoře.

Playlist mám takto.
Kód:
#EXTM3U
#EXTINF:-1 tvh-epg="0" tvg-logo="https://cnt.o2tv.cz/contentserver/contents/1160655/categories/img/sizes/640x640/canvas/640x640/1160655.png",ČT1 HD
pipe:///volume1/tv/o2tv/streamer.sh %C4%8CT1%20HD ct1hd
 
Citovat
#19
Tak asi bude chyba v playlistu já mám u programu adresu streamu https.... A končí m3u8 nemám tam žádný pipe.
Takze mám asi playlist, který tvheadend nezkousne. Dá se to nějak upravit?

#EXTINF:0,CT 24 HD
https://stc.o2tv.cz/calc/at/.....................m3u8
 
Citovat
#20
Tak si to shrňme...

@mafian pláčeš tady, ale aby ses podíval do logu Tvheadend, jak jsme ti radil hned na začátku, to tě ani nenapadlo. Jak pak chceš, aby ti někdo skutečně poradil. Pokud se ti nenačítá playlist do automatic Network, je třeba najít, kde je problém, a pro to je ten log klíčový. Jsou dvě zásadní možnosti. Buď ho opravdu Tvheadend nevidí nebo má ten playlist špatný formát. V obou případech to uvidíš v logu!

Pokud máš v playlistu adresy streamů (ne tedy volání přes pipe) a adresa streamu začíná syntakticky správně např. "http://", pak není důvod, aby ten playlist Tvheadend nenačetl (pokud ho tedy vidí a má právo ho číst). Jiná věc je, co s ním udělá dál, až se bude pokoušet z adresy něco přehrát. Pak musíš mít jistotu, že je obsah toho streamu ve tvaru, který Tvheadend zná. Pokud ne, musíš mu pomoci, např. vložením onoho "pipe://" a použitím aplikace, která ten formát dokáže překonvertovat, například ffmpeg. BTW tím ffmpeg si ještě před dalšími pokusy můžeš zjistit, co vlastně ten stream obsahuje...

Pro ostatní, jako je např. @tattko, který podstatu problému vůbec nepochopil a píše tady o úplně jiných souborech s příponou m3u8, které ale nejsou playlisty Tvheadend, ale tzv. manifesty adaptivních protokolů:
  • @mafian, alespoň podle jeho slov, má problém s načtením playlistu pro Automatic Network v Tvheadend. Playlist je uložen v souboru, který může mít jakékoliv jméno (vč. přílohy), postatná je jeho struktura a syntaxe obsahu (tzv. extended playlist). Pokud na něj Tvheadend vidí a může jej přečíst a jeho obsah, tedy struktura a syntaxe, odpovídá pravidlům, načte ho a vytvoří podle jeho obsahu mux-y. Druhá věc, zda vytvoří i navazující služby a namapuje na ně nějaké kanály už záleží na obsahu toho, co na příslušných adresách najde.
Pro nevěřící Tomáše jsem provedl pár demonstračních pokusů.

Vytvořil jsem soubor se jménem tralala (všimněte si, že bez přípony  1 ) a obsahem:
Kód:
#EXTM3U
#EXTINF:-1,AAA
blabla
#EXTINF:-1,BBB
hohoho
Tvheadend ho nenačetl a jako chybu oznámil:
Kód:
2020-06-07 12:21:47.890 iptv: unknown playlist format for network 'TEST'
Pak jsem změnil obsah na:
Kód:
#EXTM3U
#EXTINF:-1,AAA
http://blabla
#EXTINF:-1,BBB
pipe:///hohoho
Ten už Tvheadend načetl, vytořil mux-y, ale tím to také skončilo:
Kód:
2020-06-07 12:28:53.767 mpegts: tralala - BBB in TEST - tuning on IPTV
2020-06-07 12:28:53.772 epggrab: tralala - BBB in TEST - registering mux for OTA EPG
2020-06-07 12:28:53.773 subscription: 001B: "scan" subscribing to mux "tralala - BBB", weight: 5, adapter: "IPTV", network: "TEST", service: "Raw PID Subscription"
2020-06-07 12:28:53.773 mpegts: tralala - AAA in TEST - tuning on IPTV
2020-06-07 12:28:53.776 spawn: Executing "/hohoho"
2020-06-07 12:28:53.808 httpc: 0001: Unable to connect to blabla:80 - Name or service not known
2020-06-07 12:28:53.808 iptv: stdin pipe unexpectedly closed: No data
Na závěr, pokud Tvheadend soubor s playlistem, který zadáš do parametrů automatick Network, nebude moci otevřít, objeví s v logu tato hláška:
Kód:
2020-06-07 12:26:43.799 iptv: unable to open file '/storage/.kodi/media/playlist/tralala': No such file or directory
A na úplný závěr ještě screeshoty z výše uvedeného testu. Pro něj jsme vytvořil novou Automatic Network s názvem TEST.
       

@mafian Co se týče tvé poslední ukázky
Kód:
#EXTINF:0,CT 24 HD
https://stc.o2tv.cz/calc/at/.................................../.......m3u8
měl bys napsat, kde ty streamy bereš. Vypadá to na finální streamy ze služby OTT O2TV, které ti ale něco musí vygenerovat. Jejich platnost je časově omezená, takže chceš-li je vkládat do Tvheadend, měl bys to nejspíše provádět nějakým scriptem, ve kterém bys právě takovéto streamy získával pomocí requestu na servery služby.

Pak mě tedy napadá otázka, v čem tedy ten tvůj porblém vlastně spočívá. Je to v tom, že ti Tvheadend playlist do Automatic Network nenačte nebo v tom, že ti on z něj není schopen vygenerovat funkční službu, či co vlastně?! Nerad ztrácím čas zbytečným vysvětlováním problému, ale v tvém  případě si nejsem  jistý, zda se to už nestalo. Ten důraz na to, aby lidé popisovali své problémy dostatečně a ragovali na doplňující otázky, tu není kladen proto, aby někdo někoho buzeroval, ale proto, aby se věci daly řešit efektivně...
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)