XBMC-plugin Elisa Viihteelle


Tulipas tuossa iltojen ratoksi koodailtua pluggari http://xbmc.org/ :lle, jotta voi sitä kautta katsella tallenteita. Tässä ei siis ole muuta ominaisuutta kuin tallenteiden katselu.
Toimivuus testattu uusimmalla versiolla.

Testattu sekä Windows-, että Live-versioilla.

Muutoslogi:

https://github.com/anylonen/XBMC-Elisa-Viihde-plugin/blob/master/plugin.video.elisa.viihde/changelog.txt

Asentaminen ja latauslinkki:

https://github.com/anylonen/XBMC-Elisa-Viihde-plugin/wiki/Asentaminen

Ja palautetta/kehitysehdotuksia otetaan tietenkin vastaan!

Edit: Aloitusviestiä muokattu purtsin pyynnöstä ajantasalle. -groner

350 kommenttia

eerovil kirjoitti:


apino kirjoitti:

Sain api keyt, mutta Kodissa tulee erroria.

Miten plugari pitäisi asentaa? Näinkö:

  1. Vanhalle asennukselle ei tarvi tehdä Kodissa mitään
  2. Copypastetaan Kodin addons-kansioon script.module.elisaviihde-kansion tilalle saman niminen kansio (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  3. Copypastetaan Kodin addons-kansioon plugin.video.elisa.viihde-kansion tilalle Githubista ladattu XBMC-Elisa-Viihde-plugin-master-niminen kansio
  4. Copypastetaan Kodin addons->packages-kansioon script.module.elisaviihde.zipin tilalle saman niminen .zip (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  5. Avataan Kodi, Viihde-plugarin Settings ja laitetaan API key -kohtaan Palstatiimin lähettämän s-postin api_doc.txt-tiedostosta löytyvä pitkä rimpsu
  6. Laitetaan samassa ikkunassa alla olevaan Secret API -kenttään Palstatiimiltä saadun s-postin viestikentässä näkyvä pitkä rimpsu
  7. Painetaan OK, avataan plugari ja kaiken pitäisi toimia?


Itselläni oli ongelmia saada tuolla tekniikalla toimimaan. Paras tapa on poistaa elisa viihde -lisäosa, sitten ladata githubista zip-muodossa nuo molemmat (plugin.video.elisa.viihde ja script.module.elisaviihde).

Sitten kodin valikosta install from repository -> taaksepäin yksi (..) -> install from zip -> asenna täältä ensin script.module.elisaviihde ja sitten plugin.video.elisa.viihde.

-external_api_key on tosiaan se sähköpostissa tullut avain
-external_client_secret löytyy kätevästi tiedostosta api_elisaviihde_fi_official/robot/ApiElisaViihdeLibrary.py (tää on varmaan kaikilla sama, minun avain on "nZh..." jne. n.10 merkkiä)

Tässä vielä suorat linkit zippeihin (asenna mielellään tässä järjestyksessä):
https://github.com/Eerovil/elisaviihde/archive/master.zip
https://github.com/Eerovil/XBMC-Elisa-Viihde-plugin/archive/master.zip





Moi

Onko muut saaneet asennettua näillä ohjeilla?
Mulla ei suostu asentamaan ollenkaan elisaviihde-master.zip vaan herjaa seuraavaa

17:20:25.402 T:1352659872 ERROR: GetDirectory - Error getting
17:21:40.664 T:1947238416 ERROR: Previous line repeats 9 times.
17:21:40.664 T:1947238416 ERROR: Failed to read 'zip://%2fvar%2fmedia%2fsda1-usb-Innostor_Innosto%2fAAA%2felisaviihde-master.zip/elisaviihde-master/addon.xml'

Plugin asentuu Ok, mutta ei toimi.

20:36:07.407 T:1947054096 ERROR: Previous line repeats 2 times.
20:36:07.407 T:1947054096 ERROR: Control 55 in window 10025 has been asked to focus, but it can't
20:36:07.555 T:1320154016 ERROR: No module named elisaviihde
20:36:07.556 T:1320154016 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following errorEnd of Python script error report
@Qotscha Kiitos "salapoliisityöstäsi"! Tsekkailin tuota toista ketjua, ja ihan arpomalla ja koodauksesta mitään tajuamattomana päätin kokeilla tuota uutta Elisan api-osoitetta elisaviihde.py-tiedoston "baseurl"-riville. Ja nyt toimii .ts-tiedostot!

Kuvanlaatu on aivan selkeästi parempilaatuinen verrattuna adaptiiviseen striimiin. Adaptiivisessa striimissä sai käyttää mielikuvitusta, että esim. Maikkarin HD olisi näyttänyt HD:lta. Toki olen ehdollistunut pikkutarkkaan kuvasäätöön DSPlayerin ja madvr:n parissa, mutta väitän, että jopa vaimoni (jolle tuntuu olevan aivan sama millä kuralaadulla katsoo) huomaisi eron.
st72 kirjoitti:

Kodin plugarinhan voi nyt korjata myös ts-streamille @Qotscha :n ansiokkaan työn ansiosta. Kannattaa seurata tuota naapuripalstaa, tämä thread on itse asiassa 'väärällä' puolella.

@apino : jos käytät DSPlayeriä ylipäätään jostain syystä normin sijasta niin haluat myös ts-streamin. Eroista on juttua tuolla toisella puolella, esim. urheilulähetysten osalta.



Jos tarkoitat puolella frameratella näkyviä formulalähetyksiä kuten Viihteen omalla boksilla, niin joo, ts-stream olisi kyllä enemmän kuin hyvä olla.

Olen itse pihalla näistä Elisan api-jutuista ja koodihommista, joten varmaan pärjäilen nyt adaptiivisella meiningillä, kunnes joku hieno sielu koostaa ts-stream-korjatun version plugarista. Vaimo ainakin tykkää, että adaptiivisten tallennusten alkua ei tarvitse odottaa minuuttia kuten ennen.
Käyttäjätaso 2
Kodin plugarinhan voi nyt korjata myös ts-streamille @Qotscha :n ansiokkaan työn ansiosta. Kannattaa seurata tuota naapuripalstaa, tämä thread on itse asiassa 'väärällä' puolella.

@apino : jos käytät DSPlayeriä ylipäätään jostain syystä normin sijasta niin haluat myös ts-streamin. Eroista on juttua tuolla toisella puolella, esim. urheilulähetysten osalta.
@Qotscha Päivitin LAV filterit DSPlayeriin ja kas, Kodin Viihde-plugari alkoi toimia ihan vain tuolla platform = 'android' muutoksella.

Eli .ts-tiedostot ovat siis ei-adaptiivisella bitratella, ja API-ongelma koskee vain niitä? Jos nettinopeuteni on 10/100, onko kuvanlaadussa käytännössä eroa .ts:n ja adaptiivisen välillä (ajatuksenani että adaptiivinen tulee tällöin parhaimmalla mahdollisella laadulla)? Vai onko jotain syytä pysytellä .ts-toistossa?
Käyttäjätaso 4
@apino Ei tarvitse, silloin kun APIn kautta saatavat .ts tiedostojen URLit toimivat. Tällä hetkellä ne eivät toimi joten joutuu käyttämään inputstream.adaptivea saadakseen HLS- tai DASH-streamit näkymään, jos ylipäänsä haluaa Kodin kautta jotain katsoa.

Mutta nyt rupesin miettimään, että DSPlayeria ja LAV Filtersiä käyttäessä ei varmaankaan tarvita tuota inputstream.adaptivea, sillä ainakin MPC-HC:lla uusin LAV Splitter Source osaa avata nuo HLS-striimit, joita viihde tarjoaa. Eli voit halutessasi kokeilla, niin että addon.py-tiedostoon ei tule noita ylempänä mainittuja lisärivejä vaan ainoastaan elisaviihde.py-tiedostoon tulee tuo platform = 'android' -muutos.
@Qotscha Jos oikein käsitin, Viihde-plugari ei vaadi/tarvitse tuota adaptiivista bitrate-plugaria toimiakseen, vaan Viihde on tällä hetkellä rikki Elisan "api-hässäkän" takia (jota yrittävät kuulemma korjata)?

Ainakin oma nettiyhteyteni on sen verran nopea, että en bittinopeusoptimointia kaipaa. DSPlayer + madvr on mulla käytössä juuri mahdollisimman hyvän kuvanlaadun takia.
Käyttäjätaso 4
@apino Onhan inputstream.adaptive -plugin käytössä (en muistanut ylempänä asiasta mainita)? Add-ons > My add-ons > VideoPlayer InputStream > InputStream.Adaptive > Enable. Tosin DSPlayerin kanssa se ei muistaakseni toimi (kokeilin joskus EurosportPlayer-pluginia), vaan vaatii VideoPlayerin käyttöä.

Niin ja 'adaptiiviset videot' ehkä oli hieman epätarkka ilmaisu. Tarkoitin siis adaptiivisella bittivirralla striimattuja videoita:
http://www.hdtvopas.fi/sanasto#vocabulary-item-145
https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming
Qotscha kirjoitti:

Adaptiiviset videot saa muuten näkymään seuraavasti:

  1. Tiedostossa script.module.elisaviihde/lib/elisaviihde.py funktiossa recordings_requests muuttujaksi platform 'android' (rivi 142). Myös 'ios' käy, jolloin ainakin tuoreehkoilla YLEn tallenteilla on myös monikanavaääni (E-AC-3 eli DD+, 5.1, 224 kb/s), joka ei kuitenkaan ainakaan minulla tuoreimmalla Leian nightlyllä toimi (voi olla vika omassakin setupissa). Enkä ole vaivautunut testaamaan, onko siinä oikeasti kaikki kanavat.
  2. Tiedostossa plugin.video.elisa.viihde/addon.py funktioon watch_program tulee lisätä seuraavat rivit (ennen riviä 163):
code:
    playitem.setProperty('inputstreamaddon', 'inputstream.adaptive')
playitem.setProperty('inputstream.adaptive.manifest_type', 'hls')



Ja palstan admineille pyyntö: voisiko tämän ketjun siirtää Elisa Viihde -sovellus ja -nettipalvelu -alueelle, niin muistaisin joskus vieraillakin täällä 😉



Tehtyäni nämä muutokset Viihde-plugari ei aukea enää lainkaan, vaan tulee erroria. Vaatiiko tämä kenties uudemman Kodi-version kuin 17.5 (joka on uusin saatavilla oleva Kodin DSPlayer-versio)?
Qotscha kirjoitti:

Adaptiiviset videot saa muuten näkymään seuraavasti:



Liittyykö tämä siihen, miksi plugari ei tällä hetkellä toimi? Vai mitä tarkoittaa "adaptiiviset videot"?
Käyttäjätaso 4
Adaptiiviset videot saa muuten näkymään seuraavasti:
  1. Tiedostossa script.module.elisaviihde/lib/elisaviihde.py funktiossa recordings_requests muuttujaksi platform 'android' (rivi 142). Myös 'ios' käy, jolloin ainakin tuoreehkoilla YLEn tallenteilla on myös monikanavaääni (E-AC-3 eli DD+, 5.1, 224 kb/s), joka ei kuitenkaan ainakaan minulla tuoreimmalla Leian nightlyllä toimi (voi olla vika omassakin setupissa). Enkä ole vaivautunut testaamaan, onko siinä oikeasti kaikki kanavat.
  2. Tiedostossa plugin.video.elisa.viihde/addon.py funktioon watch_program tulee lisätä seuraavat rivit (ennen riviä 163):
code:
    playitem.setProperty('inputstreamaddon', 'inputstream.adaptive')
playitem.setProperty('inputstream.adaptive.manifest_type', 'hls')


Ja palstan admineille pyyntö: voisiko tämän ketjun siirtää Elisa Viihde -sovellus ja -nettipalvelu -alueelle, niin muistaisin joskus vieraillakin täällä 😉
Onnistuuko Elisan XBMC -plugarilla ainoastaan tallenteiden katsominen (kunhan API taas toimisi), vai pystyykö esim. Aition sarjoja streamaamaan Kodin kautta?
apino kirjoitti:

Yhtäkkiä tallenteet eivät taas avaudu. Tässä pätkä logista (ei mitään käsitystä mikä on CCurlFile):

18:51:45.060 T:1052 ERROR: CCurlFile::Stat - Failed: HTTP response code said error(22) for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]18:51:45.202 T:1052 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 403
18:51:45.202 T:1052 ERROR: CCurlFile::Open failed with code 403 for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]18:51:45.244 T:1052 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 403
18:51:45.244 T:1052 ERROR: CCurlFile::Open failed with code 403 for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]18:51:45.244 T:1052 ERROR: XFILE::CFileCache::Open - failed to open source [...]



