• 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:
  • 5 Hlas(ů) - 3.4 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Připojení CZ/SK poskytovatelů OTT IPTV k TVHeadendu
@Client: jak prosím tě vyvolám ffmpeg informace o streamu. Nemohu si vzpomenout ...

Co dělám špatně:
Kód:
channel=$1
service=$2
mapping=$3

streaming_protocol=HLS

access_id=$(cat ${data}access.id | head -n 1 )
device_id=$(echo ${access_id} | cut -d' ' -f2)
access_token=$(echo ${access_id} | cut -d' ' -f3)
subscription=$(echo ${access_id} | cut -d' ' -f4)

json=$(wget -qO - --header "X-NanguTv-Access-Token:${access_token}" --header "X-NanguTv-Device-Id:${device_id}" "https://app01.gtm.orange.sk/sws/server/streaming/uris.json?serviceType=LIVE_TV&deviceType=${device_type}&streamingProtocol=HLS&subscriptionCode=${subscription}&channelKey=${channel}&encryptionType=NONE")

sed_string=s/_sd_/_hd_/g
[ "${resolution}" = "SD" ] && sed_string=s/_hd_/_sd_/g
stream=$(echo ${json} | sed "${sed_string}" | jq -r '.uris' | jq '.[0].uri' | tr -d '"' )

${prog}ffmpeg -fflags +genpts -i ${stream} -map 0:10 -map 0:11 -vcodec copy -acodec copy -f mpegts -mpegts_service_type digital_tv -metadata service_provider=${provider} -metadata service_name=${service} pipe:1
chodí jako /storage/.kodi/userdata/orangetv.sh/streamer.sh orange_sport_archiv

Kód:
channel=$1
service=$2
mapping=$3

streaming_protocol=HLS

access_id=$(cat ${data}access.id | head -n 1 )
device_id=$(echo ${access_id} | cut -d' ' -f2)
access_token=$(echo ${access_id} | cut -d' ' -f3)
subscription=$(echo ${access_id} | cut -d' ' -f4)

json=$(wget -qO - --header "X-NanguTv-Access-Token:${access_token}" --header "X-NanguTv-Device-Id:${device_id}" "https://app01.gtm.orange.sk/sws/server/streaming/uris.json?serviceType=LIVE_TV&deviceType=${device_type}&streamingProtocol=HLS&subscriptionCode=${subscription}&channelKey=${channel}&encryptionType=NONE")

sed_string=s/_sd_/_hd_/g
[ "${resolution}" = "SD" ] && sed_string=s/_hd_/_sd_/g
stream=$(echo ${json} | sed "${sed_string}" | jq -r '.uris' | jq '.[0].uri' | tr -d '"' )

${prog}ffmpeg -fflags +genpts -i ${stream} ${mapping} -vcodec copy -acodec copy -f mpegts -mpegts_service_type digital_tv -metadata service_provider=${provider} -metadata service_name=${service} pipe:1
nechodí jako /storage/.kodi/userdata/orangetv.sh/streamer.sh orange_sport_archiv "-map 0:10 -map 0:11"

aha uvozovky 1
 
Citovat
O2TV

O několik postů výše jsem na základě @otava hodnocení použití cache rozjel polemiku, zda to má nebo nemá smysl. Dne jsme se na to podíval věcně. Je ráno, takže ani Internet ani O2TV servery asi nebudou zatížené. Pro ilustraci to zkusím ještě večer, abych měl srovnání.

Tedy ranní stav, při volbě kanálu O2TV Sport HD, nejdříve 2x po sobě s cache, pak 2x po sobě bez cache tak, jak je vidět v streamer.log:
Kód:
2019-10-25 06:58:09.520209760 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 06:58:09.523266003 MODE Cached streams
2019-10-25 06:58:09.526703867 CACHE Tested
2019-10-25 06:58:09.540509949 TIME Create: 2019-10-24 18:42:37 Expire: 2019-10-25 18:42:37
2019-10-25 06:58:09.560779162 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 06:58:18.880486948 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 06:58:18.884951735 MODE Cached streams
2019-10-25 06:58:18.899988943 CACHE Tested
2019-10-25 06:58:18.909915551 TIME Create: 2019-10-24 18:42:37 Expire: 2019-10-25 18:42:37
2019-10-25 06:58:18.922516818 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 06:58:43.123795409 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 06:58:43.130456606 MODE No cached streams
2019-10-25 06:58:43.681125633 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 06:58:51.722821825 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 06:58:51.726909740 MODE No cached streams
2019-10-25 06:58:52.324188228 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
Počítám čas od spuštění streamer.sh - PARAM - to je výpis parametrů spuštění, do - STREAM - tedy doby získání adresy streamu.

