Kiinnitetty keskustelu

Elisa Viihde API Julkaisut ja bugiraportit


Käyttäjätaso 6
Kunniamerkki +3
Tämä keskustelu on tarkoitettu API rajapintaa hyödyntävien sovellusten ja niiden päivitysten julkaisuun devaajille ja käyttäjille, jotka havaitsevat bugeja sovellusten toimivuudessa

API Info sisältää tietoa niille, jotka ovat kiinnostuneita liittymään devaajiin ja ohjeet API keyn hankkimiseen (sisältää myös sopimusten tulkinnasta paljon tietoa)
API Devaus on tarkoitettu devaajille itselleen keskustelualueeksi, missä voivat jakaa toisilleen vinkkejä ja kysyä neuvoja toisiltaan

Lista linkeistä julkaisuihin:
eViihde @ssulti
ViihdeHelper - Chrome Web Store @asmandos
Elisa ViihdeX Media Manager (alt) - Python Scriptit (alt) @Qotscha
elisa-dl @FinSemi

150 kommenttia

Käyttäjätaso 4
hrk kirjoitti:

Tuota... jos oli tarkoitus tarjota python-skriptejä ratkaisuksi jonhonkin, tavallisille käyttäjille, niin eikö kannattaisi kääräistä se/ne esim. pyinstallerilla exe:ksi.


Tuota, alunperin python-skripti lataukseen tuli tehtyä lähinnä vain huvin / Pythonin mieleen palautuksen vuoksi ja laitettua ikään kuin koepallona saataville, kun kukaan ei ymmärrettävästi GDPR-sopimuksen vuoksi halunnut mitään lataukseen käyvää sovellusta julkaista. Pelkän .py:n etunä pidän sitä, että se toimii muillakin alustoilla kuin Windowsilla ja sitä voi halutessaan itse muokata.

Sitten kyseltiin, että saako tallenteida ladattua muussakin muodossa kuin .ts:nä. Aiemmin olen jo todennut, että saa, ja kun uusi API mahdollisti helpomman tavan URLin löytämiseen, muutin aeimmasta skriptistä pari riviä näiden adaptiivisten tallenteiden lataamiseksi.

Nyt kun sitten kysyttiin, että saako niitä tallenteita mitenkään ladattua talteen, kun .ts:t eivät toistaiseksi toimi, niin linkitin jo olemassa olevaan skriptiin ja kirjoitin ulkomuistista jonkinlaiset ohjeet käyttöönottoon. Viime päivinä olen sitten pari kertaa palautteen ja omien huomioiden perusteella hieman päivitellyt skriptiä.

Nyt kun tämän jo muutaman päivän jatkuneen .ts-ongelman takia skriptin käyttöön onkin ollut enemmän kiinnostusta, olisi kieltämättä ehkä ihan perusteltua kääräistä Windows-käyttäjille .exe sisältäen myös youtube-dl:n (Pythoniahan sekin on). Toisaalta asiassa on sellainenkin puoli (ja ehkä jopa ylevä tavoite 😏), että nykyisin jonkinlaista perustason ymmärrystä ohjelmoinnista (en nyt tarkoita varsinaisesti minkään kielen osaamista vaan lähinnä käsitteiden kuten muuttuja, for-silmukka, if-lause jne. hahmottamista) voisi melkeinpä pitää jonkinlaisena kansalaistaitona, joten ehkä pelkän .py:n tarjoaminen voi innostaa jotakuta vilkaisemaan koodia jopa ensimmäistä kertaa elämässään ja huomaamaan, ettei sitä välttämättä pienellä syventymisellä ole kovin vaikeaa hahmottaa.

TL;DR: Varmaankin ehkä.
Käyttäjätaso 4
Julkaisin äsken ViihdeHelper versio 5.0.0.4 jossa "Access denied" virhe pitäisi olla poissa. Voi kestää vähän aikaa ennen kuin uusin versio ilmestyy webstoressa, mutta tunnin sisällä päivitys pitäisi olla saatavilla.
Käyttäjätaso 4
Päivitin ViihdeX Media Managerin, python-skriptin ja siitä tehdyn valmiin .exe-paketin. Nyt pitäisi (ainakin toistaiseksi) .ts-tallenteiden toimia. ViihdeX Media Manageriin lisäksi lisätty mahdollisuus valita lataajaksi curl ja soittimeksi MPC-BE, jonka myös pitäisi muistaa, mihin kohtaa tallenteen toistossa on jäänyt. Bugia duplikaattien haussa en ole vielä saanut korjattua.
Käyttäjätaso 4
yamaneko kirjoitti:

Voisiko skripteissä olla mahdollista asettaa tunnukset tekstitiedostoon ja skriptit lukisivat sieltä tiedon, jos sellainen tiedosto löytyy? Muuten kysyttäisiin normaalisti kehotteesta.


Nyt skriptipaketista löytyvä lataa.py tallentaa käyttäjän niin tahtoessa käyttäjätunnuksen settings.iniin, josta voi myös mm. vaihtaa käytettävää lataajaa sekä asettaa latauskansion (lisätietoa LUEMINUT.txt:stä). Salasanan tallennukseen käytetään Keyring-kirjastoa. Kyseinen skripti toimii Python 3:lla.

Niin ja täsmennyksenä tuohon LUEMINUT.txt:hen: alkuperäisten .ts-tiedostojen latauksen pitäisi siis onnistua sitten, kunhan Elisa korjaa asian. Eli ei toimi tälläkään nyt.
Käyttäjätaso 5
Ehkä Elisa uudisti APIn versioon 3.
Käyttäjätaso 5
TS tiedostoja jakava palvelin, johon tallenteen tiedoissa viitataan, palauttaa jokaiseen pyyntöön 403 Forbidden. Tästä johtuu, kysely päällä asiasta @Rennie75 @djquu .
Käyttäjätaso 4
ViihdeHelper 5.0.0.3 on nyt julkaistu Chromen Web Storessa.

Suora linkki Chrome Web Storeen: http://bit.ly/ViihdeHelper

Tämän version blogikirjoitus: http://bit.ly/2PPNSQz

ViihdeHelperin kotisivu: https://asmand.wordpress.com/elisa-viihde/
Käyttäjätaso 4
Niitä tallenteita ei nyt saa Elisan päässä olevan vian vuoksi ladattua alkuperäisessä muodossa ViihdeX Media Managerilla, ViihdeHelperillä, eViihteellä eikä millään muullakaan (ainakaan kenenkään tiedossa olevalla) konstilla.

Jos riittää, että tallenteen saa kuitenkin Elisan re-enkoodaamana talteen, toimi näin:
  1. Asenna Python (suosittelen versiota 3.7, ellei Python 2:lle ole erityistä tarvetta).
  2. Lataa skriptit ja pura ne jonnekin.
  3. Lataa youtube-dl (Windows exe) ja sijoita se skriptipaketista purkautuneeseen python 2 tai python 3 -kansioon asentamasi Python-version mukaan.
  4. Lataa ffmpeg (static build), pura jonnekin ja kopioi ffmpeg.exe edellä mainittuun kansioon.
  5. Tuplaklikkaa tiedostoa lataa_laatu.py, kirjaudu sisään ja ja kopioi ja liitä tallenteen, jonka haluat ladata, osoite elisaviihde.fi -sivulta muodossa https://elisaviihde.fi/ohjelmaopas/ohjelma/123456
  6. Nyt youtube-dl:n pitäisi käynnistyä eri ikkunassa ja ladata kyseinen tallenne.
EDIT: Tarvitaan myös ffmpeg.
Käyttäjätaso 4
Elisa ViihdeX Media Manager: https://www.dropbox.com/s/xz71i4h8b2ke48u/viihdex_q.zip

Python-skriptit tallenteiden lataamiseen ja duplikaattien poistoon: https://www.dropbox.com/s/s81ckhnzx9xese3/python-skriptit.zip
Käyttäjätaso 5
Qotscha kirjoitti:

Lisäsin lataa_laatu.py-skriptiin muuttujan latauskansiolle (downloadFolder).


Kiitos paljon tästä. Tykkään pitää nämä scriptit C:llä kuten softat yleensä, mutta lataukset mielellään muualle. Ja kiva huomata että youtube-dl osaa jatkaa kesken jäänyttä latausta (tuli kokeiltua kun oli lataus kesken, ja huomasin että tämän että kohdekansion voi valita, niin keskeytin, siirsin kesken olleet tiedostot uuteen kohteeseen ja jatkoin lataamista muuttujan muuttamisen jälkeen).