Ongelma on elisan päässä. Täällä on lisää keskustelua: https://yhteiso.elisa.fi/elisa-viihde-sovellus-ja-nettipalvelu-16/elisa-viihde-api-devaus-512105

EDIT: Inspiroiduin korjaamaan tuota & ongelmaa, mutta hankala testata kun mikään video ei toimi.
https://github.com/Eerovil/XBMC-Elisa-Viihde-plugin/tree/develop

Kunhan api taas toimii niin voi kokeilla tuota betaversiota.
Yhtäkkiä tallenteet eivät taas avaudu. Tässä pätkä logista (ei mitään käsitystä mikä on CCurlFile):

18:51:45.060 T:1052 ERROR: CCurlFile::Stat - Failed: HTTP response code said error(22) for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]
18:51:45.202 T:1052 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 403
18:51:45.202 T:1052 ERROR: CCurlFile::Open failed with code 403 for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]
18:51:45.244 T:1052 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 403
18:51:45.244 T:1052 ERROR: CCurlFile::Open failed with code 403 for http://tvarchive16.pa.saunalahti.fi/stream.php?[...]
18:51:45.244 T:1052 ERROR: XFILE::CFileCache::Open - failed to open source [...]
Käyttäjätaso 1
Hyvinhän tämä XBMC-pluginin Eerovil-versio toimii.
Ja jos puukottaa siinä olevan elisaviihde.py-tiedoston rivin 146 asuun

