• 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:
  • 3 Hlas(ů) - 4.67 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Playlist O2TV.CZ script - vývoj a podpora zde ukončena
#41
@JiRo Tak to asi bude asi nějaký omezení pro arm architekturu. -tune totiž neumí ani statická verze z ffmpegu https://johnvansickle.com/ffmpeg/ . Přitom na verzi pro x86_x64 to funguje normálně.
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
#42
@JiRo ffmpeg a CE viz zde https://discourse.coreelec.org/t/add-fea...fault/1512

@pavuucek Skript upraven, ale stejna chyba, problem pretrvava... Kam do tempu se ma ukladat ten playlist? Nikde ho totiz nemuzu najit...

Kód:
#! /bin/bash
source=$*
tempplaylist=$(mktemp -u)".m3u8"
stream=$(grep -A 1 "${source}$" /storage/.kodi/userdata/addon_data/service.playlist.o2tv/o2tv.generic.m3u8 | head -n 2 | tail -n 1)
wget -qO ${tempplaylist} ${stream}
streamcount=$(cat ${tempplaylist} | grep -Eo "(http|https)://[\da-z./?A-Z0-9\D=_-]*" | wc -l)
streamcount=$((streamcount-1))
if  [ "$streamcount" = "-1" ]; then streamcount=0; fi
ffmpeg -protocol_whitelist file,http,https,tcp,tls -fflags +genpts -loglevel fatal -i ${tempplaylist} -probesize 32 -reconnect_at_eof 1 -reconnect_streamed 1 -c copy -map p:${streamcount}? -f mpegts -bsf:v h264_mp4toannexb,dump_extra -mpegts_service_type digital_tv pipe:1
 
#43
pavuucek: Díky za info o odebraní -re nyní i přepínaní je rychlejší....a stabilnější....

alibababa: Ahoj mám taky arm ale zkoušel jsem pavuucek script no. 2 a byly chyby... Mám dojem že ffmpeg je pro LE arm je očesaný....

Mohlo fungovat takto?
ffmpeg -fflags +genpts -i ${tempplaylist} -probesize 32 -c copy -f mpegts -map p:${streamcount}? -mpegts_service_type digital_tv pipe:1
 
#44
Playlist se stáhne do adresáře /tmp a jméno má náhodně vygenerovaný, ale dá se najít podle přípony m3u8.
Prosím odmaž ffmpegu parametr -loglevel fatal , snad z něj vypadne co že to vůbec dělá, nebo nedělá...
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
#45
pavuucek : na čem provozuješ TVH s ffmpeg?
 
#46
@otava5 Diky za tip, ale bohuzel nefunguje... Stale mi TVH hazi tu stejnou chybu. Ach jo...
 
#47
@otava5 si to bydu muset dát do podpisu... Tvh mám na serveru s ubuntu 18.04 (intel core i5-950) a klient mám wetek play 2 s libreelec 8.25
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
#48
@pavuucek Ano, to se zdá jako nejpravděpodobnější vysvětlení. Až bud mít chvíli, vyzkouším to v LE na RPi, ale oni si s tím mezitím snad ostatní poradí.
 
#49
alibababa: jen pro příklad mě pro jiný playlist to funguje takto pod LE arm:
ffmpeg -fflags +genpts -i $(grep -A 2 "$*$" /storage/.kodi/userdata/playilist.m3u | head -n 3 | tail -n 1) -probesize 32 -c copy -f mpegts -map 0:v -map 0:a -mpegts_service_type digital_tv pipe:1
 
#50
(02.9.2018, 12:11)pavuucek Napsal(a): Playlist se stáhne do adresáře /tmp a jméno má náhodně vygenerovaný, ale dá se najít podle přípony m3u8.
Prosím odmaž ffmpegu parametr -loglevel fatal , snad z něj vypadne co že to vůbec dělá, nebo nedělá...

Tak uz tu je problem, protoze se playlist nikam do /tmp neulozi, prolezl sem vsechny slozky...
Odmazano, ale jak a kde zjistim, co z ffmpegu pada?
 
#51
V logu tvheadendu, tj na úplně tom samým místě co vypadlo tohle :-)
(01.9.2018, 23:19)alibababa Napsal(a): 2018-09-01 23:16:14.956 mpegts: o2tv.playlist.m3u8 - ČT sport HD in O2TV - tuning on IPTV
2018-09-01 23:16:14.960 spawn: Executing "/storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh"
2018-09-01 23:16:14.961 subscription: 000B: "scan" subscribing to mux "o2tv.playlist.m3u8 - ČT sport HD", weight: 6, adapter: "IPTV", network: "O2TV", service: "Raw PID Subscription"
2018-09-01 23:16:14.965 iptv: stdin pipe unexpectedly closed: No data
2018-09-01 23:16:29.956 mpegts: o2tv.playlist.m3u8 - ČT sport HD in O2TV - scan no data, failed
2018-09-01 23:16:29.956 subscription: 000B: "scan" unsubscribing
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
#52
Po smazani "-loglevel fatal" log nic jineho, nez jsem napsal drive, neukazuje. Hlavne asi vidim problem v tom, ze se nikam do /tmp playlist neuklada...
 