En tätä varmaan käytä enempiä, ellei TS-videoita voi enää ladata koskaan. Nyt testailen vain yhtä ts-videota vasten, jonka ehdin ladata silloin kun kaikki taas toimi hetken aikaa, että mitä eroja on, esim. tekstitysten suhteen. Mutta onpa vaan hyvä että on teitä devaajia jotka viitsitte nähdä vaivaa muiden käyttäjien avuksi. Nämä sciptit ovat hyvä olla olemassa, ja ovat lopulta helppoja ottaa käyttöön kun rauhassa toimii. Kiitos. 🙂
Käyttäjätaso 4
Päivitin tuota lataa_laatu.py:tä niin, että nyt toivottavasti pitäisi aina paras ääniraita latautua. Nyt lisäksi lataus onnistuu myös urlilla muotoa https://elisaviihde.fi/tallenteet/katso/12345 (näköjään esikatselukuvassa linkki suoraan katseluun) tai pelkällä id:llä (tiedä vaikka joku niitä ulkoa muistaisi 😏).

Jos ikkuna vain välähtää, kun lataa_laatu.py:tä tuplaklikkaa, syynä on luultavasti puuttuva requests-kirjasto (tämä antaa heti erroria, joka aiheuttaa ikkunan sulkeutumisen). Jotta virhesanoman näkee, tulee skripti ajaa jo valmiiksi auki olevassa komentokehotteessa. Mahdollisesti helpoiten onnistuu näin:
  1. Paina Windows-näppäintä tai klikkaa Windows-logoa tehtäväpalkin vasemmassa reunassa.
  2. Kirjoita cmd ja paina enter.
  3. Vedä ja pudota lataa_laatu.py auenneeseen komentokehoteikkunaan.
  4. Paina enter.
Mahdollisia virhesanomia ja niiden syitä:

Requsts puuttuu.
code:
Traceback (most recent call last):
File "C:\kansio\python 3\lataa_laatu.py", line 3, in
import requests
ModuleNotFoundError: No module named 'requests'


Käyttäjätunnus tai salasana väärin.
code:
Traceback (most recent call last):
File "C:\kansio\python 3\lataa_laatu.py", line 41, in
accessToken = json.loads(getAccessToken.text)['access_token']
KeyError: 'access_token'


Youtube-dl.exeä ei löydy.
code:
Traceback (most recent call last):
File "C:\kansio\python 3\lataa_laatu.py", line 85, in
downloadRecording(recordingSplit[1])
File "C:\kansio\python 3\lataa_laatu.py", line 75, in downloadRecording
Popen(cmd, creationflags=CREATE_NEW_CONSOLE)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 756, in __init__
restore_signals, start_new_session)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1155, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Määritettyä tiedostoa ei löydy


Jos taas pääset siihen asti, että saat annettua tallenteen urlin, mutta sen jälkeen latausikkuna vain välähtää, niin muuta (Python 3 -versiossa) rivi 75 Popen(cmd, creationflags=CREATE_NEW_CONSOLE) muotoon Popen(cmd).wait() (onnistuu vaikka Muistiolla). Tämän jälkeen suorita skripti uudestaan ja katso (ja kerro tänne), mitä youtube-dl valittaa.
Käyttäjätaso 2
@Patomiäs : oletteko korjaamassa ts-formaattia? Arvio valmistumisesta?

Tarvitsen oikeat alkuperäiset ääni- ja tekstiraidat.
Käyttäjätaso 5
Illan touhuilut tuotti jotain toimivaa... Ehkä joskus tulevaisuudessa tämä toimii taas kokonaan. Ei vielä jakelussa.

Käyttäjätaso 1
Puhtaana arvauksena:
API:n kautta lataaminen on kuorman välttämiseksi suljettu tarkoituksella tämän takia:
Häiriö Elisan Viihde palvelun tallenteissa 11.9.2018 alkaen
Tiktek kirjoitti:


arra kirjoitti:

Puhtaana arvauksena:
API:n kautta lataaminen on kuorman välttämiseksi suljettu tarkoituksella tämän takia:Häiriö Elisan Viihde palvelun tallenteissa 11.9.2018 alkaen

No nyt selkeni. Olen tässä pari päivää hakannut päätä seinään kun lataaminen ei toimi.....


Niin paitsi että tuo on arvaus. Voisi Elisa ehkä jotain tiedottaakin.
Käyttäjätaso 4
En näköjään enää voi edellistä viestiä muokata, mutta unohtui vielä sellainen tärkeä asia, että tarvitaan requests-kirjasto Pythoniin. Onnistuu komennolla "pip install requests".
Käyttäjätaso 4
@joti @Carppa Näköjään settings.inissä on ollut youtube-dl options -avaimessa '/bestaudio' sulun väärällä puolella, jolloin ainoastaan se on ladattu, mikäli tallenteen äänistriimit ovat olleet eri tavalla nimettyjä kuin tuossa mainitut (en ole tällaisia itse huomannut, mutta sehän ei mitään takaa). Lisäsin loppuun vielä /best siltä varalta, että jossakin tallenteessa video ja audio sattuvatkin olemaan samassa striimissä. Ladatkaa uudestaan tai kopioikaa tuosta.

