Laturi

  • Keskustelun aloittaja Keskustelun aloittaja hrk
  • Aloitettu Aloitettu
Laturi osaa kyllä päivittää itsensä, eli siis "päälle".
Onko ohjelman sisällä jokin itsepäivitysnappula tai jopa päivittyy automaattisesti, vai pitääkö kuitenkin hakea uusi asennuspaketti itse ja asentaa se päälle?
 
Onko ohjelman sisällä jokin itsepäivitysnappula tai jopa päivittyy automaattisesti, vai pitääkö kuitenkin hakea uusi asennuspaketti itse ja asentaa se päälle?
Kyllä sinun täytyy itse imuroida uuden version asennuspaketti/ohjelma ja käynnistää se, jolloin se päivittää koneessasi jo olevan laturin tai asentaa kokonaan uuden. Mitään puoli- tai täysautomaattista verkosta päivittämistä ei ole.
 
Kyllä sinun täytyy itse imuroida uuden version asennuspaketti/ohjelma ja käynnistää se, jolloin se päivittää koneessasi jo olevan laturin tai asentaa kokonaan uuden. Mitään puoli- tai täysautomaattista verkosta päivittämistä ei ole.
Hyvä, halusin vain tarkistaa että juuri tuota tarkoitettiin ohjelman päivittämisellä, kun se ns. "päivittää itsensä".
 
Toivumuksena esitän että jos ja kun energiaa riittää niin olisiko mahdollista uudistaa sarjojen nimeämistä tyyliin FlickFetch? Esim. näin "Riistametsällä - 2024-03-27 - Kausi 13 - Jakso 01 - Louhikala". Helpottaisi aika paljon sarjojen jaksojen nimeämistä
 
Toivumuksena esitän että jos ja kun energiaa riittää niin olisiko mahdollista uudistaa sarjojen nimeämistä tyyliin FlickFetch? Esim. näin "Riistametsällä - 2024-03-27 - Kausi 13 - Jakso 01 - Louhikala". Helpottaisi aika paljon sarjojen jaksojen nimeämistä
Laturin nimeämiskäytäntö on sellainen kuin on. En ole aikeissa tehdä siitä säädettävää, koska ohjelma on tehty omaan käyttöön ja olen sen jo säätänyt mieleisekseni. Nimissä on kyllä kaikki samat tiedot kuin FlickFetchilläkin, tiiviimmässä muodossa, lukuunottamatta päiväystä, joka oletusarvoisesti on harvinaisen epäkiinnnostava, päivä jolloin ohjelma on lisätty Areenaan. Ketä se kiinnostaa? Imurointipäivä on tiedostoissa itsessään, mutta ohjelman ensiesityksen päivämäärää tai elokuvan valmistusvuotta ei tietenkään löydy mistään.
 
Laturin nimeämiskäytäntö on sellainen kuin on. En ole aikeissa tehdä siitä säädettävää, koska ohjelma on tehty omaan käyttöön ja olen sen jo säätänyt mieleisekseni. Nimissä on kyllä kaikki samat tiedot kuin FlickFetchilläkin, tiiviimmässä muodossa, lukuunottamatta päiväystä, joka oletusarvoisesti on harvinaisen epäkiinnnostava, päivä jolloin ohjelma on lisätty Areenaan. Ketä se kiinnostaa? Imurointipäivä on tiedostoissa itsessään, mutta ohjelman ensiesityksen päivämäärää tai elokuvan valmistusvuotta ei tietenkään löydy mistään.
Toki tuo päiväys on turha mutta muuten tuo FFn nimeäminen on paljon selvempi. Harmi että FFn kehitys tuntuu pysähtyneen toistaiseksi.
 
Laturin nimeämiskäytäntö on sellainen kuin on. En ole aikeissa tehdä siitä säädettävää, koska ohjelma on tehty omaan käyttöön ja olen sen jo säätänyt mieleisekseni. Nimissä on kyllä kaikki samat tiedot kuin FlickFetchilläkin, tiiviimmässä muodossa, lukuunottamatta päiväystä, joka oletusarvoisesti on harvinaisen epäkiinnnostava, päivä jolloin ohjelma on lisätty Areenaan. Ketä se kiinnostaa? Imurointipäivä on tiedostoissa itsessään, mutta ohjelman ensiesityksen päivämäärää tai elokuvan valmistusvuotta ei tietenkään löydy mistään.
Elokuvan valmistusvuosi olisi siinä Areenasta ladattavassa tekstitiedostossa lopussa. Mutta toki jos kaiken muun saa jostain metatietolistasta haettua, niin voi olla turha viritys.
 
Laturissa videoiden nimet on esitetty kompaktissa muodossa sisältäen kaikki olennaiset tiedot. Yhden pisteen silti lisäisin. Esim.
"La Promesa - Salaisuuksien kartano 2 (76). Uhkauksia"
Entä jos sarjan nimi on "Luottomies 2"? Parempi olisi esim.
"La Promesa - Salaisuuksien kartano. 2 (76). Uhkauksia"
Sinä siis haluaisit, että sarjan nimen ja kauden numeron välissä olisi piste. Ja olisihan se muodollisesti perusteltavissa. Pistettä ei kuitenkaan ole, koska lopputulos on näin siistimpi eikä sekaannuksen vaaraa ole. Kestän kyllä sen, että mahdollisesti numeroon päättyvän sarjan nimen ja sitä seuraavan kauden numeron välissä on vain välilyönti.
Huomasin juuri, että kun levytila loppuu, niin Laturi ei anna virheilmoitusta, vaan ilmoittaa "completed in xx seconds."
Kiitos virheilmoituksesta. On jäänyt huomaamatta, koska sillä levyllä, jolle minä lataukset ohjaan, on tälläkin hetkellä pari sataa gigaa tilaa. Ja varastolevylläkin jokunen tera. En tajua miksi joku vieläkin pihtailee levytilassa, tai pilaa levynsä jakamalla sen pikkiriikkisiin partitioihin. Sitäpaitsi Laturia on tarkoitus käyttää niin, että lataukset ohjataan nopealle levylle jolla on varmasti tilaa, ja siirretään sitten jälkikäteen jonnekin muualle. Minulla Videos-kansio on siis vain työtilaa, jonka voi koska tahansa tyhjentää.
Laturin suurin puute on se, että se ei pidä kirjaa jo ladatuista videoista.
Juu ei pidä Laturi kirjaa mistään, Laturi vain lataa. Laturi ei ole FlickFetch.
 
