Close

rtmp

Como descargar vídeos de 20minutos.tv

Uno de los problemas a resolver para añadir un nuevo canal al plugin tvalacarta es averiguar la forma de acceder a la URL del vídeo que puedes ver desde la web. Tú lo ves cómodamente desde el reproductor Flash, pero éste a su vez realiza una serie de pasos para acceder al vídeo como tal.

En el caso de 20minutos.tv esos pasos no son muy sencillos, así que me ha parecido buena idea reproducirlos aquí para los que estén interesados en este tipo de vídeos. Vamos allá, aunque advierto que no es apto para todos los públicos:

  • El proceso empieza en la página desde la que ves el vídeo en cuestión. Para este ejemplo he elegido un curioso vídeo sobre Google Mars:

http://www.20minutos.tv/video/fqvxyBE0-google-mars-retrata-marte/0/

El vídeo que quieres bajarte

El vídeo que quieres bajarte

  • La parte de la URL que está resaltada en rojo cambia de un vídeo a otro, y es el código que identifica al vídeo. Teclea esta URL en la barra de direcciones del navegador, sustituyendo el código del vídeo por el que a tí te interese.

http://www.20minutos.tv/videoconfig/fqvxyBE0/v/

  • Lo que verás en pantalla es un fichero XML, que tendrá entre otras cosas la siguiente URL que necesitas.
El primer XML

El primer XML

  • Copia la URL que he resaltado en la pantalla, y pégala de nuevo en la barra de direcciones del navegador.

http://flash.velocix.com/c533/fqvxyBE0_hi.mp4?format=xml2

  • Te dará la opción de ver el vídeo o descargarlo. En este caso tienes que elegir descargarlo porque en realidad el fichero no es un vídeo sino otro XML.
Dale a guardar

Dale a guardar

  • Una vez descargado el fichero puedes abrirlo (con el bloc de notas o algo así) y verás lo que necesitas para descargar el vídeo:
El último XML del proceso

El último XML del proceso

Lo único que necesitas ahora es usar flvstreamer para descargar el vídeo, construyendo la URL definitiva con la parte que está resaltada en amarillo y la parte que está dentro del elemento streamname. El comando final que tienes que poner tiene la siguiente pinta:

flvstreamer -r “rtmp://93.174.101.12/flash/mp4:bt-97a9c529645bcf073d3edca063e63657e52c7c19” -o test.mp4

La calidad de estos vídeos es bastante buena, usando mp4 con códec h264 y además en formato panorámico, así que merece la pena. Este vídeo concretamente tiene una resolución de 512×288 pixels.

Descarga vídeos RTMP usando flvstreamer

Como habréis descubierto los que habéis intentado bajaros vídeos usando la técnica descrita en este post, la utilidad rtmpdump que hacía posible esa descarga ya no está disponible. La página de SourceForge informaba de un error.

rtmpdump ya no está en SourceForge

rtmpdump ya no está en SourceForge

El motivo no es otro que una solicitud presentada por Adobe (empresa propietaria de Flash, y autora del protocolo RTMP) a SourceForge para que lo retiraran de sus servidores, alegando que el software permitía la descarga de contenidos con derechos de autor. No lo habían hecho antes porque no funcionaba muy bien, pero en cuanto ha estado completamente operativa y ha sido capaz de descargar TODOS los vídeos RTMP incluyendo los que estaban cifrados han intervenido. Podéis leer más detalles aquí.

Es un argumento tan sorprendente (y ridículo) que ha levantado las iras de la comunidad open source, hasta el punto que han empezado a publicar versiones de rtmpdump por todas partes sólo para retar a Adobe y ridiculizarlos. Y de paso a SourceForge, porque como nombre destacado en esto del open source bien podría haber peleado un poco más por sus “clientes”.

Estaba esperando a escribir este post a que hubiera una solución práctica al problema, y ese momento ha llegado gracias a flvstreamer. Es básicamente la misma aplicación, pero con otro nombre y quitando la característica conflictiva de contenidos cifrados.

La firma de rtmpdump

La firma de rtmpdump

La firma de flvstreamer

La firma de flvstreamer

