Saturday 5 February 2011

Ladda ner och spara från SVTPlay och titta i QuickTime Player




Ladda ner och spara från SVTPlay och titta i QuickTime Player


(Om du kör en 64-bitars Mac kan du ladda ner svtplay-0.1.zip packa upp det och klicka på svtplay.command)

I korthet: först behöver man URL:en till svtplay.se-sidan där avsnittet/filmen finns, man plockar ut RTMP-länken, laddar ner med rtmpdump och konverterar
med ffmpeg.


Gå till SVTPlay och klicka dig fram till avsnittet.

URL:en finns nu i adressraden överst i web-läsar-fönstret.

Avsnittens URL:er heter t.ex.

http://svtplay.se/v/2317883/sverige_/del_4_av_20?cb,a1364145,1,f,-1/pb,a1364142,1,f,-1/pl,v,,2317883/sb,p102888,1,f,-1

Den viktiga delen är

http://svtplay.se/v/2317883

dvs att det är /v/ och ett nummer

Om det är /t/ istället är det en allmän sida som visar senaste avsnittet.

Klicka då på önskat avsnittet längst ner för att få en /v/<nummer> länk.

För att få adressen till RTMP-video strömmen med avsnittet kan man köra följande kommando (på en rad i Terminal.app):

curl -s http://svtplay.se/v/2317883 | grep external-player |  sed 's/.*href="\(.*\)".*$/\1/'

Det skriver ut rtmp-url:en till avsnittet.

RTMP-strömmar kan laddas ner och sparas med ett program som heter rtmpdump.
Man kan i samma svep direkt-konverteras till till ett format som QuickTime Player förstår, med programmet ffmpeg så här:

rtmpdump -r <rtmp-url> -o - | ffmpeg -y -i - -vcodec mpeg4 -sameq outfile.mp4

(Det kan också vara en http-url, och då kan den hämtas hem med curl i stället för rtmpdump.)

Tyvärr måste ffmpeg konvertera hela avsnittet innan QuickTime Player kan
spela det. Om man istället konverterar med -vcodec libxvid och installerar en XviD plugin till QuickTime Player, tex Perian, så kan man börja titta
på filmen direkt.

Det går ju att förpacka detta mycket snyggare så man slipper installera program och köra från programraden, men detta är vad som behövs "bakom kulisserna".

Jag installerade programmen som behövdes från MacPorts med

port install rtmpdump ffmpeg

men om du inte redan använder MacPorts så finns det andra sätt att installera.