Viimeksi muokattu:
Toki tuo päiväys on turha mutta muuten tuo FFn nimeäminen on paljon selvempi. Harmi että FFn kehitys tuntuu pysähtyneen toistaiseksi.
Ai sinä olet sitä mieltä. Ja onhan se harmi. Mutta eiköhän lopeteta FlickFetchin haikailu tässä ketjussa tähän, sitä varten on oma ketju.
 
Elokuvan valmistusvuosi olisi siinä Areenasta ladattavassa tekstitiedostossa lopussa. Mutta toki jos kaiken muun saa jostain metatietolistasta haettua, niin voi olla turha viritys.
Onhan siellä tekstitiedostossa usein se valmistumisvuosi. Mutta vapaamuotoisen tekstin jäsentely ei ole ihan yksinkertaista, enkä minä oikeasti kaipaa leffatietoja tiedostonimiin. Nimenomaan elokuvista löytyy runsaasti metatietoja netistä, ja jotkut katseluohjelmat, etenkin Kodi, ovat niiden hyödyntämisessä eteviä. Itse siis käytän Kodia Nvidian androidtv-boksissa, kun katselen videotallenteita tv-ruudulla.
 
Onhan siellä tekstitiedostossa usein se valmistumisvuosi. Mutta vapaamuotoisen tekstin jäsentely ei ole ihan yksinkertaista, enkä minä oikeasti kaipaa leffatietoja tiedostonimiin. Nimenomaan elokuvista löytyy runsaasti metatietoja netistä, ja jotkut katseluohjelmat, etenkin Kodi, ovat niiden hyödyntämisessä eteviä. Itse siis käytän Kodia Nvidian androidtv-boksissa, kun katselen videotallenteita tv-ruudulla.
Jeps. Itsekin heitän ladatut tiedostot kansioon ja kansion nassille Plexiä varten. Siinä kun nimeää kansion Plexiä varten nimi (vuosi) -muotoon, niin samalla vaivalla voi nimetä ne tiedostot copy-pastella tarpeen vaatiessa.
 
Harjoituksen vuoksi, ja kun vähän korjattavaakin oli, kirjoitin ne eilen(kö se oli) julkaisemani pari apuohjelmaa uudelleen C#-kielellä, sellaisella vanhalla murteella joka toimii joka wintoosassa. Yhdistin kaksi ohjelmaa yhdeksi komentoriviohjelmaksi, jolle laturi-hengessä annoin nimeksi teksturi. Sen käyttöohjeeksi toivottavasti riittää oheinen demo.

Koodi:
C:\demo>dir
 Volume in drive C has no label.
 Volume Serial Number is B217-992B

 Directory of C:\demo

08.06.2024  19.33    <DIR>          .
08.06.2024  19.03     3 407 457 989 aamiainen ruohikolla.mkv
08.06.2024  19.28            19 968 teksturi.exe
               2 File(s)  3 407 477 957 bytes
               1 Dir(s)  149 513 588 736 bytes free

C:\demo>rem leffassa tekstit 2 sekuntia aikasessa

C:\demo>teksturi
Käyttö: teksturi [ lataa | korjaa ] lisämääreet
korjaa tai lataa videotiedostojen tekstiraitoja. v. 1.0.0 / hrk

C:\demo>teksturi lataa
Käyttö: teksturi URL
jossa URL on areena-ohjelman webisivun osoite, muotoa https://areena.yle.fi/1-234567,
tai pelkkä loppuosa, esim. 1-234567, jolloin otsikkojen kieleksi oletetaan Suomi.
Imuroidaan areena-ohjelman kaikki tekstiraidat srt-tiedostoiksi, tallettaen ne
nykykansioon nimillä, jotka on johdettu areena-ohjelman otsikkotiedoista.
Imuroinnissa käytetään ffmpeg-ohjelmaa, jonka pitää olla löydettävissä
nimen perusteella "polun varrelta".  / hrk

C:\demo>teksturi korjaa
Käyttö: teksturi korjaa tiedostonimi kokonaisluku
jossa tiedoston tarkenne on .srt, .mkv tai .mp4 ja kokonaisluku enintään +/-60.
Ohjelma käy läpi tiedoston sisältämien tekstitysten aikaleimat, ja lisää niihin
halutun määrän sekunteja. Ffmpeg tarvitaan. / hrk

C:\demo>rem kokeillaanpa korjausta

C:\demo>teksturi korjaa "aamiainen ruohikolla.mkv" 2
ok

C:\demo>dir
 Volume in drive C has no label.
 Volume Serial Number is B217-992B

 Directory of C:\demo

08.06.2024  19.36    <DIR>          .
08.06.2024  19.03     3 407 457 989 aamiainen ruohikolla.bak.mkv
08.06.2024  19.37     3 407 457 990 aamiainen ruohikolla.mkv
08.06.2024  19.28            19 968 teksturi.exe
               3 File(s)  6 814 935 947 bytes
               1 Dir(s)  146 104 979 456 bytes free

