Captura de stream de audio y video "Real Time Messaging Protocol (RTMP)", desde terminal.

+1
0
-1

Queriendo ver tv en línea o escuchar una radio encontré la dificultad de reproducir el protocolo RTMP vía terminal, con mplayer, vlc o cvlc; como solía con los simples "mms".
Entónces buscando el por qué encontré "rtmpdump" y "rtmpsrv".
"rtmpdump" es una herramienta de grabación de contenido audio-visual transmitido por RTMP (Real Time Messaging Protocol). (Fuente: ~$ man rtmpdump).
"rtmpsrv" es un server que escucha en el puerto "tcp", y nos devuelve los detalles de la transmisión necesarios para ejecutar "rtmpdump".
Entónces para poder ejecutar el servidor, y que "escuche" la transmisión, hay que modificar el cortafuego "iptables":

sudo iptables -t nat -A OUTPUT -p tcp --dport 1935 -j REDIRECT

Seguido se ejecuta el servidor

$~ rtmpsrv
RTMP Server v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935

Y en cualquier navegador vamos a la página origen de la transmisión y hacemos que comience la reproducción, y veremos como el servidor "rtmpsrv" nos dá todo un comando entero, que copiado y pegado en otra ventana de una terminal nos permitiría copiar la transmisión sin visión ni audio a un archivo (-o filemame),

$~ rtmpsrv
RTMP Server v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935
ERROR: Handshake failed
Closing connection... done!

WARNING: Trying different position for client digest!
rtmpdump -r "rtmp://186.153.1.3/live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -a "live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -f "LNX 11,0,1,152" -W "http://www.tvpublica.com.ar/vivo/swf/player.swf" -p "http://www.tvpublica.com.ar/vivo/" -y "livestream" -o livestream.flv

Closing connection... done!

Después Ctrl+c y termino el servidor, y copié desde "rtmpdump" hasta "-y "livestream", y lo pegué en la terminal agregando un | "pipe" o tubería a mplayer, vlc o cvlc. Pero antes volvemos a reestablecer "iptables".

sudo iptables -t nat -D OUTPUT -p tcp --dport 1935 -j REDIRECT

$~ rtmpdump -r "rtmp://186.153.1.3/live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -a "live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -f "LNX 11,0,1,152" -W "http://www.tvpublica.com.ar/vivo/swf/player.swf" -p "http://www.tvpublica.com.ar/vivo/" -y "livestream" | mplayer -cache "1000" - &>/dev/null

$~ rtmpdump -r "rtmp://186.153.1.3/live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -a "live/_definst_/5daaqaibaqmibi2eqrrceymgrrmkdbng" -f "LNX 11,0,1,152" -W "http://www.tvpublica.com.ar/vivo/swf/player.swf" -p "http://www.tvpublica.com.ar/vivo/" -y "livestream" | cvlc -

En este ejemplo con "tvpublica" no arranca pero con otros sitios sí.

Fuentes:
http://rtmpdump.mplayerhq.hu/
http://stream-recorder.com/forum
http://murga-linux.com/puppy/viewtopic.php?t=80021

Comentarios

Imagen de satiricom68

Hola. Tengo instalado ubuntu 11.10 desde hace poco tiempo en una portatil hp compaq y a cada instante se congela el sistema, osea, no se mueve nada, ni el puntero y tengo que reiniciar la computadora y no entiendo cual es el problema. he reinstalado el ubuntu 11.10 de nuevo y persiste el problema. Alguien pudiera orientarme acerca de cual pudiera ser el problema. Gracias.

Imagen de Kittukahier

no tiene nada que ver lo que preguntás con el artículo, en todo caso dirigite al foro de hardware. Si no es el hardware, probá con distribuciones más livianas.