smazáno
Hodnocení tématu:
Playlist O2TV.CZ script - vývoj a podpora zde ukončena
|
13.11.2018, 21:40
Problémy s přihlašováním - objasnění
Před časem se tu řešily problémy s přihlašováním. Bylo několik názorů co za tím stálo a také diskuze o tom, co stálo za tím, že někomu po krátkém výpadku začalo přihlašování fungovat, většina musela počkat na novou verzi addon/scriptu. Dneska jsem měl možnost mluvit s insiderem z O2 a dostal následující vysvětlení. Není asi úplně 100% (dotyčný pracuje v jiné části O2 a informace má také pouze zprostředkované) a nelze se tedy na ně spolehnout, ale jistá logika v nich je a +/- odpovídají mým vlastním zkušenostem i informacím tady z fóra. Berte to tak, že "prodávám, jak jsem nakoupil".
Došlo skutečně ke změnám v procesu přihlašování, které se projevily následně různě u uživatelů:
Před časem se tu řešily problémy s přihlašováním. Bylo několik názorů co za tím stálo a také diskuze o tom, co stálo za tím, že někomu po krátkém výpadku začalo přihlašování fungovat, většina musela počkat na novou verzi addon/scriptu. Dneska jsem měl možnost mluvit s insiderem z O2 a dostal následující vysvětlení. Není asi úplně 100% (dotyčný pracuje v jiné části O2 a informace má také pouze zprostředkované) a nelze se tedy na ně spolehnout, ale jistá logika v nich je a +/- odpovídají mým vlastním zkušenostem i informacím tady z fóra. Berte to tak, že "prodávám, jak jsem nakoupil".
Došlo skutečně ke změnám v procesu přihlašování, které se projevily následně různě u uživatelů:
- s STB - tam většinou k výpadku služby (možnosti přihlášení) nedošlo
- uživatelů i jiných služeb (nejen tedy O2TV) - u nich došlo k trvalému výpadku a museli použít novou verzi přihlašování
- uživatelů pouze s O2TV, kteří neměli "Můj účet O2" - došlo u nich k výpadku, ale pouze dočasnému, po několika hodinách se funkce přihlašování obnovila v původní rozsahu
10.1.2019, 17:31
Děje se mi že při použití ffmpeg( přes TVH) u SD programu se mi vybere nejhorší nebo horší kvalita streamu. Máte s tím někdo zkušenost?Vyzkoušel jsem už asi 3 scripty a nemůžu docílit toho aby byla defaultně vybrána nej kvalita.
Např. spustím 3x stejný program kvalita nej a na počvrté se mi tam dá horší kvalita....
Mohl by někdo poradit?
Např. spustím 3x stejný program kvalita nej a na počvrté se mi tam dá horší kvalita....
Mohl by někdo poradit?
10.1.2019, 17:48
analyzuj stream a na pevno si tam namapuj ten stream s nejvyssim nebo celkove rozlisenim ktere chces. to same plati pro zvukove stopy. -map 0:1 nebo jak si pbudeš přát
@otava5 Použij script od @pavuucek. Nebo je tady někde oprava v modulu o2tvgo.py (myslím, že je to v tom vlákně addon). Má tam doplněný kód, ve kterém se snaží vybrat nejlepší možnou kvalitu v nabízených streamech. Já tam měl taky to původní od @JiRo, kde se bral první nabízený stream a skutečně to někdy a náhodně vrátilo nižší kvalitu. Tak jsem si to podle @pavuucek opravil a funguje mi to super. Vše mám v FHD.
Je to tady:
Je to tady:
Kód:
def url(self):
if not self._o2tv.access_token:
self._o2tv.refresh_access_token()
access_token = self._o2tv.access_token
if not self._o2tv.subscription_code:
self._o2tv.refresh_configuration()
subscription_code = self._o2tv.subscription_code
playlist = None
while access_token:
params = {"serviceType":"LIVE_TV",
"subscriptionCode":subscription_code,
"channelKey": self.channel_key,
"deviceType":self.quality,
"streamingProtocol":"HLS"} # JiRo - doplněn parametr kvality
headers = _COMMON_HEADERS
cookies = { "access_token": access_token, "deviceId": self._o2tv.device_id }
req = requests.get('http://app.o2tv.cz/sws/server/streaming/uris.json', params=params, headers=headers, cookies=cookies)
jsonData = req.json()
access_token = None
if 'statusMessage' in jsonData:
status = jsonData['statusMessage']
if status == 'bad-credentials':
access_token = self._o2tv.refresh_access_token()
elif status == 'channel.not-found':
raise ChannelIsNotBroadcastingError()
else:
raise Exception(status)
else:
# Pavuucek: Pokus o vynucení HD kvality
playlist = ""
# pro kvalitu STB nebo PC se pokusíme vybrat HD adresu.
# když není k dispozici, tak první v seznamu
if self.quality == "STB" or self.quality == "PC":
for uris in jsonData["uris"]:
if uris["resolution"] == "HD" and playlist == "":
# vezmi první HD adresu
playlist = uris["uri"]
# playlist nebyl přiřazený, takže první adresa v seznamu
if playlist == "":
playlist = jsonData["uris"][0]["uri"]
return playlist
@Client: koukal jsem na kód a mám ho stejný jak si poslal asi proto že používám https://github.com/Pavuucek/O2TVKodi
tak jsem ze scriptu úplně vyhodil parametr -map a zdá se že to konečně funguje korektně....
tak jsem ze scriptu úplně vyhodil parametr -map a zdá se že to konečně funguje korektně....
10.1.2019, 21:00
@otava5 : přečti si co parametr -map znamena. Jak ti psal výše Client, musíš upravit "pipe" kde mapauješ jak si přeješ. abys obdržel, jinak se může stat, že budeš mit někdy menší rychlost připojení a hodi to rovnou SD kvlaitu při volani. Zde vidíš napriklad info.
Já kdybych chtěl nejvyšší tak bych tam dal -map 0:12 protože jak vidíš tak zde máš rozlišení 1920x1080
toto je moje dobře míněna rada, je to na tobě.
Stream #0:0: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 512x288 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:2: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:3: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 720x404 [SAR 404:405 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:4: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:5: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:6: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1024x576 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:7: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:8: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:9: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:10: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:11: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:12: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:13: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:14: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Já kdybych chtěl nejvyšší tak bych tam dal -map 0:12 protože jak vidíš tak zde máš rozlišení 1920x1080
toto je moje dobře míněna rada, je to na tobě.
Stream #0:0: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 512x288 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:2: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:3: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 720x404 [SAR 404:405 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:4: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:5: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:6: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1024x576 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:7: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:8: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:9: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:10: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:11: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:12: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:13: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Stream #0:14: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
11.1.2019, 2:32
@otava5 Tohle se ať už tady ve scriptu nebo v addon snad řešilo několikrát. Já jsem časem dospěl k řešení, které mi funguje. Používám jednoduchý streamer script podle @JiRo (pro testovací účely si ukládám jednotlivé kroky do souborů *.log, což samozřejmě není nutné a je to možné vyhodit) a zdá se, že to zatím funguje bez problémů.
Kód:
#! /bin/bash
source=$*
stream=$(grep -A 1 "${source}$" /storage/.kodi/userdata/addon_data/service.playlist.o2tv/o2tv.generic.m3u8 | head -n 2 | tail -n 1)
echo ${stream} > /storage/.kodi/userdata/addon_data/service.playlist.o2tv/stream_HLS.log
wget -O /storage/.kodi/userdata/addon_data/service.playlist.o2tv/stream_ALL.log "${stream}"
stream=$(wget -qO - "${stream}" | tail -n 1)
echo ${stream} > /storage/.kodi/userdata/addon_data/service.playlist.o2tv/stream_LAST.log
ffmpeg -fflags +genpts -loglevel fatal -i ${stream} -vcodec copy -acodec copy -map 0 -f mpegts -metadata service_provider=o2tv.cz -metadata service_name=SERVICE -mpegts_service_type digital_tv pipe:1
28.1.2019, 17:20
pavuucek vedel by si pridat možnsť preposlať playlist.m3u8 na server trebars cez ftp ? diky
03.4.2019, 19:49
(Tento příspěvek byl naposledy změněn: 03.4.2019, 19:50 uživatelem kapacitos78.)
Nedaří se mi u typu playlistu 3 úspěšně naskenovat žádný program, mohl by mi někdo poradit? Typ 2 mi funguje bez problémů
- ffmpeg mám nainstalované a cestu nastavenou /storage/.kodi/addons/tools.ffmpeg-tools/bin
- přes putty mám nastavený chmod na streamer.sh, o2tv.playlist.m3u8 a i na ffmpeg
- TVH používám na Rpi2 LE 9.0.1
- v přílohách mám sken chmod (jestli jsou správně) a log z TVH
streamer.sh mám tento:
- ffmpeg mám nainstalované a cestu nastavenou /storage/.kodi/addons/tools.ffmpeg-tools/bin
- přes putty mám nastavený chmod na streamer.sh, o2tv.playlist.m3u8 a i na ffmpeg
- TVH používám na Rpi2 LE 9.0.1
- v přílohách mám sken chmod (jestli jsou správně) a log z TVH
streamer.sh mám tento:
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
/storage/.kodi/addons/tools.ffmpeg-tools/bin -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 -tune zerolatency -bsf:v h264_mp4toannexb,dump_extra -mpegts_service_type digital_tv pipe:1
04.4.2019, 20:36
Tak pomohlo použít základní streamer.sh od JiRa, asi hodinu to šlo bez problémů a pak se vyskytla další chyba...
Kód:
2019-04-04 20:33:21.978 spawn: wget: server returned error: HTTP/1.1 403 Forbidden
05.4.2019, 8:32
@kapacitos78 Tak ten první script je patrně od pavuucka, takže hledej odpověď u něj. Druhý od @JiRo se týká tohoto tématu, které je, jak známo, uzavřené. Tady je každá rada drahá. Já tedy nejsem schopný takto na dálku zjistit co a jak, protože ten script už také nepožívám a ani neznám jeho obsah.
06.4.2019, 10:14
Tak pomohlo vytvořit admin účet, teď už vše funguje :)
07.4.2019, 12:08
Mam otazecku, pouzivam script, ale nemuzu nejak docilit aby se mi doplnovalo EPG k tem programum z externiho EPG.... zkousim do playlistu doplnovat ruzne tvg-id, tvg-name, ale porad nic...
07.4.2019, 15:48
davam ho do TVHEadend... a aby mi to nacetl EPG
07.4.2019, 16:20
@Konycz Těch míst, kde se to může "podělat" je hodně. Každopádně musíš:
- mít tvg-id zadáno v playlistu,
- pak musíš dosáhnout toho, aby se znova načetl playlist
- musíš mít samozřejmě načtěný xmltv
- v programech nastavený parametr Automatické mapování EPG zdroje
- pak si znovu spustit interní graber nebo (pokud používáš externí) znova vložit xmltv
- nakonec restartovat Kodi s PVR
Prochází: 3 host(ů)