C:\demo>rem voidaan myös hakea irtotekstit netistä

C:\demo>teksturi lataa https://areena.yle.fi/1-64206361
Tekstiraitoja löytyi 2
Valmis: .\Syyttäjä Imma Tataranni 2 ( 1). Eläimellistä menoa 1_2.fin.srt
Valmis: .\Syyttäjä Imma Tataranni 2 ( 1). Eläimellistä menoa 1_2.swe.srt
ok

C:\demo>rem huom. tekstit ovat utf8-koodissa

C:\demo>
 
Ihan on pakko ihmetellä yhtä asiaa: 1 x törmäsin tähän kun aakkosfirma kromeselaimensa toi markkinalle.
Nimittäin että miksi ihmeessä ohjelma pitää asentaa jonnekin user filesin alle?

Se oli nopea kokeilu, ei suostunut se toimimaan program filesin alla mihin lähtökohtaisesti ohjelmat asennetaan Windows-koneessa.
Rankkasin haittaohjelmaksi (sitähän se mainoskökkö on) ja laitoin poistoon.

Ainut perustelu minkä voin keksiä on että saadaan asennettua softa yrityskoneeseen johona ei käyttäjällä voima riitä koska kielletty / estetty.

FlickFetch tojmii mainiosti, Laturikin tojmii mutta teksturipa ej tojmi. Omituista.

Kiitos kaunis näiden ohjelmien kehittäjille, onpa niistä iloa ollut vuosien varrella.
Clipboard-1.jpg
 
Ihan on pakko ihmetellä yhtä asiaa: 1 x törmäsin tähän kun aakkosfirma kromeselaimensa toi markkinalle.
Nimittäin että miksi ihmeessä ohjelma pitää asentaa jonnekin user filesin alle?

Se oli nopea kokeilu, ei suostunut se toimimaan program filesin alla mihin lähtökohtaisesti ohjelmat asennetaan Windows-koneessa.
Rankkasin haittaohjelmaksi (sitähän se mainoskökkö on) ja laitoin poistoon.

Ainut perustelu minkä voin keksiä on että saadaan asennettua softa yrityskoneeseen johona ei käyttäjällä voima riitä koska kielletty / estetty.

FlickFetch tojmii mainiosti, Laturikin tojmii mutta teksturipa ej tojmi. Omituista.

Kiitos kaunis näiden ohjelmien kehittäjille, onpa niistä iloa ollut vuosien varrella.
Clipboard-1.jpg
Tiedän erinomaisen hyvin, että keskitetysti ylläpidetyissä Windows-ympäristöissä sovellukset pyritään asentamaan Programs-kansioon administraattorin tai systeemivaltuuksin toimivan järjestelmäpalvelun toimesta. Nyt kuitenkin Laturi (ja FlickFetch, ja moni muu) on tarkoitettu kotikäyttöön ja sen voi asentaa ilman korotettuja oikeuksia. Organisaatioissakaan keskitetysti hallitut yrityskoneet eivät enää ole itsestäänselvyys, vaan töitä tehdään usein ikiomilla läppäreillä. "Bring your own device".

Laturin voi kyllä asentaa Program Files -kansioon, administraattorina, jos haluaa. Mutta jos teksturi-ohjelman sijoittaa siihen samaan kansioon, ja yrittää käyttää sitä lähettämäsi esimerkin mukaan niin, että nykyhakemistona on tuo laturi-kansio, niin tavallisellä käyttäjällä ei ole kansioon kirjoitusoikeuksia, jotka teksturi siis tarvitsee. Oikea tapa olisi kopioida teksturi johonkin polun varrella olevaan kansioon, tai siihen kansioon, jossa tiedostosikin ovat.

Tämänkertainen toimimattomuus on kuitenkin hieman mysteeri. Noin lyhytsanainen "teksturi lataa" on vain silloin, kun ensimmäinen verkkohaku epäonnistuu. Täällä kyllä toimii. Mikähän Windows-versio mahtaa olla kysymyksessä?

Päivitin kuitenkin teksturin, kun ffmpeg-ohjelman saatavuustarkistus toimi väärin., ja saattoi aiheuttaa ruman virheilmoituksen.
 
Päivitin kuitenkin teksturin, kun ffmpeg-ohjelman saatavuustarkistus toimi väärin., ja saattoi aiheuttaa ruman virheilmoituksen.


Microsoft Windows [Version 10.0.19045.4412]

Clipboard-1.jpg


Uutta matoa koukkuun:

Clipboard-1.jpg

No onhan se siellä samassa hakemistossa missä teksturikin on. Huoh.


Aina sama juttu kun tekee jonkun softan joka toimii itsellä omassa käytössä ihan täydellisesti, sit joku valopää saa sen rikki.

Aivan sama, pitää vaan latailla Laturilla ja sit käsin muutella fileiden nimet koska ei Power Rename osaa (liikaa pisteitä ja eri paikoissa kun .fin.srt jne)


MUTTA: Olisko miten hankala laittaa se jaksojen lista niin että uusimman kauden uusin jakso olisi päälimmäisenä tyrkyllä tai vaikka viimeisenä?
Kun jotain sarjaa lataa jakson tai 5 kerrallaan niin ei tarttisi keskeltä listaa niitä aina hakea?
 

Liitteet

  • Clipboard-1.jpg
    Clipboard-1.jpg
    29,1 KB · Luettu: 16
Kas vain. PathFindOnPath etsii vain polusta, ellei erikseen sanota, että ensin nykyhakemistosta. Nyt on korjattu.

Vahvasti suosittelen, että perustat koneellesi kansion nimeltään vaikkapa c:\bin, lisäät sen polkuun, ja sijoitat sinne ainakin ffmpeg.exe:n ja teksturi.exe:n. Tämän jälkeen niitä voi kutsua nimellä mistä vain. Laturin asennuskansio on niille aivan väärä paikka.