@hrk Kyllä se Viihteen tallenteiden yli tuplasti suurempi bitrate Areenan tallenteisiin verrattuna joskus näkyy. Esimerkki.
Käyttäjätaso 5
PirtaPaula kirjoitti:

Tosin en tiedä, millä tavalla tallenteet tällä Phytonilla ladattuina eroaa muista. Muuta kun
" Elisan re-enkoodaamana". Mutta en tyhmänä tiedä mitä tuo tarkoittaa. Mutta onko haittaaxe.


Se on prosessi, jolla videotiedostoja muutetaan yhdestä digitaalisesta videomuodosta toiseen.

Alunperin Elisa tallentaa .ts muodossa ihan kuin vaikkapa moni kodin tallentava digiboksi. TS taas tarkemmin on yksi monista eri säiliöistä, joka taas voi sisältää dataa eri koodekeilla käsiteltynä, videota, audiota ja vaikkapa vielä tekstityksiä (esim. Ylen tallenteet sisältävät usein eri vaihtoehtoja DVB-tekstityksiä) ja tuossa uudelleen pakkauksessa/videon muunnoksessa .ts-video säiliö ja/tai sisältö lienee muuttuu joksikin muuksi (en pääse nyt lataamaan esimerkkiä mitä tutkia), vaikkapa MP4-muotoon.

Tästä on varmaan Elisalle etua, koska Elisan tapauksessa esim. HD-kanavien TS-tiedostot ovat suuria ja asiakkaan katsoessa vievät kaistaa melkoisesti. Elisan palvelimet kyykähtää polvilleen (tai asiakkaan nettiyhteys tms.) ja kuva ny-kii..iii, tai ei toistu ollenkaan. Elisa kai koodaa sitten nuo uudelleen siksi, että saisi kaistan tarpeen pienemmäksi, mutta tämä tapahtuu luultavasti laadun ja ominaisuuksien kustannuksella (en pääse tosiaan tarkistamaan, kun tulee 403 virheilmoa Pythonilla lataa.pylla kokeiltaessa ViihdeX:stä puhumattakaan). Polttaako Elisa esim. tekstitykset kuvaan, ja siksi ei voi tarjota pyytämääni vaihtoehtoja esim. kuulovammaisten tekstien saamiseksi näkyviin Elisan selain/mobiili käytössä (tämäkin nyt selvisi kun tuli ilmi tämä Elisan uudelleen koodailu, tätäkään Elisa ei voinut reilusti kertoa)? No tosiaan, en pysty tarkistamaan.

Moni laadun vuoksi haluaisi katsoa/tallentaa suoraan noita TS-tiedostoja, ja voivat sitten vaikka itse käsitellä videot tai tallentaa sellaisenaan. Elisan uudelleen koodaamat videot ovat ilmeisesti huonommalla laadulla, kevyempiä tiedostoja kun ovat. Asialla ei ole kaikilla niin väliä, koska riippuu vaikkapa laitteesta millä katsotaan, että onko edes järkevää katsoa raskasta alkuperäistä (esim. kännykällä katsottaessa). Makuasioita.

Toivottavasti vähän selvensi. Ja jos kiireessä/tietämättömyyttäni on virheitä, niin viisaammat korjannevat. Toivottavasti pikaisesti etsityt linkit auttavat, monesta löytyy suomenkielinen vaihtoehtokin, mutta suomalaisen Wikipedian artikkelit ovat aina niin puutteellisia (kiitos Wikipedian sisäänlämpiävän ylläpidon, jotka äänestävät muut kuin omat artikkelinsa merkittäviksi).
Käyttäjätaso 3
kirjotan salasanan ja painan enter nii ikkuna häipyy
Käyttäjätaso 4
@PirtaPaula Noita skriptejä saatan välillä päivitellä. Ilmoittelen tänne, jos niihin jotakin merkittävää muutosta tulee. Ne tekstitiedostot sisältävät vain tallenteen kuvauksen. Voi poistaa ja voi halutessaan skriptistäkin poistaa niiden tallennuksen (pyyhkii pois rivit alkaen file = open... ja päättyen file.close()).