S cache je to pokaždé 0,04 vteřiny a bez cache jednou 0,56 a jednou 0,60 vteřin.

A nyní tedy večerní stav. Nejdříve je tam záznam spuštění kanálu u kterého skončila platnost uložené adresy streamu a pak 2x po sobě s cache, pak 2x po sobě bez cache:
Kód:
2019-10-25 18:43:31.579322189 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 18:43:31.584339999 MODE Cached streams
2019-10-25 18:43:31.590072090 CACHE Tested
2019-10-25 18:43:31.603661004 TIME Create: 2019-10-24 18:42:37 Expire: 2019-10-25 18:42:37
2019-10-25 18:43:31.620175197 CACHE Created
2019-10-25 18:43:32.033539783 JSON {"uris":[{"uri":"http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8","priority":0,"verimatrix3Encrypted":false,"securemediaEncrypted":false,"irdetoEncrypted":false,"irdetoEncryptedOTT":false,"externallyEncrypted":false,"widevineEncrypted":false,"playreadyCustomData":null,"streamingProtocol":"HLS","encryptionType":"NONE","videoCodec":"H264","startOverlap":null,"endOverlap":null,"resolution":"HD","tag":"OTT"}]}
2019-10-25 18:43:32.349912704 TIME Create: 2019-10-25 18:43:32 Expire: 2019-10-26 18:43:32
2019-10-25 18:43:32.385495208 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 18:45:38.076369420 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 18:45:38.079576374 MODE Cached streams
2019-10-25 18:45:38.082626948 CACHE Tested
2019-10-25 18:45:38.092011490 TIME Create: 2019-10-25 18:43:32 Expire: 2019-10-26 18:43:32
2019-10-25 18:45:38.105107650 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 18:45:52.866276041 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 18:45:52.878728656 MODE Cached streams
2019-10-25 18:45:52.881601063 CACHE Tested
2019-10-25 18:45:52.898987081 TIME Create: 2019-10-25 18:43:32 Expire: 2019-10-26 18:43:32
2019-10-25 18:45:52.912020513 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 18:47:37.612344811 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 18:47:37.615010410 MODE No cached streams
2019-10-25 18:47:38.447749763 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8
2019-10-25 18:47:52.639646708 PARAM o2sporthd O2%20Sport%20HD
2019-10-25 18:47:52.642939325 MODE No cached streams
2019-10-25 18:47:53.262671962 STREAM http://stc.o2tv.cz/at/.../5-tv-stb_hd_ott.m3u8

Nejprve první záznam, tedy načtení cache, test platnosti (zjistí se že platnost už skončila), request na server služby a uložení nové adresy do cache za celkem 0,81 vteřin. A pak stejně jako ráno, s cache je to 0,03 a 0,05 vteřiny a bez cache 0,83 a 0,62 vteřin.

Samozřejmě, že malý počet vzorků nedává úplně korektní výsledky, ale i to, co je jen naznačeno ukazuje, že cache zrychlí proces přepnutí o cca 0,6 - 0,7 vteřiny. Větší zpoždění večer je nepatrné a spadá do nepřesnosti použitého postupu a metodiky vyhodnocení. Možná, že větší rozdíly mez i raním a večerním měřením bychom viděli v době, kdy O2TV vysílá nějaké atraktivní sportovní pořady.

Závěr?

Jestli se cache vyplatí nebo ne, nechám na každém. Je ale možné, že rozdíl 0,6 až 0,7 vteřiny už může překonat psychologickou bariéru pocitu, že to přepnutí trvá příliš dlouho. Samozřejmě, je třeba se smířit s tím, že 1x za 24 hodin se výhoda cache ztratí. Při její obnově.