MUTTA: Olisko miten hankala laittaa se jaksojen lista niin että uusimman kauden uusin jakso olisi päälimmäisenä tyrkyllä tai vaikka viimeisenä?
Kun jotain sarjaa lataa jakson tai 5 kerrallaan niin ei tarttisi keskeltä listaa niitä aina hakea?

Niinhän se yleensä onkin, mutta esim. La Promesa-sarjan jaksot ovat webisivulla jo valmiiksi käännetyssä järjestyksessä, eikä Laturi sitä hoksaa. Eiköhän tuo saada korjattua.
 
Viimeksi muokattu:
Tästä tulikin sopiva aasinsilta palata vanhaan keskusteluumme kielimerkinnöistä.

Nykyisin ainakin LAV Splitter tukee hearing_impaired ja visually_impaired -flageja mkv-tiedostoissa. Itselläni on esim. tekstityskielen valintana *:fin|!h eli mille tahansa audiokielelle teksitysraidaksi valitaan suomenkielinen, muttei kuitenkaan ohjelmatekstitystä.
Kokeilin, ja ainakaan VLC ei tuota hearing_impaired-attribuuttia ymmärrä. Joten unohdamme toistaiseksi.
 
Versio 5.20.0/11.6.2024
- edistymisseurannan vikasietoisuutta lisätty
- sarjaohjelmien jaksojen sorttausta taas hieman parannettu
- teksti- ja ääniraitojen kielimerkinnöissä palattu lähemmäs standardeja

Ei mitään suuria muutoksia, mutta koska tämä on kuitenkin jo varsin erilainen kuin versio 5.19.0, niin aloitetaan uusi pikkumuutosten sarja versiotunnuksesta 5.20.0.
 
  • Tykkää
Reactions: Zat
Laturin nimeämiskäytäntö on sellainen kuin on. En ole aikeissa tehdä siitä säädettävää, koska ohjelma on tehty omaan käyttöön ja olen sen jo säätänyt mieleisekseni. Nimissä on kyllä kaikki samat tiedot kuin FlickFetchilläkin, tiiviimmässä muodossa, lukuunottamatta päiväystä, joka oletusarvoisesti on harvinaisen epäkiinnnostava, päivä jolloin ohjelma on lisätty Areenaan. Ketä se kiinnostaa? Imurointipäivä on tiedostoissa itsessään, mutta ohjelman ensiesityksen päivämäärää tai elokuvan valmistusvuotta ei tietenkään löydy mistään.
Ai se päivämäärä tulee FlickFetchistä? Luulin että se on jokin Areenan määrittelemä juttu.

Minua se päivämäärä vain ärsyttää koska monesti en muista olenko jonkun video jo downloadannut, ja jos päivämäärä muuttuu, ei vanha tiedosto ylikirjoitu vaan sitten on kaksi kertaa sama tiedosto, hieman eri nimellä.

Eli minulta ei-ääni esim. päivämäärän lisäämiselle tiedostonimeen. Kuten sanottu, sen päivämäärän näkee myös tiedoston tiedoista, jos kiinnostaa.
 
Ai se päivämäärä tulee FlickFetchistä? Luulin että se on jokin Areenan määrittelemä juttu.

Minua se päivämäärä vain ärsyttää koska monesti en muista olenko jonkun video jo downloadannut, ja jos päivämäärä muuttuu, ei vanha tiedosto ylikirjoitu vaan sitten on kaksi kertaa sama tiedosto, hieman eri nimellä.

Eli minulta ei-ääni esim. päivämäärän lisäämiselle tiedostonimeen. Kuten sanottu, sen päivämäärän näkee myös tiedoston tiedoista, jos kiinnostaa.
Tiedostonimen formaatti tulee FlickFetchiltä, ja oletusarvoisesti siihen sisältyy eräs päivämäärä, jonka FF saa Areenasta tai Ruudusta. Mutta tiedostonimen voisi kyllä muokata mieleisekseen, jos viitsisi perehtyä ohjelman tarjoamiin (turhan) monipuolisiin mahdollisuuksiin.

Mutta nyt ei ole käynnissä mitään äänestystä Laturin tiedostonimistä, ne ovat mitä ovat. FlickFetch-keskustelut sinne FlickFetch-ketjuun.
 
Ai sinä olet sitä mieltä. Ja onhan se harmi. Mutta eiköhän lopeteta FlickFetchin haikailu tässä ketjussa tähän, sitä varten on oma ketju.
Voisit kyllä ottaa rennommin kun kovin kärkkäästi kommentoit jos joku uskaltaa olla eri mieltä kanssasi.
Mut joo. Tämä oli tässä.
 
Versio 5.20.1/17.6.2024
- Areenan sarjaohjelmien tunnistusta ja otsikointia parannettu
- käyttöohjekin hieman kehittynyt
- pikkuvirheitä korjailtu

Ensivilkaisulla ei mitään uutta, mutta sarjaohjelmien käsittelyä on edelleen petrattu. Entistä useammat Areenan ajankohtaissarjat (esim. Ylen aamu) tunnistetaan nyt "sarjoiksi". Vakiintuneiden ajankohtaissarjojen (Uutiset, A-studio, Aamu, Perjantai) jaksojen nimiin lisätään päiväys, kuten tähänkin asti. Kaikkien ohjelmasarjojen jaksoluettelot tulostuvat juuri nyt melko järkevästi. Näkeehän ne luettelot tietysti myös Areenan webistä, mutta kun.
 
1)
Laturi-kansiossa, johon viittava linkki siis löytyy tämän ketjun aloitusviestistä, on nyt uusi ohjelma areena-srt.exe.

