Keskustelu:Ruutu
Siiretty vanhat tänne talteen jos joku niitä tarvitsee.
Ohjelman lataaminen youtube-dl:llä[muokkaa]
Ohjelmia voi ladata youtube-dl-ohjelmalla:
youtube-dl http://www.ruutu.fi/video/2560690
Ohjelman lataaminen RTMPDumpin avulla[muokkaa]
Seuraava Bash-skripti tallentaa ruutu.fi-osoitteesta ohjelman urlin perusteella. Riippuvuudet: RTMPDump, curl. Päivitetty 14.10.2015, rikki.
#!/bin/bash URL="$1" DATA=`curl -s "$URL"` ID=`echo "$DATA" | grep -E 'media-xml-cache\?id=' | sed 's/.*media-xml-cache?id=\([0-9]*\).*/\1/'` SNAME=`echo "$DATA" | grep "series-title" | sed -e 's/.*>\(.*\)<.*/\1/'` VNAME=`echo "$DATA" | grep "video-title" | sed -e 's/.*>\(.*\)<.*/\1/'` NAME="$SNAME $VNAME.mp4" STREAMDATA="`curl -s "http://gatling.nelonenmedia.fi/media-xml-cache?id="$ID`" STREAMURL="`echo "$STREAMDATA" | grep -m1 "http://nelonenmedia-pmd.*mp4" | sed -e 's/.*>\(.*\)<.*/\1/'`" curl "$STREAMURL" -o "$NAME"
Esimerkiksi
./ruutu-dump http://www.ruutu.fi/ohjelmat/good-wife/kausi-3-jakso-17-paljastuksia
tallentaa ohjelman tiedostoon good-wife-kausi-3-jakso-17-paljastuksia.mp4
Jos video hyppii taakse, lisää rtmpdump-komentoon valitsin --live
.
HD-tasoista videota voi ladata muuttamalla striimin osoitteessa olevan arvon 1000 arvoksi 3000.
#!/bin/bash URL="$1" DATA=`curl -s "$URL"` ID=`echo "$DATA" | grep -E 'media-xml-cache\?id=' | sed 's/.*media-xml-cache?id=\([0-9]*\).*/\1/'` SNAME=`echo "$DATA" | grep "series-title" | sed -e 's/.*>\(.*\)<.*/\1/'` VNAME=`echo "$DATA" | grep "video-title" | sed -e 's/.*>\(.*\)<.*/\1/'` NAME="$SNAME $VNAME.mp4" STREAMDATA="`curl -s "http://gatling.nelonenmedia.fi/media-xml-cache?id="$ID`" STREAMURL="`echo "$STREAMDATA" | grep -m1 "http://nelonenmedia-pmd.*mp4" | sed -e 's/.*>\(.*\)<.*/\1/'`" HDSTREAMURL="`echo "$STREAMURL" | sed -e"s/1000/3000/g"`" curl "$HDSTREAMURL" -o "$NAME"
22. lokakuuta 2013: Näyttäisi että tämä wikissä oleva ei nyt suostu lataamaan:
#!/bin/bash URL="$1" NAME="${1##*ohjelmat/}" NAME="${NAME/\//-}" ID=`curl -s "$URL" | grep -E 'video_(clip|episode)' | sed 's/.*data-media-id=\"\([0-9]*\)\".*/\1/'` STREAMURL="`curl -s "http://crossbow.nelonenmedia.fi/mxmlc?type=video_{clip,episode}&id=$ID&site=www.ruutu.fi&gRVBR=0" | grep -m1 SourceFile | sed -e 's/\(.*\)<SourceFile>\(.*\)<\/SourceFile>\(.*\)/\2/'`" rtmpdump -r "$STREAMURL" -o $NAME.flv
Latasin käsin tuon mxmlc-alkuisen nettisivun. Grep hakee siitä 'SourceFile':ä, josta rtmpdump ei kuitenkaan löydä videota.
<SourceFile>rtmp://streamh1.nelonen.fi/hot/mp4:544374.mp4</SourceFile> <MediaFiles> <MediaFile type="free" label="360p" resolution="640x360">rtmp://stream.nelonen.fi/video/mp4:carbon_544374_catchup_360p_none.mp4</MediaFile> </MediaFiles>
Mutta tuosta label=360p löytyy todellakin tuo 640x360 resoluutioinen, josta en tiedä onko se juuri ainut jota ruutu tarjoilee, vai joku kevyt versio.
Joten tällaisella lataaminen onnistuu:
#!/bin/bash URL="$1" NAME="${1##*ohjelmat/}" NAME="${NAME/\//-}" ID=`curl -s "$URL" | grep -E 'video_(clip|episode)' | sed 's/.*data-media-id=\"\([0-9]*\)\".*/\1/'` STREAMURL="`curl -s "http://crossbow.nelonenmedia.fi/mxmlc?type=video_{clip,episode}&id=$ID&site=www.ruutu.fi&gRVBR=0" | grep -m1 MediaFile\> | sed -e 's/\(.*\)<MediaFile type="free" label="360p" resolution="640x360">\(.*\)<\/MediaFile>\(.*\)/\2/'`" rtmpdump -r "$STREAMURL" -o $NAME.flv
ruutu.sh: 4: ruutu.sh: Bad substitution