@ptd2000cz: Uff, zase jsme to zvoral... Asi nepoužíváš cache, viď? A já v této části streamu zapomněl odstranit jednu "úpravu", která způsobí, že se bez ohledu na nastavené parametry vždy spustí HD stream.

Najdi ve streamer.sh tohle:
Kód:
stream=$(echo ${json} | jq -r '.uris' | jq -r '.[0].uri' | sed "s/_sd_/_hd_/")
a nahraď to tímhle:
Kód:
stream=$(echo ${json} | jq -r '.uris' | jq -r '.[0].uri')
 
Citovat
@Client: Ahoj. Moc děkuji za tvou verzi 0.5. Vše funguje :) Nemusím řešit playlist v cronu, pravděpodobně nezatěžuji o2 requestama. Prostě pohodička :) Ještě musím kouknot na epg, ale to už není tak důležitý.
 
Citovat
@tom32 Ano, tohle řešení zatěžuje O2TV request-ama jen v jedné chvíli, a to je při scanu kanálů. Prakticky tedy pouze jednou, při prvním scanu nového plalyistu a pak pouze při rescanu, kdy přidáš nebo odebereš nějaký kanál, ale to už jsou pak jen jednotlivé requesty.

Epg bohužel nevytvářím. Ale pokud používáš Tvheadend neměl by pro Tebe být problém zmáknout WG++, případně použít už něco hotového a zeditovat si parametry v playlistu.
 
Citovat
@Client: jojo, než jsem v tvheadendu skenoval, tak jsem při vytváření network nastavil maximum input streams: na 1, tak že skenování trvalo sice dlouho, ale jeden kanál za druhým a ne víc najednou. (jedničku tam v mém případě nechám, protože to mám stejně jen na jednu tv na chalupu)
 
Citovat
@Client: u OrangeTV mi nechodí streamer.sh v.0.5 chyba wget...naopak streamer viz výše ano...zvláštní...
 
Citovat
Script běhá parádně. Zkouším testovat tu cache, ale ať dělám co dělám, script nemá práva vytvořit složku/soubor. Nikdy jsem podobný problém se scripty neměl.

-rwxrwxrwx  1 root root  4796 Oct 25 15:53 streamer.sh

2019-10-25 15:53:27.828 spawn: /home/xxx/streamer.sh: 74: /home/xxx/streamer.sh: cannot create /home/xxx/.cache/xxx.strm: Permission denied


Netušíte kde by mohl být zakopaný pes? Používám plnohodnotný Debian.
 
Citovat
@romcan Asi problém v tom, že ten script spouští Tvheadend a asi nemá práva v daném adresáři vytvořit soubor. Zkus změnit práva u adresáře .cache nebo toho xxx.

O2TV

Večerním testem jsem dokončil porovnání času nutného k získání adresy streamu s cachce a bez cache. Jestli vám zkrácení přepnutí o cca 0,6 - 0,7 vteřiny stojí za to, určitě si přečtěte tento příspěvek: https://www.xbmc-kodi.cz/prispevek-pripojeni-cz-sk-poskytovatelu-ott-iptv-k-tvheadendu?pid=75099#pid75099.
 
Citovat
@Client: Díky za nakopnutí, problém byl přesně jak píšeš s právy TVheanded pro zápis do složky.
Jinak parádní práce, script běhá skvěle. Díky
 
Citovat
O2TV - problémy se zatížením serverů

Dnes opět nastal podobný problém jako již několikrát v poslední době. Slavia - Plzeň + opakování zápasu z WTA Masters, ... O2TV to řeší tím, že na nejzatíženějších kanálech začne vracet adresy streamů z trochu jinou strukturou, které jsou tzv. anonymizované.  Tzn. neobsahují identifikační informace. Patrně tím obchází problémy s autentizací na svých nativních prostředcích ke sledování. Pokud používáte ve streamer.sh cache, pravděpodobně v tu chvíli a po přepnutí kanálu, nenaběhne stream. Pomoc by měla být snadná. Vypnout ve streamer.sh cache, tzn. editovat na cache=