self.baseurl, endpoint, v21 + '&page=0&pageSize=10000', platform, app_version

niin saa näkyviin kaikki hakemistossa olevat tallennukset (ilman muutosta vain 50 ensimmäistä).

Olen törmännyt parin tallennuksen kohdalla myös jo mainittuun &-merkkiongelmaan mutta ei aavistakaan kuinka sen voisi korjata.
&-merkki näyttäisi aiheuttavan virheen, kun yrittää aloittaa toiston. Olisiko tälle jotain koodin puolella tehtävissä?

Esimerkkinä Ketonen & Myllyrinne, jonka kaikki jaksot näkyy Kodin listassa jostain syystä muodossa "Ketonen & amp; Myllyrinne". Tulee erroria hetikohta, kun yrittää aloittaa toiston. (HUOM! & amp; näkyvät kaikki Kodin listassa samassa pötkössä, mutta en pysty kirjoittamaan niitä tähän Palstalle yhteen, koska näkyville tallentuu pelkkä &-merkki. Täytenä koodimaallikkona siis näyttäisi siltä, että koodissa erikoismerkki jää "kääntymättä" oikeaan asuunsa ja tulee erroria).
Mahtavaa, kiitoksia - nyt toimii! Mulla oli tosiaan aivan väärästä paikasta raapaistu väärä secret api key.