Olenkohan taas eksyksissä? Jos Laturi-kansiolla tarkoitetaan OneDrive-kansiota, niin minun rilleilläni ei siellä tuollaista ohjelmaa näy.

2) Laturin lataamat videot ovat usein minulle turhan korkealla bittivirralla. Onko mitä keinoa esim. rajoittaa max-bittivirtaa?

IP
 
1)


Olenkohan taas eksyksissä? Jos Laturi-kansiolla tarkoitetaan OneDrive-kansiota, niin minun rilleilläni ei siellä tuollaista ohjelmaa näy.

2) Laturin lataamat videot ovat usein minulle turhan korkealla bittivirralla. Onko mitä keinoa esim. rajoittaa max-bittivirtaa?

IP
Kuten olen tässä ketjussa äskettäin kertonut, areena-srt korvaantui varsin pian ohjelmalla nimeltä teksturi.exe.

Kuten Laturin käyttöohjeessa kerrotaan, Laturi valitsee kullakin resoluutiolla tarjolla olevista striimeista sen, jossa on suurin bitrate. Tähän ei voi vaikuttaa. Useimmiten vaihtoehtoja ei ole. Laturi, tai siis ffmpeg, ei itse säätele bittivirtaa.
 
Laturi valitsee kullakin resoluutiolla tarjolla olevista striimeista sen, jossa on suurin bitrate. Tähän ei voi vaikuttaa. Useimmiten vaihtoehtoja ei ole. Laturi, tai siis ffmpeg, ei itse säätele bittivirtaa.
Siltä varalta että joku tarvitsee enemmän rautalankaa: Videostriimin laatuominaisuudet, kuten bitrate, määräytyvät siinä vaihdeessa kun se striimi tehdään. Ffmpeg tai muu latausohjelma kopioi valmiin striimin. Striimin voi kyllä konvertoida (yleensä huonompilaatuiseksi, koska tyhjästä on paha nyhjästä) myös ffmpegin avulla, mutta tähän on parempiakin välineitä, esim. Handbrake. Kysymyksessä on tällöin melko raskas ja aikaa vievä operaatio. Eikä liity Laturiin millään tavoin.
 
Siltä varalta että joku tarvitsee enemmän rautalankaa: Videostriimin laatuominaisuudet, kuten bitrate, määräytyvät siinä vaihdeessa kun se striimi tehdään. Ffmpeg tai muu latausohjelma kopioi valmiin striimin. .... Eikä liity Laturiin millään tavoin.

...ööh...
Mitenkähän FF sitten osaa (=osasi vanhoilla YLEn ohjelmilla) tehdä tämän?

Kysymyksessä on tällöin melko raskas ja aikaa vievä operaatio. Eikä liity Laturiin millään tavoin.

Niinpäjuu, raskas on. Ja siksi ei olisi hullummaksi, jos Laturi saman tien hoitaisi homman.

...vaan niinkuin joku taas totesi: hrk tietää aina asiat parhaiten. Niinkuin Inkvisitio aikanaan. Eipä siihen lisäämistä...

IP
 
...ööh...
Mitenkähän FF sitten osaa (=osasi vanhoilla YLEn ohjelmilla) tehdä tämän?
Eihän se osaa. Voit kyllä asettaa bitratelle maksimin, mutta sillä on vaikutusta vain jos tarjolla on vaihtoehtoja. Hyvin harvoin on. Sopii kokeilla.
 
Vera Stanhope, Kausi 7, jakso 5 (K7, J5: Rikottu lupaus 1/2 | Vera Stanhope tutkii).
Laturilla tekstitystä latautuu 95 tekstitystä eli viimeinen on

95
00:08:46,114 --> 00:08:50,434
Ettekö voisi joustaa, herra Greenhill?
- Pääsemme sinne kyllä.

Olen kokeillut muutaman kerran, ja jokaisella kerralla pysähtyy tuohon. Itse jakso latautuu kokonaan. Kaikissa muissa Vera Stanhopen Areenassa olevien kausien 1 -7 jaksoissa tekstitys tulee kokonaan. Areenassa katsottaessa tekstitys jatkuu tuossa jaksossa normaalisti loppuun asti.
 
Vera Stanhope, Kausi 7, jakso 5 (K7, J5: Rikottu lupaus 1/2 | Vera Stanhope tutkii).
Laturilla tekstitystä latautuu 95 tekstitystä eli viimeinen on

95
00:08:46,114 --> 00:08:50,434
Ettekö voisi joustaa, herra Greenhill?
- Pääsemme sinne kyllä.

Olen kokeillut muutaman kerran, ja jokaisella kerralla pysähtyy tuohon. Itse jakso latautuu kokonaan. Kaikissa muissa Vera Stanhopen Areenassa olevien kausien 1 -7 jaksoissa tekstitys tulee kokonaan. Areenassa katsottaessa tekstitys jatkuu tuossa jaksossa normaalisti loppuun asti.
Siihen se tekstitys loppuu, kyllä. Ei voi mitään.
 
Veikkaan että Areenan player hoitaa jonkun harvinaisen poikkeustilanteen paremmin kuin ffmpeg. Samaa HLS-striimiä ne kuitenkin lukevat.
 
Fragmentissa 88 (index_7_0_88.vtt) on tyhjä rivi aikaleiman ja itse tekstitysrivin välissä, mikä näyttäisi rikkovan tekstityksen latauksen ainakin FFmpeg:llä ja yt-dlp:llä.
Koodi:
WEBVTT    #Elemental Media Engine(TM) 2.1.3.0
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:180000

95
00:08:46.114 --> 00:08:50.434
Ettekö voisi joustaa, herra Greenhill?
- Pääsemme sinne kyllä.

