Page 14 of 14

Re: Skripti ylen sarjojen tallennukseen

Posted: 02.04.2020 17:02
by Tivvi
Pyydän anteeksi tontouttani.

vhs.sh toimii hyvin, paitsi cron:lla ajoitus. Silloin tulee ilmoitus: * Puuttuvat apuohjelmat: yle-dl-2.21

pip3 blaablaa päivittää yle-dl:n aika ajoin.

Tonto ei ymmärrä.

Re: Skripti ylen sarjojen tallennukseen

Posted: 02.04.2020 21:53
by antoine
Vika on mitä luultavimmin ohjelmien hakupolussa (PATH), jonka varresta ei ajonaikaisesti löydy yle-dl-skriptiä. Huomaa, että cron ajaa ajastetut työt tyypillisesti hyvin suppeassa ympäristössä. Mikäli

Code: Select all

which yle-dl
näyttää jotain muuta kuin /bin tai /usr/bin, ei cron tyypillisesti löydä sitä.

Re: Skripti ylen sarjojen tallennukseen

Posted: 06.04.2020 11:06
by Rene
Moi!

Yritin tässä ladata Late Lammas-jaksoja, mutta lopputulos oli vain yksi tiedosto. Näyttää siltä että tallenteiden nimeämisessä jää jakson nimi pois..

Re: Skripti ylen sarjojen tallennukseen

Posted: 06.04.2020 18:01
by diudiu
Mulla toimii laittamalla lataimeen "Late lammas.txt" tämmöistä:

Code: Select all

<jätä tämä ensimmäinen rivi tyhjäksi>
output_filename="${programme} - ${title}"
Tässä metatietoja kyseisestä ohjelmasta:

Code: Select all

la 4.4.2020 20.25.54 +0300
Programme:	Late lammas
Episode:		
Description:	Mutkat suoriksi. Kuudennen kauden seikkailuissa Sammalperän tilalla ovat Late Lampaan mukana taas Vuhku Vahtikoira, Maajussi, lampolan luupäät ja porsastelevat porsaat.
album:		
artist:		
title:		Mutkat suoriksi
albumArtist:	
snno:		6
date:		
ageLimit:		
thumb:		/home/x/Movies/vhs/.vhs.2Rfd/vhs-thumb
tiedostonimi:	Late lammas - Mutkat suoriksi
Metatiedoista huomataan, että jakson nimi tulee muuttujasta "title" ja näin olen huomannut olevan useissa muissakin Areenan ohjelmissa. Laitan kaikkien latausten metatiedot logittumaan yhteen tiedostoon, sieltä voi sitten tarvittaessa onkia oikeat parametrit lataimeen.

Re: Skripti ylen sarjojen tallennukseen

Posted: 06.04.2020 18:53
by diudiu
Sitten toinen asia...

Mitenköhän tuo yle-dl-vivut pitäsi muotoilla? Seuraava ei ainakaan tuota tulosta:

Code: Select all

# yle-dl-vivut
yle_dl_vivut="--maxbitrate 2700"
Nyt olen muokannut skriptiä suoraan, että tuo toimisi:

Code: Select all

        # asetetaan oletusasetukset yle-dl:lle, näitä voidaan muuttaa ohjelmakohtaisesti
#       vivut=("-o" "${tmp}/vhs.mp4")
        vivut=(--maxbitrate 2700 -o "${tmp}/vhs.mp4")

Re: Skripti ylen sarjojen tallennukseen

Posted: 06.04.2020 19:44
by Rene
diudiu wrote:
06.04.2020 18:01
Mulla toimii laittamalla lataimeen "Late lammas.txt" tämmöistä:

Code: Select all

<jätä tämä ensimmäinen rivi tyhjäksi>
output_filename="${programme} - ${title}"
Tässä metatietoja kyseisestä ohjelmasta:Metatiedoista huomataan, että jakson nimi tulee muuttujasta "title" ja näin olen huomannut olevan useissa muissakin Areenan ohjelmissa. Laitan kaikkien latausten metatiedot logittumaan yhteen tiedostoon, sieltä voi sitten tarvittaessa onkia oikeat parametrit lataimeen.
Mistä sait kaivettua nuo metatiedot? Nyt kun tallensin kaikki Late Lampaat niin 4 sai title-nimen, mutta yksi sain vain nimeksi Late Lammas.m4v. Pitäisi tutkia mistä tämä johtuu...

Vielä kun keksisi miten areenasta saisi nuo radio-ohjelmat tallennettua niin iltalenkit olisi pelastettu :-)

