Ladda ner material från SVTPlay?

Tråden skapades och har fått 13 svar. Det senaste inlägget skrevs .
1

Hej,

Någon som vet något annat sätt att ladda ner material från SVTPlay än att använda Pirateplay och FFMPEG? Vill inte installera en för mig okända mjukvara som kan innehålla allt möjligt skräp.

Pirateplays webbapp är dock bra då den ger än en länk men man behöver något som kan ladda ner materialet från den länk man får. Vill inte använda VLC och koda om det som laddas ner (kvalitetsförlust).

Exempel: http://www.svtplay.se/video/6274677/game-of-t...
Pirateplay ger länken: http://svtplay1r-f.akamaihd.net/i/se/open/201...

Försöker jag spara den sistnämnda så sparas bara en m3u8-fil där materialet ligger som 290 st olika länkar. Visst kan man ladda ner samtliga länkar och sedan kompilera materialet men det tar på tok för mycket med tid och ska man som jag hämta mycket material så är det bara att glömma.

Betalar radio- och tv-avgift så jag får därmed ta laglig backup precis som med CD-, DVD-, Blu-ray etc. så skippa därför allt snack om att det skulle vara olagligt.

/Butter

Jag har ett skript som jag skrev för ett tag sen som jag använder för att ladda ner från SVTplay. Vet inte om det kan vara till någon hjälp. Jag kör det i en virtuell maskin med Linux:

#!/bin/sh

# Kolla om alla program existerar
PROG="wget curl sed ffmpeg xml2"
for I in $PROG
do
    command -v $I >/dev/null && continue || echo -e "\e[31mSaknar programmet "$I"!\e[39m" && exit 1
done