#53
Pánové, jen poznámka. Pro podrobnější výpis je třeba ještě TVH log přepnout do debug mode, ale ani tak patrně nedostanete úplný výpis z ffmpeg (tedy to si jen myslím). Já si funkci skriptu raději zkouším jeho zavoláním (se správným parametrem) z konzole. Jen je vhodné z volání ffmpeg vyhodit pipe:1, jinak toho moc neuvidíte a u některých streamů vám dá zatracenou práci ten sypající se čaj vůbec zastavit. 1

A pokud @alibababa nemůže najit ten uložený playlist, tak ať si dá místo $(mktemp -u)".m3u8" třeba "/storage/.kodi/userdata/addon_data/service.playlist.o2tv/playlist.m3u8"
 
#54
@JiRo I Tobe diky za tip, vyzkouseno, ale stale to stejny :-(
 
#55
@alibababa No a zavolat ten script z konzole jsi zkusil? Měl bys dostat kompletní výpis ffmpeg a tam bys viděl, co mu vadí. Celý problém je z pohledu TVH ten, že mu ffmpeg do stdin nazačne posílat data streamu, na která on čeká. TVH na to reaguje hláškou "iptv: stdin pipe unexpectedly closed: No data". Musíš tedy zjistit, proč ffmpeg ta data streamu do TVH neposílá. Buď proto, že žádná data na svém vstupu sám nedostává nebo proto, že je zavolané se špatnými parametry a skončí s chybou.
 
#56
@JiRo A poradis mi, jak zavolat ten script z konzole? Pripojim se pres putty a vlozim tam tohle?

ffmpeg -protocol_whitelist file,http,https,tcp,tls -fflags +genpts -loglevel fatal -i ${tempplaylist} -probesize 32 -reconnect_at_eof 1 -reconnect_streamed 1 -c copy -map p:${streamcount}? -f mpegts -bsf:v h264_mp4toannexb,dump_extra -mpegts_service_type digital_tv pipe:1
 
#57
@alibababa Ne, to by sis moc nepomohl. Musíš napsat to samé, co je v některém řádku vygenerovaného playlistu o2tv.playlist.m3u8. Tzn volání scriptu (streameru) a parametrem jména kanálu odpovídající vybranému řádku. Ale ještě před tím musíš z toho scriptu streameru vyhodit pipe:1 (pokud to neuděláš, budou se ti data streamu sypat na konzoli, a věř mi, že to nechceš vidět.  1) a samozřejmě také -loglevel fatal, to abys nějaký výpis z ffmpeg vůbec viděl.
 
#58
Kód:
#! /bin/bash
source=$*
tempplaylist="/storage/.kodi/userdata/addon_data/service.playlist.o2tv/playlist.m3u8"
stream=$(grep -A 1 "${source}$" /storage/.kodi/userdata/addon_data/service.playlist.o2tv/o2tv.generic.m3u8 | head -n 2 | tail -n 1)
wget -qO ${tempplaylist} ${stream}
streamcount=$(cat ${tempplaylist} | grep -Eo "(http|https)://[\da-z./?A-Z0-9\D=_-]*" | wc -l)
streamcount=$((streamcount-1))
if  [ "$streamcount" = "-1" ]; then streamcount=0; fi
ffmpeg -protocol_whitelist file,http,https,tcp,tls -fflags +genpts -i ${tempplaylist} -probesize 32 -reconnect_at_eof 1 -reconnect_streamed 1 -c copy -map p:${streamcount}? -f mpegts -bsf:v h264_mp4toannexb,dump_extra -mpegts_service_type digital_tv
Takto vypada skript...

Z o2tv.playlist.m3u8 napisu do putty
pipe:///storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh Prima Cool HD

A vysledek je
CoreELEC:~ # pipe:///storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh
 Prima Cool HD
-sh: pipe:///storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh: not found
 
#59
@alibababa Strašně se omlouvám, to jsem ti ještě zapomněl říci, že také musíš vynechat na začátku řádku ještě to pipe://, takže to bude vypadat /storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh Prima Cool HD.
 
#60
@JiRo Nevadi, ale vysledek je stejny...
-sh: /storage/.kodi/userdata/addon_data/service.playlist.o2tv/test.sh: not found

Jinak zadny playlist, se mi do /tmp neuklada, i jsem vsude mozne tento adresar vytvoril. Problem musi byt v tom tempplaylistu. Jinak uz fakt nevim...

Chodi pls nekomu ten skript treba na maline nebo android boxu?
 
  


Přejít na fórum:


Prochází: 2 host(ů)