@jj_laaksonen Jaa, se niin tuoreen version vaatii. Hyvä että selvisi.
Käyttäjätaso 4
Lisäsin lataa_laatu.py-skriptiin muuttujan latauskansiolle (downloadFolder). Oletuksena se, missä skriptit sijaitsevat, mutta kyseistä tiedosta editoimalla sitä voi muuttaa (esimerkkejä kommenteissa). Muuttujaa maxHeight käyttäen voi määrittää, millä laadulla tiedoston haluaa ladata. Kommentoituna löytyy myös rivit tuotantokauden ja jakson (esim. S01E11) lisäämiseksi tiedostonimeen, mikäli kyseiset tiedot ovat saatavilla. Ja näköjään lataus onnistuu myös pelkästään ffmpeg:llä ilman youtube-dl:ää, mutta silloin maxHeight ei toimi (myös kyseinen koodi löytyy kommentoituna).

Skriptillä laadut.py voi tarkastella, mitä laatuja on saatavana.

EDIT: Streamlinkilläkin näköjään lataus sujuu.
Käyttäjätaso 3
Meikä luovutti en saa toimii en varmaa osaa kaapelidigiboksille sie säilyy tallenteet ja on hellppoo saa vie maksukanavatkin tallennettua
Kiitos @Qotscha tuosta python koodista ... Latasin sen varmaan viikko sitten ja siinä oli ihan hyvää pohjaa omalle jutulle. Siitä se sitten lähtikin.

Eli tarpeena minulla oli saada nuo Viihteen tallenteet omalle koneelle, ja tärkeä osa aikaisemmin ajamaani scriptiä (bash scripti, vanhan APIn aikana) oli tiedostojen uudelleen nimeäminen.

Väänsin tuossa sitten oman downloader koodin. Pahasti keskeneräinen alpha, mutta eiköhän tuota uskalla jo julkisesti näyttää.

Käytännössä se käy kaikki Viihde kansiot läpi ja lataa tallenteet omalle koneelle. Siinä sivussa suorittaa tiedostojen renamen. En tiedä onko tosta muille hyötyä, mutta jaetaan nyt koodia jos tulisi vaikka contributiota muilta tai vaikka ideoita.

Koodi on GitHubissa https://github.com/Hallikas/elisa-dl ja varoituksena tosiaan se että tuo on varhainen versio. (Ei poista mitään palvelimelta, siirtää ladatut 'done' kansioon, minkä pystyy itse tuolla .py koodissa määrittelemään.

Linux käyttäjänä kohdeympäristö oli tietysti Linux, mutta koska originaali python oli tehty windowssiin ja kaveri vähän pyysi, tein tuosta yhteensopivan molempiin ympäristöihin.
Käyttäjätaso 4
Rennie75 kirjoitti:

Hieno että exe paketin olit tehnyt ja näinkin hölmö kuin minä sain sen toimimaan.
Kiitokset siitä.
Ainoastaan nyt enään kaipaan noita Ylen TS. kansioita myöskin.


Jos viittaat kaikkien kansion tallenteiden lataamiseen .ts-muodossa (alkuperäisenä), niin tuolla lataa.exe:llä se pitäisi onnistua, kunhan settings.ini:stä asettaa platformiksi 'external' ja downloaderiksi 'curl'. Tosin asiassa on tällä hetkellä sellainen mutta, että ellet satu käyttämään 32-bittistä Windows 10 versiota 1803 tai tuoreempaa, joudut sijoittamaan curl.exen samaan kansioon lataa.exen kanssa (tai PATHissa olevaan kansioon). Korjaan varmaankin tänä iltana koodia niin, että myös 64-bittisellä Windowsilla toimii käyttöjärjestelmän sisältämä curl (lataa.exe on 32-bittinen sovellus, jolloin Popen('curl ...') yrittää avata 64-bittisellä Windowsilla SysWOW64-kansiosta 32-bittistä curlia, jota ei sieltä löydy).

joti kirjoitti:

onko mitää soitinta joka muistaa ja alkaa toistaa siitä mihin jäi MPC-BE en tästäkää löytäny sitä ominaisuutta


Kyllä sekä MPC-HC:n että MPC-BE:n pitäisi muistaa mihinkä tallenteen toisto on viimeksi kyseisellä soittimella jäänyt. Edellyttäen, että asetuksista (Options > Player) on ruksattuna kohdat 'Keep history of recently opened files' ja 'Remember file position' sekä kohta 'Store settings in .ini file' / 'Store settings in the player folder' on ruksaamatta. Lisäksi tiedostossa run_mpc-hc.vbs tai run_mpc-be.vbs täytyy olla kyseisen soittimen .exen polku oikein.
Käyttäjätaso 4
Komento pip install requests. Paketista löytyvä install_requests.bat suorittaa tämän.

Osallistu keskusteluun