Kirjoittaja Aihe: youtube-dl ja elonet?  (Luettu 2438 kertaa)

jekku

  • Käyttäjä
  • Viestejä: 2624
    • Profiili
youtube-dl ja elonet?
« : 31.08.20 - klo:21.29 »
Kumpi lie muuttunut, mutta en enää saa ryystettyä elokuvia
https://elonet.finna.fi/

Vielä viime vuonna (muistaakseni) onnistui youtube-dl:llä

ERROR: Unsupported URL: https://elonet.finna.fi/Record/kavi.elonet_elokuva_107833

Jiku

  • Käyttäjä
  • Viestejä: 248
    • Profiili
Vs: youtube-dl ja elonet?
« Vastaus #1 : 07.09.20 - klo:14.38 »
Koodia: [Valitse]
#!/bin/bash
HALUTTURESOLUUTIO="240" #240|360|540|720|1080|1440|2160
HALUTTUAUDIO="audio-medium" # audio-medium TAI audio-high

if [ -z "$*" ]; then
    echo "Anna ladattavan sivun osoite. Esimerkiksi:"
    echo "$0 https://elonet.finna.fi/Record/kavi.elonet_elokuva_107833"
    exit
fi
tiedostonimi=$(echo "$*"|rev|cut -d '/' -f1|rev).mp4

wget "$*" -O /tmp/o 2>/dev/null
raakaurl=$(cat /tmp/o |grep -oP '(?<=data-link=").*?(?=" title)')
url=$(echo "$raakaurl"|perl -MHTML::Entities -pe 'decode_entities($_);') #|sed 's/","type.*//'|tr -d '\')
echo URL: $url

wget "$url" -O /tmp/tmp.m3u8 2>/dev/null

audiourl=$(cat /tmp/tmp.m3u8 |grep 'GROUP-ID'|grep $HALUTTUAUDIO |sed 's/^.*http/http/'|sed 's/.$//')
videourl=$(cat /tmp/tmp.m3u8 |grep -E "RESOLUTION.*x$HALUTTURESOLUUTIO*" -A1|tail -n1)

echo Ladataan video...
youtube-dl "$videourl" -o video.mp4

echo Ladataan audio...
youtube-dl "$audiourl" -o audio.mp4

echo Yhdistetään raidat
ffmpeg -i video.mp4 -i audio.mp4 -c:v copy -c:a copy $tiedostonimi

echo valmis!

Tuollainen pikainen purkka-ratkaisu. Toimii Elonetin pitkiin elokuviin, lyhytelokuviin ei.
Vois ton varmaan nätimminkin hoitaa :D
HALUTTURESOLUUTIO -riviä kannattaa muuttaa, jos haluaa paremmalla laadulla.
Puoliksi suunniteltu on hyvin tehty

jekku

  • Käyttäjä
  • Viestejä: 2624
    • Profiili
Vs: youtube-dl ja elonet?
« Vastaus #2 : 07.09.20 - klo:16.49 »
Heh :) Hienosti toimii ...