Tråd: SVTPlay.sh
SVTPlay.sh är ett Bourne-kompatibelt, rätt unixigt skalskript, som interagerar med SVTPlay.se och RTMPDump.
Skriptet behöver genomgå några större förändringar. För att välja rätt väg framåt krävs synpunkter från er som använder det, och då särskilt från er som använder det på andra sätt än att bara lägga det i ~/bin och köra det ibland.
Här är några funktioner:
Nedladdning till fil.
Uppspelning i valfri mediaspelare direkt från SVT Play.
Samtidig uppspelning och nedladdning (utan dubbla anslutningar).
Hämtning av undertextfiler.
Ett särskilt läge för användning i andra skript.
Diverse inställningar kan göras via miljövariabler.
Direkthämtning av rtmp-adress angiven från kommandoraden.
Hämtning av live-strömmar, med automatisk avkänning.
Fungerar i alla unix-varianter med Bourne-kompatibelt skal – även Cygwin (läs här).
Automatisk avkänning av live-strömmar.
Kvar att implementera är att undertextfiler ska användas vid direktuppspelning. När det är gjort, så är skriptet komplett.
Uppdateringar sker löpande. Utvecklingen händer på GitHub:
Nedan följer en crash course.
$ SVTPlay.sh <url> # Titta på ett program eller en live-sändning (<url> är adressen i webbläsaren)
$ SVTPlay.sh -d <url> # Ladda ned programmet till en fil i stället
$ SVTPlay.sh -do fil.flv <url> # Ladda ned programmet till fil.flv
$ SVTPlay.sh -ado fil.flv <url> # Ladda ned video till fil.flv och undertexter till fil.wsrt
$ SVTPlay.sh -dp <url> # Titta och ladda ned till fil samtidigt (utan att ta upp dubbel bandbredd)
$ SVTPlay.sh -ix <url> # Visa all information om videon
$ SVTPlay.sh -db 1000 <url> # Hämta ström med högst 1000 kbit/s (default är strömmen med högst bitrate)
$ SVTPlay.sh -u # Se om det kommit någon uppdatering av skriptet
$ SVTPlay.sh -U # Uppdatera automatiskt (förutsatt att skriptfilen är skrivbar)
$ SVTPlay.sh -H | less # Visa instruktioner för alla funktionerFler funktioner finns, men ovanstående är förmodligen dem som vanligen kommer till användning.
Expandera annars rutan nedan för att läsa en (på ett ungefär) aktuell lista över samtliga flaggor.
SVTPlay.sh rev 2012-08-13
Användning: SVTPlay.sh[-aAcdeEhHilLOpqQrstuUvwx][-b <bitrate>]
[-W <url>]
[-o out.mp4]
<url> <...>Om skriptet körs utan flaggor spelas videon från <url> upp.
Åtgärder:
-d Spara till fil i stället för att spela upp.
-o Filnamn att spara till. Default är som på sajten. Implicerar -d.
OBS: Mellanslag i filnamn fungerar inte, ens med
citationstecken runt. Detta för att behålla kompatibilitet
med andra getopt(1)-varianter är GNU getopt.
-O Som -o, fast läser in filnamn från stdin. (Tillåter mellanslag.)
-p Spela upp strömmen även om den samtidigt sparas till disk.
-r Använd om <url> är strömmen, inte dess sida.
-a Hämta eventuell undertextfil före video.
-A Hämta eventuell undertextfil utan video.
Strömval:
-b Maximal bitrate att spela upp eller ladda hem.
Default är '99999', lägsta tillgängliga fås med '0'.
-l Använd om en live-ström inte identiferas som sådan.
-L Använd om en ström felaktigt identifieras som live-ström.
-W Tvinga adress till SWF-spelare.Information:
-e Visa samtliga tillgängliga strömmar.
-E Visa den ström som väljs för uppspelning.
-i Visa all tillgänglig information om videon.
-s Visa tillgängliga bitrates.
-t Visa adress till undertextfil.
-w Visa adress till SWF-spelare.Skript-beteende:
-c Skriptbar output (för informations-visning). Se även -x.
-q Skriptet pratar inte. (Dock tystas ej anropade program.)
-Q Som -q, men även anropade program tystas.
-x Torrkörning. Stannar före uppspelning/nedladdning.Övrigt:
-h Visa lång hjälptext. (Den du läser nu.)
-H Visa ännu längre hjälptext. (En tutorial också.)
-u Kolla efter ny version av SVTPlay.sh.
-U Kolla efter ny version och uppdatera automatiskt.
-v Skriv ut debug-information.Några exempel följer.
UPPSPELNING
Detta spelar upp senaste Rapport-sändningen:
$ SVTPlay.sh http://www.svtplay.se/rapport
NEDLADDNING
Detta sparar ett litet klipp om myggbekämpning,
till filen "helt-i-sticket.flv":$ SVTPlay.sh -o helt-i-sticket.flv http://www.svtplay.se/klipp...
LIVE-SÄNDNINGAR
Så här gör du för att se senaste sändningen av Aktuellt:
$ SVTPlay.sh -l http://www.svtplay.se/aktuellt
Om en livesändning pågår för tillfället, så känner skriptet
av detta automatiskt.Eftersom senaste sändningen av Aktuellt alltid ligger på den
sidan så fungerar raden dessutom alltid.BITRATES
Så här kollar du vilka bitrates Aktuellt finns i:
$ SVTPlay.sh -s http://www.svtplay.se/aktuellt
Hämtar information om strömmar...
Analyserar information...
Letar efter undertexter...
Hämtar adress till SWF-spelare...
Bitrates: 320 850Nu kör vi den lägre:
$ SVTPlay.sh -b 320 http://www.svtplay.se/aktuellt
Ett sätt att alltid få den lägsta kvaliteten är så här:
$ SVTPlay.sh -b 0 http://www.svtplay.se/aktuellt
KÖRA RTMP-ADRESSER DIREKT
Så här kan du lista ut rtmp-adressen till ett program:
$ SVTPlay.sh -Ex http://www.svtplay.se/aktuellt
Hämtar information om strömmar...
Analyserar information...
Letar efter undertexter...
Hämtar adress till SWF-spelare...
Ström: rtmp://fl11.c91005.cdn.qbrick.com/91005/_definst_/wp...Med "-r" kan man spela eller ladda ned en dylik rtmp- eller
http-ström utan omsvep:$ SVTPlay.sh -ro aktuellt.mp4 rtmp://fl11.c91005.cdn.qbric...
Med "-W" kan man tvinga SVTPlay.sh att använda en viss url
till SWF-spelare. Detta fungerar både vid normal användning
och om du angivit en direktadress till en ström med "-r":$ SVTPlay.sh -ro aktuellt.mp4 -W http://www.svtplay.se/pub...
ANVÄNDA SVTPlay.sh I SKRIPT
För "-e", "-E", "-s", "-t", "-w" och "-x" gäller att parametern
"-c" bara matar ut det riktigt väsentliga.$ SVTPlay.sh -csx http://www.svtplay.se/aktuellt
320 850
$ SVTPlay.sh -cEx http://www.svtplay.se/aktuellt
rtmp://fl11.c91005.cdn.qbrick.com/91005/_definst_/wp3/12819...UPPDATERINGAR
Har du varit förnuftig nog att göra SVTPlay.sh körbar samt
nåbar via PATH, så kan du uppdatera automatiskt, så här:
$ SVTPlay.sh -U
Annars kan du hämta den senaste versionen med någon av följande
radet, på om du har wget eller cURL installerat:$ curl -o ny-SVTPLAY.sh $(SVTPlay.sh -u)
$ wget -O ny-SVTPLAY.sh $(SVTPlay.sh -u)
KONFIGURATION
I stället för att konfigurera skriptet genom att ändra det, så
kan du uppnå samma resultat med följande miljövariabler:SVTPLAY_PLAYER Mediaspelare
Default: '/cygdrive/c/Program Files (x86)/SMPlayer/mplayer/mplayer.exe'SVTPLAY_PLAYER_ARGS Parametrar för mediaspelaren
Default: ''SVTPLAY_PLAYER_QUIET_ARG Parameter för att tysta mediaspelaren
Default: '-really-quiet'SVTPLAY_BITRATE Förinställd maximal bitrate att använda
Default: '99999'SVTPLAY_WIDESCREEN "Lyfter" bilden på bredbildsskärmar
Fungerar endast med mplayer.
Default: 'false'SVTPLAY_SUBCONVERT Kommando som körs efter att varje
undertextfil hämtas. Kommer köras med
undertextfilens namn som enda parameter.
Default: (inget)SVTPLAY_CHECK_FOR_UPDATE Sätt till 'true' för att kolla efter
uppdateringar varje körning, oavsett
om flaggan '-u' använts.
Default: 'false'