He probado a descargar vídeos desde varios servidores que los publican en RTMP y funciona perfectamente, de forma mucho más robusta y fiable que el rtmpdump con el que escribí el post.

El comando es idéntico al de rtmpdump:

flvstreamer -r “rtmp://od.flash.plus.es/ondemand/14314/plus/plustv/PO770632.flv” -o “salida.flv”

Podéis descargarlo en esta dirección para todas las plataformas, incluyendo Windows. El enlace directo es éste.

No me negaréis que es toda una historia: abuso de poder, rebelión popular y al final ganan los buenos :)

Es el poder del software libre.

Como descargar un vídeo de Hogarutil.com

Si estás viendo un vídeo de la web de Hogarutil y te lo quieres descargar, puedes seguir el procedimiento descrito en los siguientes pasos:

  • Ponte en la página donde está el vídeo que quieres ver, justo antes de darle al play. Como ejemplo voy a utilizar el vídeo de la palmera de Roebelen:

http://www.hogarutil.com/Jardineria/Trabajos+en+v%C3%ADdeo/Palmera+de+Roebelen

  • Abre el código fuente de la página (en Firefox es el menú “Ver / Código fuente de la página” o CTRL+U)
  • Dale a buscar (CTRL+F) y localiza la primera aparición de la cadena “rtmp://”. Eso es la URL del vídeo, que en mi ejemplo es:

rtmp://aialanetfs.fplive.net/aialanet/Jardineria/palmera-roebelen.flv

  • Ahora puedes usar para descargarlo la utilidad rtmpdump, siguiendo los pasos que se cuentan en este post. No funcionará si no indicas la ruta del reproductor Flash, usando como parámetro “-s” el valor “http://www.hogarutil.com/staticFiles/static/player/BigBainetPlayer.swf”. El comando completo es:

rtmpdump -r “rtmp://aialanetfs.fplive.net/aialanet/Jardineria/palmera-roebelen.flv” -s “http://www.hogarutil.com/staticFiles/static/player/BigBainetPlayer.swf” -o “palmera-roebelen.flv”

Como descargar un vídeo de Turbonick

Si estás viendo un vídeo en esta web de contenidos infantiles y te lo quieres bajar, no basta con ver el código fuente de la página y buscar la URL.

Todo el listado de vídeos, su selección y reproducción se hace mediante la interacción directa entre el reproductor Flash y el servidor, así que la única forma de averiguar la URL es simular esa conversación.

Veamos los pasos:

  • Cuando la página se carga, el reproductor solicita al servidor la lista de canales mediante una petición a esta URL:

http://es.turbonick.nick.com/dynamo/turbonick/locale/common/xml/dyn/getGateways.jhtml

  • Si analizas el contenido verás que viene a ser el listado de canales que aparecen a la izquierda, pero en XML.

turbonick-1

  • Coge el canal que te interesa (en este caso NUEVO) y usa el valor de cmsid (en este caso 5841) en la segunda petición para obtener el listado de los vídeos de ese canal.

http://es.turbonick.nick.com/dynamo/turbonick/xml/dyn/getIntlGatewayByID.jhtml?id=5841

  • Vuelve a analizar el contenido, que esta vez es una lista de vídeos. Busca elementos “content” que tengan el atributo contenttype=”video”. Aquí va el primero que me sale.

turbonick-2

  • Nuevamente, usa el cmsid para la siguiente petición del detalle del vídeo:

http://es.turbonick.nick.com/dynamo/turbonick/xml/dyn/flvgenPT.jhtml?vid=6649&hiLoPref=hi

  • Y esta vez ya sale la URL del vídeo:

turbonick-3

Para descargar un fichero en formato RTMP puedes usar la técnica descrita en este post. El comando para descargar el vídeo del ejemplo es:

rtmpdump.exe -r “rtmp://cp35019.edgefcs.net/ondemand/mtviestor/_!/intlnick/es/INVASOR_ZIN/INVASORZIM2A_OD_640.flv” -o “invasorzim2a.flv”

Y una vez descargado ya puedes ver el vídeo. 640×480 a unos 800kbps de bitrate, todo un lujo en alta calidad.

turbonick-4

Como descargar vídeos publicados en RTMP

