Kun nyt Yleliveä niin kaivattiin, piti kokeilla saako siihen henkeä vielä. Kyseessä todella vähän testailtu BETA, joten odotuksen sen mukaan sitten.
Radiokanavat on poistettu, koska niissä ei taaksepäin päässyt tallentamaan muutenkaan, ja koska niiden parsinta on erilainen niin en jaksanut ottaa mukaan.
Valitsimiin lisätty "--start", jolla voi aloittaa suoraan tietystä kelloajasta (menneeltä 24 tunnilta). Ko. valitsin oli jo edellisessä versiossa, mutta oli jäänyt tulosteesta pois.
Tiedostopalasten osoitteissa on nykyään kaksi muuttujaa: lopussa juokseva numerointi kuten ennenkin, mutta nyt myös keskellä nimeä tuo "Seg_xxxxxx", joka menee eteenpäin muutaman sadan videopalasen jälkeen. Peruutettaessa taaksepäin ajassa, tuota numeroa pienennetään kunnes oikea palikka löytyy. Jos jostain syystä ei löydy, jatkuu etsintä loputtomiin.
Koodi:
https://yletv.akamaized.net/hls/live/622365/yletv1fin/yletv_video1080p50/Seg_407284/yletv_video1080p50_122185317.ts
Ylen playlistalta joka pitää sisällään muistaakseni 4 tuntia videopalasia, lasketaan videopalasten keston keskiarvo (näyttää olevan 6 sekuntia aina kun testasin), ja tuon pituuden mukaan arvioidaan mitä palaa aletaan lataamaan kun palataan ajassa taaksepäin, tosin melko tarkalta se vaikuttaa. Ja kun historiasta sitten aletaan lataamaan, niin jossain vaiheessa yle palauttaa 404, jolloin lisätään tuota "Seg_xxxxxx" numeroa yhdellä ja homma jatkuu.
Subtitlet tulee pieninä palasina, joissa jokaisessa aikaakoodi alkaa nollasta, joten koko subtitlet rakennetaan uudestaan, lisäten jokaiseen aikakoodiin jo ladattujen palojen määrä * videopalan pituus (6sek), jolloin aikakoodin pitäisi juosta kunnolla koko ladatun videon ajan. Lisäksi noi .vtt subit muutetaan .srt:ksi. HUOM! Subtitlet tallennetaan kokonaisena videon latauksen päätyttyä, joten jos sen keskeyttää, jää tekstitykset tallentumatta. Pitää kattoa jos tulevaisuudessa tekee eri tavalla.
Myös audiot haetaan erikseen, ja video+audio+subit muxataan yhteen FFmpegillä latauksen päätyttyä. ylelive.exe:n kaverina on mux.bat, joka ajetaan latauksen jälkeen, ja sille syötetään parametrina (%1) tiedoston nimi. Battia pitää parannella, se ei toimi jos tiedostonimi tai kansio sisältää välilyönnin. Joku voi rakennella siitä paremman jos haluaa.
Varmista siis että FFmpeg löytyy samasta kansiosta tai on jossain jossa sen voi ajaa mistä kansiosta vaan.