Re: Skripti ylen sarjojen tallennukseen

Posted: 06.04.2020 20:23
by diudiu
Virittelin aikanaan hätäisesti tota finish.sh -tiedostoa tähän malliin:

Code: Select all

date >> "/home/x/Videos/metainfo.txt"
echo "Programme:	$programme" >> "/home/x/Videos/metainfo.txt"
echo "Episode:		$epno" >> "/home/x/Videos/metainfo.txt"
echo "Description:	$desc" >> "/home/x/Videos/metainfo.txt"
echo "album:		$album" >> "/home/x/Videos/metainfo.txt"
echo "artist:		$artist" >> "/home/x/Videos/metainfo.txt"
echo "title:		$title" >> "/home/x/Videos/metainfo.txt"
echo "albumArtist:	$albumArtist" >> "/home/x/Videos/metainfo.txt"
echo "snno:		$snno" >> "/home/x/Videos/metainfo.txt"
echo "date:		$date" >> "/home/x/Videos/metainfo.txt"
echo "ageLimit:		$ageLimit" >> "/home/x/Videos/metainfo.txt"
echo "thumb:		$thumb" >> "/home/x/Videos/metainfo.txt"
echo "tiedostonimi:	$output_filename" >> "/home/x/Videos/metainfo.txt"
echo "-------------------------------------------------------" >> "/home/x/Videos/metainfo.txt"
Ei nyt niin kaunis tekele, mutta tekee tehtävänsä...

Re: Skripti ylen sarjojen tallennukseen

Posted: 10.04.2020 4:53
by Tivvi
Le bureau, vakoojaverkosto
Neljä kautta.
Hienosti tallentaa, paitsi... Ussi kausi tallentuu vanhan päälle.

Re: Skripti ylen sarjojen tallennukseen

Posted: 13.04.2020 18:06
by Rene
Tivvi wrote:
10.04.2020 4:53
Le bureau, vakoojaverkosto
Neljä kautta.
Hienosti tallentaa, paitsi... Ussi kausi tallentuu vanhan päälle.
Kokeilitko diudiun vinkkiä tallenteen nimeämisessä viewtopic.php?p=37096#p37096? Mulla tomii loistavasti ainakin late lampaassa :-)

Re: Skripti ylen sarjojen tallennukseen

Posted: 16.04.2020 9:54
by Tivvi
Sain sen toimimaan vähän säätämällä.
Mutta vhs.sh ei löydä kaikkia ko. sarjan jaksoja. Kaudet 3 ja 4 löytyvät kokonaan, kaudesta 2 löytyy 3 jaksoa kymmenestä.

Re: Skripti ylen sarjojen tallennukseen

Posted: 24.04.2020 1:11
by Tivvi
***/Movies/vhs/.vhs.WuIn/custom-parser.sh: line 3: syntax error near unexpected token `tv-sarjan,'
***/Movies/vhs/.vhs.WuIn/custom-parser.sh: line 3: `programme (tv-sarjan, elokuvan tai radio-ohjelman nimi)'

Missä vika?

Re: Skripti ylen sarjojen tallennukseen

Posted: 18.05.2020 21:26
by Rene
@antoine: Yritän muokata vhs:ää radiokanavien hakuun, ja puukotin vähän tuota koodia. Esim. areenan sivuissa on eroavaisuuksia radio- ja tv-sivujen välillä. Esim json-pätkä saadaan radion sivuilta esillä tällä

Code: Select all

curl -L -s https://areena.yle.fi/radio/ohjelmat/kaikki | sed -En '
s#.*STORE_STATE_FROM_SERVER=(.*)</script>#\1#p;
s#.*<script src="(.*/main-bundle.js[^"]*)".*#\1#p;'
  )
Tuo toinen main-bundle.js-kohta ei taas palauta mitään, sillä tuollaista ei löydy radion sivuilla. En valitettavasti keksinyt mistä tuon app_id:n ja app_key:n sai kaivettua esille...

data_view:n sisältämä json-pätkästä sain tokenin esille tällä:

Code: Select all

  echo -n "$(
    jq -r '.viewStore.viewPageView.tabs[] | select(.title == "A-Ö").allContent[].source.uri' \
    <<<"${data_view}" \
    | sed -E 's/.*[?&](token=[^&]*).*/\1/'
  )
Mulla loppui kuitenkin puhti kun jämähdin siihen että en löytänyt app_id:tä ja app_keyta.. Jos jossian vaiheessa ehtisit vilkaista tuota areenan koodia, ja saada radion mukaan hakuun niin tämä olisi hieno juttu! :-)