Keskustelu:Ruutu

Linux.fista
(Ohjattu sivulta Keskustelu:Ruutu.fi)
Siirry navigaatioon Siirry hakuun

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