96
00:08:51.394 --> 00:08:53.714

Ehkä siinä on vähän jouston varaa.


EDIT: Vaivasi tilanne, niin kirjoittelin huvikseni python-skriptin tekstitysten lataukseen. Ei nyt välttämättä kaunista, mutta toimii (ainakin minulla).
Koodi:
import re
import requests
url = input('Tekstityksen URL (.m3u8): ')
user_agent = input('User-agent: ')
headers = {'User-Agent': user_agent, 'Origin': 'https://areena.yle.fi'}
newsub = ['WEBVTT\n', '\n']
last_ts = ''
fragments_left = True
get_playlist = requests.get(url, headers = headers)
playlist_lines = get_playlist.text.splitlines()
hls_url = url.rsplit('.m3u8', 1)[0].rsplit('/', 1)[0]
hls_url_ = hls_url
for line in playlist_lines:
    if line.strip().endswith('.vtt'):
        hls_url_ = hls_url
        fragment_url = line.strip()
        while fragment_url.startswith('../'):
            fragment_url = fragment_url.split('/', 1)[1]
            hls_url_ = hls_url_.rsplit('/', 1)[0]
        fragment_url = hls_url_ + '/' + fragment_url
        get_fragment = requests.get(fragment_url, headers = headers)
        get_fragment.encoding = 'utf-8'
        lines = get_fragment.text.splitlines(True)
        print(fragment_url)
        for i, l in enumerate(lines):
            if not l == last_ts and re.match(r'\d{2}:\d{2}:\d{2}.\d{3} --> \d{2}:\d{2}:\d{2}.\d{3}', l):
                newsub.append(lines[i-1])
                newsub.append(l)
                j = 1
                while lines[i+j].isspace():
                    j += 1
                while not lines[i+j].isspace():
                    newsub.append(lines[i+j])
                    j += 1
                newsub.append('\n')
                last_ts = l
with open ('subtitle.vtt', 'w') as f:
    f.writelines(newsub)
 
Viimeksi muokattu:
Fragmentissa 88 (index_7_0_88.vtt) on tyhjä rivi aikaleiman ja itse tekstitysrivin välissä, mikä näyttäisi rikkovan tekstityksen latauksen ainakin FFmpeg:llä ja yt-dlp:llä.
Koodi:
WEBVTT    #Elemental Media Engine(TM) 2.1.3.0
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:180000

95
00:08:46.114 --> 00:08:50.434
Ettekö voisi joustaa, herra Greenhill?
- Pääsemme sinne kyllä.

96
00:08:51.394 --> 00:08:53.714

Ehkä siinä on vähän jouston varaa.


EDIT: Vaivasi tilanne, niin kirjoittelin huvikseni python-skriptin tekstitysten lataukseen. Ei nyt välttämättä kaunista, mutta toimii (ainakin minulla).
Koodi:
import re
import requests
url = input('Tekstityksen URL (.m3u8): ')
user_agent = input('User-agent: ')
headers = {'User-Agent': user_agent, 'Origin': 'https://areena.yle.fi'}
newsub = ['WEBVTT\n', '\n']
last_ts = ''
fragments_left = True
get_playlist = requests.get(url, headers = headers)
playlist_lines = get_playlist.text.splitlines()
hls_url = url.rsplit('.m3u8', 1)[0].rsplit('/', 1)[0]
hls_url_ = hls_url
for line in playlist_lines:
    if line.strip().endswith('.vtt'):
        hls_url_ = hls_url
        fragment_url = line.strip()
        while fragment_url.startswith('../'):
            fragment_url = fragment_url.split('/', 1)[1]
            hls_url_ = hls_url_.rsplit('/', 1)[0]
        fragment_url = hls_url_ + '/' + fragment_url
        get_fragment = requests.get(fragment_url, headers = headers)
        get_fragment.encoding = 'utf-8'
        lines = get_fragment.text.splitlines(True)
        print(fragment_url)
        for i, l in enumerate(lines):
            if not l == last_ts and re.match(r'\d{2}:\d{2}:\d{2}.\d{3} --> \d{2}:\d{2}:\d{2}.\d{3}', l):
                newsub.append(lines[i-1])
                newsub.append(l)
                j = 1
                while lines[i+j].isspace():
                    j += 1
                while not lines[i+j].isspace():
                    newsub.append(lines[i+j])
                    j += 1
                newsub.append('\n')
                last_ts = l
with open ('subtitle.vtt', 'w') as f:
    f.writelines(newsub)
Hyvä huomio. Valitettavasti python-skripti on, hieman viritettynäkin, aivan liian hidas. HLS-striimin lataus on yllättävän raskas operaatio.

Lisäsin teksturi-ohjelmaani (joka siis löytyy Laturi-kansiosta) uuden toiminnon:

Koodi:
Käyttö: teksturi paikkaa URL
Toimii kuin 'teksturi lataa', siis lataa kaikki tekstiraidat, mutta ei käytä
lataamiseen ffmpeg-ohjelmaa, joka joskus jättää vialliset tekstiraidat kesken.
Hitaampi kuin 'teksturi lataa'. Vain tositarpeeseen. / hrk

Tämä siis on selvästi nopeampi kuin python-skripti, koska on kirjailtu C#-kielellä, ja tekee tavallisia srt-tiedostoja, eli jättää alkurivit pois ja korvaa timestamp-riveillä pisteen pilkulla.
 
Hyvä huomio. Valitettavasti python-skripti on, hieman viritettynäkin, aivan liian hidas. HLS-striimin lataus on yllättävän raskas operaatio.

Lisäsin teksturi-ohjelmaani (joka siis löytyy Laturi-kansiosta) uuden toiminnon:

Koodi:
Käyttö: teksturi paikkaa URL
Toimii kuin 'teksturi lataa', siis lataa kaikki tekstiraidat, mutta ei käytä
lataamiseen ffmpeg-ohjelmaa, joka joskus jättää vialliset tekstiraidat kesken.
Hitaampi kuin 'teksturi lataa'. Vain tositarpeeseen. / hrk

Tämä siis on selvästi nopeampi kuin python-skripti, koska on kirjailtu C#-kielellä, ja tekee tavallisia srt-tiedostoja, eli jättää alkurivit pois ja korvaa timestamp-riveillä pisteen pilkulla.
Joo, se python-skripti oli lähinnä vain tuollainen proof-of-concept-toteutus. Vähän ajattelinkin, että toteuttanet käyttökelpoisemman työkalun.

Kirjoitin itse asiassa ensin skriptin, joka latasi curlilla kaikki tekstitysfragmentit talteen ja etsi niistä ylimääräiset rivivälit (ei löytynyt kuin tuo yksi). Sitten tulikin mieleen, että voisihan niistä ladatuista fragmenteista samantien kasata toimivan tekstityksen, ja lopulta päädyin requests-toteutukseen, kun en halunnut skriptin kirjoittavan kaikkia fragmentteja levylle, enkä toisaalta viitsinyt ruveta miettimään, saisiko curlin stdoutin, kuinka ohjattua python-skriptille.

E: Curlin kutsuminen python-skriptistähän se näköjään vasta hidasta onkin.
 
Viimeksi muokattu:
Joo, se python-skripti oli lähinnä vain tuollainen proof-of-concept-toteutus. Vähän ajattelinkin, että toteuttanet käyttökelpoisemman työkalun.

Kirjoitin itse asiassa ensin skriptin, joka latasi curlilla kaikki tekstitysfragmentit talteen ja etsi niistä ylimääräiset rivivälit (ei löytynyt kuin tuo yksi). Sitten tulikin mieleen, että voisihan niistä ladatuista fragmenteista samantien kasata toimivan tekstityksen, ja lopulta päädyin requests-toteutukseen, kun en halunnut skriptin kirjoittavan kaikkia fragmentteja levylle, enkä toisaalta viitsinyt ruveta miettimään, saisiko curlin stdoutin, kuinka ohjattua python-skriptille.

E: Curlin kutsuminen python-skriptistähän se näköjään vasta hidasta onkin.
Toivottavasti Yle korjaa prosessinsa, joka päästää läpi viallisia tekstityksiä. Minä en ole tällaiseen ennen törmännyt. En tosin tiedä, onko SubRip-formaattia (srt) varsinaisesti standardoitu missään, mutta kyllä kaikissa kuvauksissa sanotaan, että tyhjä rivi päättää tekstin, ei aloita sitä. Eri asia on sitten se, miten striimiä lukevan ohjelman pitäisi virheen kohdatessaan käyttäytyä. Ffmpeg näyttää olevan aika tiukkapipoinen.

---

Muuten, siitä virittämisestä: Skriptisi tekee jokaisen fragmentin kohdalla mm. tällaista:

Koodi:
hls_url = url.rsplit('.m3u8', 1)[0].rsplit('/', 1)[0]
...
...
    fragment_url = line.strip()
    while fragment_url.startswith('../'):
        fragment_url = fragment_url.split('/', 1)[1]
        hls_url_ = hls_url_.rsplit('/', 1)[0]
    fragment_url = hls_url_ + '/' + fragment_url

Yksinkertaisemmin, luultavasti virheettömämmin ja paljon nopeammin näin:

Koodi:
from urllib.parse import urljoin
...
...
    fragment_url = urljoin(url, line.strip())

Mutta ei siitä silti riittävän nopeaa tule. Joka tapauksessa kannattaa aina pyrkiä käyttämään kirjastofunktioita. Ja juu, prosessien käynnistäminen maksaa.
 
Yksinkertaisemmin, luultavasti virheettömämmin ja paljon nopeammin näin:

Koodi:
from urllib.parse import urljoin
...
...
    fragment_url = urljoin(url, line.strip())

Mutta ei siitä silti riittävän nopeaa tule. Joka tapauksessa kannattaa aina pyrkiä käyttämään kirjastofunktioita. Ja juu, prosessien käynnistäminen maksaa.
Nopeuden suhteen rohkenen olla eri mieltä. Tosin sinänsä fragmentin urlin muodostus ei tuossa se aikaa vievä toimenpide ole.
Koodi:
...
hls_url = url.rsplit('.m3u8', 1)[0].rsplit('/', 1)[0]
fragment_url_formed = 0
time_gone = [0, 0]
N = 5000
stime = time.time()
for n in range(N):
    for line in playlist_lines:
        if line.strip().endswith('.vtt'):
            hls_url_ = hls_url
            fragment_url = line.strip()
            while fragment_url.startswith('../'):
                fragment_url = fragment_url.split('/', 1)[1]
                hls_url_ = hls_url_.rsplit('/', 1)[0]
            fragment_url = hls_url_ + '/' + fragment_url
            fragment_url_formed += 1
print(f'Muodostettiin fragmentin URL {fragment_url_formed} kertaa merkkijonomanipulaatiolla.')
time_gone[0] = time.time() - stime
print(f'Aikaa kului {time_gone[0]} sekuntia.')

from urllib.parse import urljoin
fragment_url_formed = 0
stime = time.time()
for n in range(N):
    for line in playlist_lines:
        if line.strip().endswith('.vtt'):
            fragment_url = urljoin(url, line.strip())
            fragment_url_formed += 1