El protocolo RTMP está estrechamente relacionado con los reproductores Flash tan populares hoy en día, ya que es un estándar propiedad de su fabricante (Adobe) y por tanto los únicos reproductores que lo han soportado hasta hace poco son los que Adobe produce. Están pensando en liberar la especificación, pero lo cierto es que aún es un secreto de la industria.

Lo cierto es que cada vez se está popularizando más el protocolo para la publicación de vídeos en streaming, pudiendo encontrarlo en webs de televisión a la carta como TV3, TVE, La Sexta, etc.

Eso no implica que no haya reproductores que empiezan a soportarlo, y casualmente los más avanzados en este campo son precisamente los programadores del XBMC Team. Parece que el mediacenter XBMC soportará este protocolo en las nuevas versiones, aunque me da la impresión de que no todas las plataformas tendrán el mismo nivel de soporte por las pruebas que he hecho.

Como resultado de este desarrollo y gracias al efecto open source, un programador ha hecho una herramienta por línea de comandos que se llama rtmpdump. Se basa en el código fuente de XBMC, y permite descargarte un vídeo publicado mediante este protocolo. La idea es sencilla (ejemplo usando Windows):

  • Bájate el fichero ZIP de la página del proyecto y descomprímelo en una carpeta. Por ejemplo “c:\rtmpdump”.
  • Consigue la URL del vídeo. Para el ejemplo vamos a coger una dirección sacada de la web de Turbonick, concretamente el principio de Avatar:

rtmp://cp35019.edgefcs.net/ondemand/mtviestor/_!/intlnick/es/AVATAR/AVATAR1A_OD_640.flv

  • Abre una ventana de “Simbolo de sistema”. En Windows no falla usar “Inicio / Ejecutar / cmd”.
  • Ponte en la carpeta donde tienes descomprimido el rtmpdump.
  • cd \rtmpdump

    • Tecleas el siguiente comando (no olvides las comillas, que Windows es poco listo y se lía):

    rtmpdump.exe -r “rtmp://cp35019.edgefcs.net/ondemand/mtviestor/_!/intlnick/es/AVATAR/AVATAR1A_OD_640.flv” -o salida.flv

    rtmpdump1

    • Verás una secuencia de números. Tras un periodo de espera tienes el fichero en tu disco.

    Y ya está.

    ¿Así de fácil?

    Pues realmente no, dado que esta utilidad está aún muy verde y falla a menudo. Hay varios problemas posibles que te puedes encontrar:

    1) La descarga se interrumpe: Por algunar razón extraña, a mitad de descarga se para y se queda con el archivo a medias. En este caso puedes usar el parámetro “–resume” o simplemente volver a intentarlo para que continue.

    rtmpdump.exe -r “rtmp://cp35019.edgefcs.net/ondemand/mtviestor/_!/intlnick/es/AVATAR/AVATAR1A_OD_640.flv” -o salida.flv –resume

    2) La descarga se resiste a empezar: Es bastante normal que al poner el comando no descargue nada, como me ha pasado con el vídeo de este ejemplo. Basta con insistir, que en este caso ha funcionado, o nos encontramos con el caso 3.

    3) El vídeo no se descarga por más que lo repites: Hay vídeos que no se pueden descargar de momento con este sistema, aunque en algunos casos basta que investigar un poco más el resto de los parámetros.

    Por ejemplo, para descargar un vídeo de hogarutil.com hay que poner como parámetro adicional la URL donde está el player Flash usando el parámetro “-s”, o de lo contrario la descarga no funciona.

    rtmpdump -r “rtmp://aialanetfs.fplive.net/aialanet/Jardineria/palmera-roebelen.flv” -s “http://www.hogarutil.com/staticFiles/static/player/BigBainetPlayer.swf” -o “palmera-roebelen.flv”

    El método es rudimentario, sí, y bastante inestable. Pero yo ya me he descargado todos los vídeos que me gustan de Turbonick :)

    Cuando el protocolo se publique, seguro que la descarga va mucho mejor y herramientas más visuales como Replay Media Catcher o Orbit Downloader lo soportan también.

    De hecho, probablemente VideoLan será de los primeros puesto que ya tiene también un soporte preliminar. Aunque de momento ninguna de las URL anteriores funciona.