SGCG

…esto no es un subtítulo…

Ir a: contenido categorías calendario archivo suscripción

Volver arriba

Método actualizado para descargar audio y vídeo de la mediateca de RTVE y TVE a la carta

2011-04-24

Actualización:
El sistema de distribución de vídeo de la página de RTVE ha cambiado varias veces desde la escritura de este artículo y el método aquí descrito está obsoleto. El método que funciona en el momento de escribir esta actualización (septiembre de 2012) está en un artículo más reciente. También hay una versión al día del programita rtve-mediateca-dl que implementa esté método.

Vuelve a haber cambios en las páginas de la mediateca de RTVE y en TVE a la carta. Afortunadamente, estos últimos cambios son poco significativos y podemos adaptarnos a ellos fácilmente para poder descargar unos contenidos por los que ya hemos pagado, lo que además tiene la ventaja de ahorrar recursos económicos de RTVE (por lo tanto, de todos) si queremos disfrutar del contenido en más de una ocasión. También puede suceder que varios amigos queramos hacernos con nuestro programa favorito; en tal caso, podemos descargarlo sólo una vez y luego repartirlo de mano en mano, lo que también servirá para ahorrar ancho de banda de RTVE que al final tenemos que pagar entre todos.

Sigue el procedimiento paso a paso. Después hay información sobre programas que automatizan el trabajo.

Procedimiento paso a paso

  1. Nos vamos a la página en la que se encuentra el contenido que nos interesa. Inspeccionamos su código.
  2. En varios lugares aparecerá la siguiente cadena de texto:
    assetID=A1A2A3A4A5A6_idioma_tipos
    En esta cadena, A1A2A3A4A5A6 es un número que identifica el contenido (cada letra con subíndice representa un dígito), idioma es una secuencia de dos caracteres que parece identificar el idioma (sólo he encontrado la secuencia es) y tipos es una secuencia que identifica el tipo de contenido (audios para sonido y videos para imágenes en movimiento). Podemos repetir los siguientes pasos para cada una de las veces que encontremos este texto.
  3. Sabemos desde hace tiempo que tenemos que bajar un fichero con información sobre el contenido. Este fichero se encuentra en la dirección (muy similar a la del sistema anterior):
    http://www.rtve.es/swf/idioma/tipos/tipo/A6/A5/A4/A3/A1A2A3A4A5A6.xml
    En esta dirección, tipo es el singular de tipos: audio si tipos es audios y video si tipos es videos. La dirección termina con los cuatro últimos dígitos del número identificador de contenido en orden inverso y separados por barras seguidos del propio número identificador del contenido y el sufijo .xml.
  4. Descargamos el recurso localizado en la dirección construida en el anterior paso. Este recurso tiene alguna información que puede sernos útil (como el título del contenido, que aparece en un elemento llamado <title>). Si tenemos buena suerte, el recurso contendrá un elemento <file> con la ruta local del fichero de audio o vídeo que nos interesa descargar; en tal caso, nos saltamos el resto de este paso y el siguiente paso también. Si no tenemos buena suerte, tendremos que construir la dirección de un segundo recurso. Cerca del final del recurso que tenemos entre manos, veremos que aparece la siguiente cadena de caracteres:
    assetDataId::B1B2B3B4B5B6
    Nos quedamos con el número de seis dígitos (aunque quizá podría tener una cantidad de dígitos diferente) B1B2B3B4B5B6 que identifica los datos del contenido y construimos la siguiente dirección:
    http://www.rtve.es/scd/CONTENTS/ASSET_DATA_TIPO/B6/B5/B4/B3/ASSET_DATA_TIPO/B1B2B3B4B5B6.xml
    En esta dirección, TIPO es lo mismo que tipo, pero en mayúsculas. La secuencia final se construye del mismo modo que en la anterior dirección, pero con el identificador de los datos del contenido B1B2B3B4B5B6.
  5. Descargamos el segundo recurso cuya dirección acabamos de construir en el paso anterior. Este recurso contiene datos sobre el contenido que deseamos obtener. Hay muchos elementos <field> que a su vez contienen elementos <key< y <value>. Un elemento <field> interesante tiene el texto AS_CATEGORY en el subelemento <key> y un valor parecido a TE_CATEGORÍA (TE_ seguido de varias letras mayúsculas) en el subelemento <value>; este valor es la categoría del contenido y parece que no es muy importante (podemos inventarnos un valor cualquiera como TE_ABC y el método sigue funcionando). De igual manera, hay un elemento <field> cuyo subelemento <key> es ASD_FILE y cuyo subelemento <value> es la dirección relativa del contenido:
    /deliverty/demo/resources/parte_final_de_la_dirección
    Cogemos la parte final de esta dirección y construimos la dirección absoluta del fichero de audio o vídeo que buscamos:
    http://rtve.es/resources/TE_CATEGORÍA/parte_final_de_la_dirección
  6. Descargamos el contenido cuya dirección acabamos de construir al final del paso anterior. Repetimos el procedimiento desde el tercer paso si en el segundo paso encontramos varias secuencias assetID… interesantes. ¡A disfrutar!

rtve-mediateca-dl versión 3.0

Esta técnica es un poco pesada y repetitiva si hay que aplicarla a menudo, así que, como otras veces, este artículo viene acompañado de un sencillo programita para sistemas *NIX que automatiza el trabajo. Los usuarios de otros tipos de sistemas informáticos tendrán que preparar sus propios automatismos o pedir ayuda a otras personas, que seguramente las habrá dispuestas y bien preparadas.

Los requisitos del programa rtve-mediateca-dl son los habituales: una máquina *NIX medianamente compatible con el estándar internacional POSIX, conexión a Internet y el programa GNU Wget (que rtve-mediateca-dl usa internamente como motor de descarga) instalado. He aquí el tarball comprimido con el código: rtve-mediateca-dl-3.0.tar.gz.

Para instalar el programa, hay que extraer el contenido del tarball, echarle un vistazo al Makefile y editarlo si es necesario y, finalmente, instalar:
make install

El funcionamiento del programa está documentado en la página de manual:
man rtve-mediateca-dl
También es posible acceder a la ayuda del programa con la opción --help:
rtve-mediateca-dl --help

Este programa informático es software libre y se distribuye bajo los términos de la licencia de copyleft GNU GPL versión 3 (o posterior).

Versión multiplataforma por jimcerberus

Esta última actualización del método fue motivada por un aviso de jimcerberus, quien además ha preparado el programa RTVE Downloader, escrito en el lenguaje de programación Python, disponible para otros sistemas aparte de *NIX y con una salida por pantalla notablemente más elegante que la del humilde rtve-mediateca-dl, así como una página de proyecto de verdad y el código siempre al día mediante el potente sistema de control de versiones Mercurial.

Un sombrero.
Me quito el sombrero.

Por cierto, RTVE Downloader también es software libre. ¡Genial!

Actualización:
El sistema de distribución de vídeo de la página de RTVE ha cambiado varias veces desde la escritura de este artículo y el método aquí descrito está obsoleto. El método que funciona en el momento de escribir esta actualización (septiembre de 2012) está en un artículo más reciente. También hay una versión al día del programita rtve-mediateca-dl que implementa esté método.


Categorías: Informática

Permalink: https://sgcg.es/articulos/2011/04/24/metodo-actualizado-para-descargar-audio-y-video-de-la-mediateca-de-rtve-y-tve-a-la-carta/