Script para descargar videos de TVE A la carta

Nota: TVE ha cambiado el sistema y este script ya NO funciona. Sin embargo, modificando un poco el método descrito en este post sobre GoEar se puede conseguir la url para descargar el fichero Podéis encontrar un método actualizado en http://www.carballude.es/blog/?p=871

Seguramente todos conocéis el servicio Televisión a la carta de TVE. Es bueno, pero al menos a mí su reproductor flash se me queda muerto muchas veces y no me deja continuar la reproducción en el minuto que quiero, forzándome a verlo desde el principio.

Como ya estaba un pelín cansado, me he creado un pequeño script en bash que se descarga el flv al pasarle la URL de la página que contiene el vídeo. Funciona tanto con TV A la carta (direcciones estilo http://www.rtve.es/alacarta/player/669947.html ) como con los videos del sitio de RTVE (direcciones estilo http://www.rtve.es/mediateca/videos/20100117/algo/670401.shtml)

#!/bin/bash
xml=""
 
function printBanner {
        echo "TVE a la carta downloader - v0.2"
        echo "17/01/2009 - Pablo Carballude"
}
 
function mediateca {
        local fileid
        fileid=`echo $1 | rev | cut -d '/' -f1 | cut -d '.' -f2 | rev`
        xml=`wget -qO- http://www.rtve.es/alacarta/player/$fileid.xml`
}
 
function alacarta {
        xml=`wget -qO- ${1:0:${#1}-4}xml`
}
 
function downloadFromXML {
	echo ""
	echo "Downloading..."
        name=`echo $xml | cut -d '>' -f6 | cut -d '<' -f1`
        address=`echo $xml | cut -d '>' -f12`
        address=${address:29:${#address}}
        address=http://www.rtve.es/${address:0:${#address}-10}
        wget $address -O ${name//[[:space:]]}.flv
}
 
printBanner
 
if [ 1 -ne "${#}" ]
then
        echo ""
        echo "Usage: ./tve.sh url"
        exit
fi
 
if [[ $1 =~ .*mediateca.* ]]
then
        mediateca $1
else
        if [[ $1 =~ .*alacarta.* ]]
        then
                alacarta $1
        else
                echo "Sorry, I can't find any video on that URL :("
                exit
        fi
fi
 
downloadFromXML

About the Author

Me llamo Pablo Carballude González, soy graduado en computación con master en HCI y Seguridad Informática. Actualmente trabajo para Amazon en Seattle como Software Developer Engineer. Soy de esas personas que no saben si los textos autobiográficos deben ser en primera o tercera persona. Lo intenté en segunda, pero no le entendí nada :P