Vím, je to otravné, snad se mi podaří vymyslet nějaké elegantní řešení.
 
Citovat
@Client: tvůj příspěvěk https://www.xbmc-kodi.cz/prispevek-pripo...3#pid75043 mi udělal hroznou radost :-) Mám totiž k dispozici jen T-Mobile TV a Horizon Go a rád bych to rozjel na TVheadendu. Může se prosím zeptat za jak dlouho zveřejníš T-M TV? Nechci nijak tlačit, jen mě zajímá jestli je to otázka dnů, týdnů, měsíců. :-)
Díky
 
Citovat
@wolfjunior T-Mobile je záležitost dnů, stačí se jen tomu věnovat. Testuji to, mám trochu problémy s tím, když nahrávám a pak si pustím Live TV na ten samý kanál, že to nefunguje úplně ideálně. Ale s tím já asi stejně nic neudělám. Jinak základní sledování a nahrávání funguje dobře.

Horizon Go už tady někdo také požadoval. Plánuji se na to taky někdy podívat, ale zatím o tom nevím vůbec nic. Ani nevím, jakou technologii používají, takže to možná bude práce od píky - nachytat  komunikaci, zanalyzovat, navrhnout a zprovoznit. Jsem zákazník UPC Internet, takže si asi na měsíc zaplatím tarif a pak se do toho dám.
 
Citovat
@Client: Tak to je super zpráva.
Kdyby jsi chtěl zkoušet ten Horizon Go, tak ti můžu poskytnout můj účet. Já to nepoužívám, protože ten jejich STB je nanic :-) Mám tarif "Klasik+ k internetu" se 60 pořady (40 v HD).
 
Citovat
Ten Horizon Go by byl fain, moc děkujeme.
 
Citovat
@Client
Připojuji se prosbou o Horizon GO
ThinkPad T530 : Lubuntu 20.04 + Kodi 19.4 

        
 
Citovat
@Client: velké díky!!!

Už jsem se pokusil to rozchodit, ale zatím neúspěšně. Skončil jsem u generování playlistu

Kód:
pi@raspberrypi:~/tmobiletv $ sudo bash login.sh
Service's Ids saved to /home/pi/tmobiletv/access.id
OK
pi@raspberrypi:~/tmobiletv $ sudo bash playlist.sh
Get subscription...
Get channels list...
ERROR: No purchased channels

když koukám na webu T-Mobile: "V současné době máte aktivní tarif T-Mobile TV S. Nabídka 76 nejsledovanějších televizních programů (12 v HD kvalitě).".

Tak nějak nevím co mám kde zkontrolovat/udělat...
 
Citovat
@wolfjunior No jo, člověk to zkouší v nějaké konfiguraci a jakmile se to dostane k někomu jinému (jiná lokalita, jiný výběr kanálů, ...), tak může být všechno jinak. V tom řešení je několik míst, kde si nejsem jistý, co je konstanta a co se může měnit v případě, je-li přihlášen někdo jiný. Mám jisté podezření, ale musím to doma vyzkoušet, abych dosáhl stejného stavu jako ty. Mrzí mě to, ale snad to nějak dám dohromady.

Koukám, že si scripty už pár lidí stáhlo, rád bych věděl, jestli má někdo z nich také podobné problémy. Informace by mi také pomohly.

@wolfjunior Můžeš pustit login.sh nebo playlist.sh s nastaveným debug=1 a říci mi, jakou máš hodnotu v proměnné locality?
 
Citovat
@Client: "locality : prg04"
 
Citovat
@wolfjunior No to je mi záhada. Na to locality jsem sázel. Budu tam muset přidat nějaké kontrolní výpisy. Takhle na dálku, když do toho nevidím, to nemám šanci odladit. Večer se na to mrknu důkladně.
 
Citovat
@Client: jasně. Zatím moc díky za snahu.
Cokoliv budeš potřebovat ode mě za výstupy, stačí říct :-)
 
Citovat
  


Přejít na fórum:


Prochází: 13 host(ů)