print(f'\nMuodostettiin fragmentin URL {fragment_url_formed} kertaa urljoinilla.')
time_gone[1] = time.time() - stime
print(f'Aikaa kului {time_gone[1]} sekuntia.')
print(f'\nFunktio urljoin oli {time_gone[1]/time_gone[0]:.2f} kertaa hitaampi.')
Koodi:
Muodostettiin fragmentin URL 2335000 kertaa merkkijonomanipulaatiolla.
Aikaa kului 4.713354825973511 sekuntia.

Muodostettiin fragmentin URL 2335000 kertaa urljoinilla.
Aikaa kului 23.707769632339478 sekuntia.

Funktio urljoin oli 5.03 kertaa hitaampi.
 
Kas vain. olet oikeassa. Asialla ei tietenkään ole mitään käytännön merkitystä, koska esimerkkitehtävässämme temppua tarvitaan vajaat 500 kertaa. Mutta minä kyllä pidän enemmän sellaisesta koodista, josta heti näkee mitä se tekee.
 
Teinpä tekstiraitoja käsittelevästä useimmille täysin tarpeettomasta pikku ohjelmastani teksturi uuden version 1.2.0. Lataa-toiminto ei enää käytä ffmpegiä, vaan se on korvattu äskettäin paikkaa-nimellä lanseeratulla toiminnolla, jonka vikoja on samalla korjailtu. Löytyy siis Laturi-kansiosta, kuten myös teksturi.txt, joka riittänee käyttöohjeeksi.
 
Viimeksi muokattu:
Laturin versio 5.20.2 ilmestyi juuri. Tekstiraitojen latauksesta huolehtii nyt omatekoinen rutiini, koska tiedossa on yksi (1) tapaus, jossa ffmpeg on jättänyt hieman viallisen tekstiraidan lataamisen kesken. Olihan se kuitenkin ihan mielenkiintoinen harjoitus.
 
Laturin versio 5.20.3 ilmestyi juuri. Edellisen version asennuspaketti oli rikki, ja oli siinä vähän muutakin vikaa.
 
Voisiko Laturiin saada ominaisuuden joka ehdottaisi että voi ladata sarjan lataamattomat jaksot eikä kaikkia jaksoja taas uudestaan? FlickFetchissä tämä älykäs vaihtoehto on. Vai enkö osaa löytää/valita tuota ominaisuutta jos sellainen valinta on jo olemassa? Nyt lataan jaksoja uudestaan ja uudestaan ja poistan aiemmat ladatut jaksot.
 
Voisiko Laturiin saada ominaisuuden joka ehdottaisi että voi ladata sarjan lataamattomat jaksot eikä kaikkia jaksoja taas uudestaan? FlickFetchissä tämä älykäs vaihtoehto on. Vai enkö osaa löytää/valita tuota ominaisuutta jos sellainen valinta on jo olemassa? Nyt lataan jaksoja uudestaan ja uudestaan ja poistan aiemmat ladatut jaksot.
Laturi ei pidä kirjaa mistään, se vain lataa. FlickFetch on varmaankin sinulle parempi ohjelma.
 
Voisiko Laturiin saada ominaisuuden joka ehdottaisi että voi ladata sarjan lataamattomat jaksot eikä kaikkia jaksoja taas uudestaan? FlickFetchissä tämä älykäs vaihtoehto on. Vai enkö osaa löytää/valita tuota ominaisuutta jos sellainen valinta on jo olemassa? Nyt lataan jaksoja uudestaan ja uudestaan ja poistan aiemmat ladatut jaksot.
Laturi ei pidä kirjaa mistään, se vain lataa. FlickFetch on varmaankin sinulle parempi ohjelma.
Ilmeisesti ei haluta kehittää ohjelmaa parempaan suuntaan käyttäjäystävällisemmäksi. Olkoon sitten niin.
 
Ilmeisesti ei haluta kehittää ohjelmaa parempaan suuntaan käyttäjäystävällisemmäksi. Olkoon sitten niin.
Niin, kuten on moneen kertaan sanottu, teen Laturia ensisijaisesti itselleni, en yleisölle, ja minä en monia FlickFetchin temppuja tarvitse. Sensijaan pyrin siihen, että kaikki ne toiminnot, joita Laturissa on, todella toimivat. Tässäkin on aivan tarpeeksi puuhaa.
 
Niin, kuten on moneen kertaan sanottu, teen Laturia ensisijaisesti itselleni, en yleisölle, ja minä en monia FlickFetchin temppuja tarvitse. Sensijaan pyrin siihen, että kaikki ne toiminnot, joita Laturissa on, todella toimivat. Tässäkin on aivan tarpeeksi puuhaa.
Asia vilpitön.
 
Pitäisikö Elisa Viihteeltä lataamisen toimia? Olen määrittänyt käyttäjätunnuksen ja salasanan, mutta leikepöydälle kopioidessa Laturin outputiin tulee vain osoitelinkki (esim. Elokuva: Upgrade tai Elisa Viihde), mutta ohjelma ei ala lataamaan. Debug-moodi päällä ei tule enempää tietoa. Areenasta lataaminen toimii ok.
 
Pitäisikö Elisa Viihteeltä lataamisen toimia? Olen määrittänyt käyttäjätunnuksen ja salasanan, mutta leikepöydälle kopioidessa Laturin outputiin tulee vain osoitelinkki (esim. Elokuva: Upgrade tai Elisa Viihde), mutta ohjelma ei ala lataamaan. Debug-moodi päällä ei tule enempää tietoa. Areenasta lataaminen toimii ok.
Toimii, kunhan kirjaudut elisaviihde-tunnuksella etkä elisa-tunnuksella (sähköposti).
 

Statistiikka

Viestiketjuista
262 491
Viestejä
4 554 123
Jäsenet
74 993
Uusin jäsen
hollow

Hinta.fi

Back
Ylös Bottom