Ilmeisesti toi pitkähkö odotusaika tallenteiden avautumisessa kuuluu edelleen asiaan?
apino kirjoitti:

Sain api keyt, mutta Kodissa tulee erroria.

Miten plugari pitäisi asentaa? Näinkö:

  1. Vanhalle asennukselle ei tarvi tehdä Kodissa mitään
  2. Copypastetaan Kodin addons-kansioon script.module.elisaviihde-kansion tilalle saman niminen kansio (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  3. Copypastetaan Kodin addons-kansioon plugin.video.elisa.viihde-kansion tilalle Githubista ladattu XBMC-Elisa-Viihde-plugin-master-niminen kansio
  4. Copypastetaan Kodin addons->packages-kansioon script.module.elisaviihde.zipin tilalle saman niminen .zip (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  5. Avataan Kodi, Viihde-plugarin Settings ja laitetaan API key -kohtaan Palstatiimin lähettämän s-postin api_doc.txt-tiedostosta löytyvä pitkä rimpsu
  6. Laitetaan samassa ikkunassa alla olevaan Secret API -kenttään Palstatiimiltä saadun s-postin viestikentässä näkyvä pitkä rimpsu
  7. Painetaan OK, avataan plugari ja kaiken pitäisi toimia?




Itselläni oli ongelmia saada tuolla tekniikalla toimimaan. Paras tapa on poistaa elisa viihde -lisäosa, sitten ladata githubista zip-muodossa nuo molemmat (plugin.video.elisa.viihde ja script.module.elisaviihde).

Sitten kodin valikosta install from repository -> taaksepäin yksi (..) -> install from zip -> asenna täältä ensin script.module.elisaviihde ja sitten plugin.video.elisa.viihde.

-external_api_key on tosiaan se sähköpostissa tullut avain
-external_client_secret löytyy kätevästi tiedostosta api_elisaviihde_fi_official/robot/ApiElisaViihdeLibrary.py (tää on varmaan kaikilla sama, minun avain on "nZh..." jne. n.10 merkkiä)

Tässä vielä suorat linkit zippeihin (asenna mielellään tässä järjestyksessä):
https://github.com/Eerovil/elisaviihde/archive/master.zip
https://github.com/Eerovil/XBMC-Elisa-Viihde-plugin/archive/master.zip
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type:
Error Contents: 'code'
Traceback (most recent call last):
File "C:\Users\xxxx\Documents\Kodi\portable_data\addons\plugin.video.elisa.viihde\addon.py", line 213, in
mainloop()
File "C:\Users\xxxx\Documents\Kodi\portable_data\addons\plugin.video.elisa.viihde\addon.py", line 182, in mainloop
elisa.login(username, password)
File "C:\Users\xxxx\Documents\Kodi\portable_data\addons\script.module.elisaviihde\lib\elisaviihde.py", line 92, in login
self.get_authcode()
File "C:\Users\xxxx\Documents\Kodi\portable_data\addons\script.module.elisaviihde\lib\elisaviihde.py", line 55, in get_authcode
self.authcode = response.json()['code']
KeyError: 'code'
-->End of Python script error report
22:09:30.774 T:10476 ERROR: XFILE::CDirectory::GetDirectory - Error getting
22:09:32.392 T:8880 ERROR: Previous line repeats 6 times.
22:09:32.392 T:8880 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error
  1. Kuuluuko Palstatiimin sähköpostissa tulleeseen api keyhin jollakin ilveellä mukaan etunimisukunimi, joka näyttää olevan kylläkin sähköpostissa eri rivillä?
Ei toimi ei. Tällaisia erroreja pukkaa (ks. alla oleva viesti):
Sain api keyt, mutta Kodissa tulee erroria.

Miten plugari pitäisi asentaa? Näinkö:

  1. Vanhalle asennukselle ei tarvi tehdä Kodissa mitään
  2. Copypastetaan Kodin addons-kansioon script.module.elisaviihde-kansion tilalle saman niminen kansio (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  3. Copypastetaan Kodin addons-kansioon plugin.video.elisa.viihde-kansion tilalle Githubista ladattu XBMC-Elisa-Viihde-plugin-master-niminen kansio
  4. Copypastetaan Kodin addons->packages-kansioon script.module.elisaviihde.zipin tilalle saman niminen .zip (joka löytyy Githubista ladatusta elisaviihde-master-kansiosta)
  5. Avataan Kodi, Viihde-plugarin Settings ja laitetaan API key -kohtaan Palstatiimin lähettämän s-postin api_doc.txt-tiedostosta löytyvä pitkä rimpsu
  6. Laitetaan samassa ikkunassa alla olevaan Secret API -kenttään Palstatiimiltä saadun s-postin viestikentässä näkyvä pitkä rimpsu
  7. Painetaan OK, avataan plugari ja kaiken pitäisi toimia?
ja HTPC:n
WelD_ kirjoitti:


apino kirjoitti:


Rellu kirjoitti:

Kuvanlaatu myös hyvää, ei oo onneksi html5 kuraa jota tablet yhteys käyttää.

Off topic, mutta koska olen tämän Elisa-plugarin säännöllisen toimimattomuuden vuoksi joutunut harkitsemaan myös Android-SmartTV:tä: onko tietoa suoltaako SmartTV:ille tarkoitettu Elisa Viihde TV "html5-kuraa"? Ainakin tuon Elisan oman boksin kuvanlaatu on nykivää kuraa verrattuna HTPC:heni.

Onko se nyt niin että sitä digiboxia ei postista kanna hakee, tilasn jo sen.Ongelmista viittis maksaa....


En ole aikoihin katsonut boksin kautta. Joskus kun Maikkarin HD-formulatallenteita katsoin, näytti kuin framerate olisi ollut normi-tv-lähetystä matalampi - autot kulki "nykien". Eikä kyse ollut yksittäisestä lähetyksestä. Plugarin ja HTPC:n kanssa ei ole koskaan ollut vastaavanlaista ongelmaa.

Enää en suostu boksin kautta katsomaan mitään. Toki käytän Kodin DSPlayer-versiota ja madvr:ää, joten ehkä olen tavallista nirsompi kuvanlaadun suhteen. Vaimolle kyllä boksin kautta katselu on ihan ok ("kun se Kodi ei kuitenkaan taas toimi"...)
Käyttäjätaso 3
apino kirjoitti:


Rellu kirjoitti:

Kuvanlaatu myös hyvää, ei oo onneksi html5 kuraa jota tablet yhteys käyttää.

Off topic, mutta koska olen tämän Elisa-plugarin säännöllisen toimimattomuuden vuoksi joutunut harkitsemaan myös Android-SmartTV:tä: onko tietoa suoltaako SmartTV:ille tarkoitettu Elisa Viihde TV "html5-kuraa"? Ainakin tuon Elisan oman boksin kuvanlaatu on nykivää kuraa verrattuna HTPC:heni.




Onko se nyt niin että sitä digiboxia ei postista kanna hakee, tilasn jo sen.Ongelmista viittis maksaa....
Rellu kirjoitti:

Kuvanlaatu myös hyvää, ei oo onneksi html5 kuraa jota tablet yhteys käyttää.


Off topic, mutta koska olen tämän Elisa-plugarin säännöllisen toimimattomuuden vuoksi joutunut harkitsemaan myös Android-SmartTV:tä: onko tietoa suoltaako SmartTV:ille tarkoitettu Elisa Viihde TV "html5-kuraa"? Ainakin tuon Elisan oman boksin kuvanlaatu on nykivää kuraa verrattuna HTPC:heni.

Osallistu keskusteluun