if [ $# -lt 2 ]
then
        echo -e "\e[91mTvå argument krävs."
        echo -e "\e[93m$(basename $0)\e[39m URL-till-video UTFIL"
        exit
fi
 
echo -e "\e[93mHämtar URL till ström från Pirateplays API.\e[39m"
URL=$1
FRAN_API=$( curl -s --data-urlencode "url=${URL}" http://pirateplay.se/api/get_streams.xml )
KVALITETER=$( echo "$FRAN_API" | xml2 | grep @quality= | cut -d= -f2- )
KVALITETER=${KVALITETER//kbps/}
VALD_KVALITET=$( dialog --output-fd 1 --no-items --nocancel --backtitle "Välj en kvalitet" --menu "Välj en bitrate [kbps]:" 15 30 10 $KVALITETER )
if [ "$?" -eq 255 ]
then
        echo -e "\n\e[31mÅtgärden avbröts!\e[39m"
        exit
fi
FRAN_API=$( echo $FRAN_API | sed 's/<streams>//' | sed 's/<str/\n<str/g' | grep "$VALD_KVALITET kbps")

INFIL=$( echo $FRAN_API | xml2 | grep -m 1 stream= | cut -d= -f2- )
UNDERTEXT=$( echo $FRAN_API | xml2 | grep -m 1 @subtitles | cut -d= -f2- )
BITRATE=$( echo $FRAN_API | xml2 | grep -m 1 @quality= | cut -d= -f2- )
echo -e "\n\e[93mHämtar ström med $BITRATE bitrate.\e[39m"

#INFIL="$1"
#UNDERTEXT="$3"
UTFIL="$2"
RAKNARE=0
# Skapa en katalog med samma namn som utfil och ladda ner där
# avbryt om det redan finns en katalog med det namnet
if [ -d "$UTFIL" ]
then
        echo -e "\e[31mFel! Det finns redan en katalog med namnet '$UTFIL'\e[39m"
        exit 1
else
        mkdir "$UTFIL"
        cd "$UTFIL" 
fi

# Hämta hem filerna, en till hårddisken och den andra som argument för wget
if [ ! -z $UNDERTEXT ]; then
echo -e "\e[93mHämtar undertexter.\e[39m"
wget --quiet --show-progress -O undertext $UNDERTEXT
# Omvandla " och 0x96 tecken (långt tankstreck)
sed -i -e 's/"/"/g' -e 's/\x96/-/g' undertext
# Konvertera till ISO-8859-1
#iconv -f UTF-8 -t ISO-8859-1 undertext > undertext.iconv
#mv undertext.iconv undertext
fi

NEDLADDNINGAR=$(curl -s $INFIL | grep "^[^#;]")
ARRNEDL=( $NEDLADDNINGAR )

for I in $NEDLADDNINGAR 
do
   (( RAKNARE++ ))
   echo -e "[\e[92m$(printf "%3d" $(( ((${RAKNARE} * 100))/${#ARRNEDL[@]} )))%\e[39m] \e[93mLaddar ner nummer ${RAKNARE} av ${#ARRNEDL[@]}\e[39m"
   wget --quiet --show-progress -c -O ${RAKNARE}.ts $I
   echo -en "\e[2A"
done 

# Gör ett radbryt
echo ""

echo -e "\033[K\e[93mKombinerar till en fil...\e[39m"
I=1; while [[ $I -le $RAKNARE ]] ; do cat $((I++)).ts >> ${UTFIL}.ts ; done
echo -e "\e[93mKonverterar till MP4...\e[39m"
if [ ! -z $UNDERTEXT ]
then

        ffmpeg -loglevel fatal -i ${UTFIL}.ts -sub_charenc UTF-8 -i undertext -vcodec copy -acodec copy -scodec mov_text -bsf:a aac_adtstoasc -metadata:s:s:0 language=swe -f mp4 ${UTFIL}.mp4
        #ffmpeg -loglevel fatal -i ${UTFIL}.ts -sub_charenc ISO-8859-1 -i undertext -vcodec copy -acodec copy -scodec mov_text -bsf:a aac_adtstoasc -metadata:s:s:0 language=swe -f mp4 ${UTFIL}.mp4

else

        ffmpeg -loglevel fatal -i ${UTFIL}.ts -vcodec copy -acodec copy -bsf:a aac_adtstoasc -map 0:v -map 0:a -f mp4 ${UTFIL}.mp4

fi

# Om allt är OK, ta bort de nedladdade filerna
if [ $? -eq 0 ]
then
        echo -e "\e[93mKonvertering OK! Tar bort nedladdade filer.\e[39m"
        I=1; while [[ $I -le $RAKNARE ]] ; do rm $((I++)).ts ; done
        rm ${UTFIL}.ts 

        if [ -f undertext ]
        then
                rm undertext 
        fi

fi

Det är inte perfekt på något sätt men fungerar bra för min del.
Vet inte om det fungerar på Mac.

Skulle ett välspritt program som inte uppdaterats sen mars 2013 ha något fuffens för sig utan att någon märkt det? Tveksam... Vansinnigt lätt att installera och använda - bara att dra och släppa i programmappen på sedvanligt manér.

Men vill man göra det svårt för sig, så...

Här är en annan tråd om att göra det svårt för sig: http://www.99mac.se/forum/t/312076-ladda-ner-... Metoden gäller tydligen även för SVT.

Tack för informationen men script, homebrew och sådant är inget för mig.

  • Medlem
  • 2016-02-11 01:22
Ursprungligen av Butter:

Vill inte installera en för mig okända mjukvara som kan innehålla allt möjligt skräp.

Jag hoppas iaf du syftar på Pirateplayer. Om inte så får du sluta vara butter och ladda hem binären av det otroligt välkända FFmpeg. Välj sedan "nedladdningskommandon" i webbappen, stega in i rätt katalog i Terminalen, klistra in kommandot och kör.

Ursprungligen av erak:

Jag hoppas iaf du syftar på Pirateplayer. Om inte så får du sluta vara butter och ladda hem binären av det otroligt välkända FFmpeg. Välj sedan "nedladdningskommandon" i webbappen, stega in i rätt katalog i Terminalen, klistra in kommandot och kör.

Tack men vill inte installera icke godkända program eller hålla på med script eller med Terminalen, det sistnämnda för att jag inte riktigt vet vad jag gör.

  • Medlem
  • Västerås
  • 2016-02-11 09:48
Ursprungligen av Butter:

Tack men vill inte installera icke godkända program eller hålla på med script eller med Terminalen, det sistnämnda för att jag inte riktigt vet vad jag gör.

Testat Screenium? - Enkelt o funkar bra.
http://www.syniumsoftware.com/screenium

"Som kan innehålla allt möjligt skräp"...detta är ju bara nonsens.

svtplay-dl är väl det enda vettiga alternativet. Om du är paranoid så ligger ligger koden på github.

Ursprungligen av Butter:

Tack men vill inte installera icke godkända program eller hålla på med script eller med Terminalen, det sistnämnda för att jag inte riktigt vet vad jag gör.

Väntar du dig att ett stort IT-företag med god renomme skall skapa ett program som kopierar material från SVT?

Att köra kommandon i terminalen är inte svårt. Det kräver dock att du googlar på kommandot och lär dig lite. Ingen har börjat köra kommandon och vetat allt från början, tvärtom. Även de enklaste kommandon finns extremt väldokumenterade på nätet.

Men om du nu inte litar på ett program, kör det då i en virtuell maskin eller från en live-cd.

pirateplayer.app

När det gäller alternativet att spela in skärmen så är det en tungrodd historia för CPU/GPU och kräver en del trixande och inställningar...och dessutom tredjeparts-driver för att få systemljudet på videofilen som skapas. Det är ju också en process som måste ske i realtid.
Jag har tankat ner grejer med Pirateplayer - senast i höstas - då funkade det. Att direkt få ner en video som är typ en timme på en minut - dessutom färdig-codad och fin av SVT's proffs - slår ju allt annat så klart.

Skriver att jag inte vill hålla på med Terminalen, script eller liknande men trots det fortsätter man att skriva att jag ska göra det eller hur fel jag har som inte vill ladda ner en för mig okänd programvara.

Har i varje fall löst det på egen hand. Tråden kan stängas.

  • Medlem
  • Göteborg
  • 2016-02-11 16:38
Ursprungligen av Butter:

Skriver att jag inte vill hålla på med Terminalen, script eller liknande men trots det fortsätter man att skriva att jag ska göra det eller hur fel jag har som inte vill ladda ner en för mig okänd programvara.

Har i varje fall löst det på egen hand. Tråden kan stängas.

Kan ju vara intressant att veta om du har någon ytterligare metod som vi missat, berätta gärna?

Annars angående Pirateplay som "okänd programvara", poängen med ett forum som detta är ju att lära känna andra datoranvändare. Du är ny här och vi kanske inte blir dina vänner, men du kanske lär känna oss såpass att du kan ta emot ett omdöme om en okänd programvara ungefär som du skulle ta det från en god vän irl, och då är inte programvaran helt okänd längre. Vi som skriver här gör det i all välmening och vill dig inget illa. Ge det en chans! (både oss och appen)

Ursprungligen av Butter:

Skriver att jag inte vill hålla på med Terminalen, script eller liknande men trots det fortsätter man att skriva att jag ska göra det eller hur fel jag har som inte vill ladda ner en för mig okänd programvara.

Har i varje fall löst det på egen hand. Tråden kan stängas.

Du har ett dilemma: du vill inte köra kommandon (som ger dig koll över vad som görs) och inte heller lita på någon okänd. Okänd och okänd, Jacques de Laval heter twitterkontot och det passar inte in på så värst många i Sverige. Ring Västerås och fråga! Källkoden ligger uppe sedan flera år på https://github.com/jackuess/pirateplayer och än har det inte hörts något om den.

Du och resten av världen har större insyn i pirateplayer än huvuddelen av den programvara du använder. Tänk router, modem och all proprietär kod du nyttjar varje dag utan någon som helst insyn. Prylar tillverkade av kineser litar du på, men inte en svensk som du kan ringa?

Självklart har inte alla tid att sätta sig in i hur terminalen fungerar. Då får man nöja sig med de program som erbjuds.

Du har helt rätt i att vara kritisk till ett lite udda program.
Här är några argument för att lita på programmet:

  • öppen källkod

  • funnits i fem år under svenskreggad domän

  • flera oberoende personer tipsar om det

Senast redigerat 2016-02-11 18:44
1
Bevaka tråden