RTMPDump - RTMPDump

RTMPDump es un proyecto de software gratuito dedicado a desarrollar un conjunto de herramientas para transmisiones RTMP . El paquete incluye tres programas rtmpdump, rtmpsrvy rtmpsuck.

  • rtmpdumpse utiliza para conectarse a servidores RTMP al igual que los clientes normales de reproductores de vídeo Flash , capturar la transmisión de la red y guardarla en un archivo. Con él, los comandos se pueden construir utilizando la información de conexión y autenticación obtenida previamente del servidor RTMP por rtmpsrv.
  • rtmpsrv se usa para ver conexiones y transmisiones
  • rtmpsuck También se puede utilizar para capturar secuencias, pero se puede utilizar para detectar parámetros que se utilizarán con rtmpdump

Se ha considerado "una excelente utilidad para grabar transmisiones de TV y video a pedido" y se ha utilizado en investigaciones académicas sobre la selección de la velocidad de transmisión de video y un marco de desarrollo de medios. La utilidad se ha destacado por su pequeño tamaño y su capacidad para descifrar las tecnologías de gestión de derechos digitales RTMPE (RTMP cifrado) y RTMPS (Secure RTMP) . Adobe Systems Inc. afirmó que , en una orden de cese y desistimiento de la Ley de derechos de autor del milenio digital de 2009 emitida contra SourceForge , "se puede usar" para infringir los derechos de autor, sin reclamar el uso real. A partir de 2009, SourceForge había eliminado los archivos del proyecto, proporcionando el mensaje "El proyecto especificado ha sido marcado como eliminado". Desde noviembre de 2009 en adelante, el proyecto se ha alojado como un repositorio de Git en el sitio web de MPlayer , MplayerHQ.hu. rtmpdump

Transmisiones bajo demanda

Al negociar una conexión, un cliente RTMP envía y recibe un flujo de datos que contiene múltiples elementos, como una sola línea de comando. Una transmisión a pedido generalmente incluye los siguientes elementos:

Para un servidor Limelight

  • -r rtmp://dirección del servidor
  • -a: elementos de autenticación ( --appse puede utilizar la alternativa en su lugar)
    • Normalmente en el formato -
      application?as=data&av=data&te=data&mp=data&et=data&fmta-token=data
    • aplicación : una dirección de ruta. Por ejemplo,a1414/e3
    • como : Por ejemplo,as=adobe-hmac-sha256
    • av : por ejemplo,av=1
    • te : Por ejemplo,te=connect
    • mp : normalmente, dos o más direcciones URL separadas por comas, para transmisiones de velocidad de bits alternativas (formato MPEG, MP3 o MP4)
    • et : Normalmente, un número de diez caracteres (numérico)
    • fmta-token : normalmente, una cadena de autenticación (auth) de 64 caracteres [es decir, un token de autenticación] (alfanumérico)
  • -y: playpath (dirección URL del flujo de bits deseado, uno de los especificados en mp arriba)
    • Normalmente, en el formato omp3:path/filename.mp3mp4:path/filename.mp4
  • -o: Nombre del archivo de salida

Los anteriores son típicamente los únicos elementos (o "conmutadores") que son esenciales para una conexión, si el servidor no utiliza ni Tunneling ni Encryption. Aunque en la práctica se pueden encontrar otros elementos, normalmente no son esenciales.

Por lo tanto, los siguientes elementos suelen ser enviados por la aplicación de software cliente, como una única línea de comando:

rtmpdump -r rtmp://xxxxxxxx.fcod.llnwd.net
   -a path?as=data&av=data&te=data&mp=data&et=data&fmta-token=data
   -y mp4:URL/filename.mp4 -o file_mp4.flv

Las partes que comprenden el elemento -a(o --app) deben incorporarse en el mismo en el orden mostrado anteriormente, ya que la secuencia en la que el servidor RTMP recibe sus partes es crítica.

Las cadenas de autenticación ( et=y fmta-token=) contienen información de la sesión, por lo que cambiarán en cada nueva conexión realizada al servidor (lo que en la práctica generalmente significa que caducarán si se inicia una nueva sesión, no literalmente en cada intento de reanudar una conexión), pero el otros elementos no suelen variar de una sesión a otra.

Para un servidor de Akamai

La línea de comando suele ser la anterior, excepto que el elemento -a(o --app) contiene las siguientes partes:

  • auth : normalmente, una cadena de autenticación (auth) de 62 caracteres [es decir, un token de autenticación] (alfanumérico)
  • aifp: Por ejemplo, aifp=v001
  • slist : normalmente, la dirección URL de la transmisión

Por lo tanto, los siguientes elementos suelen ser enviados por la aplicación de software cliente, como una única línea de comando:

program.exe -r rtmp://xxxxxxx.edgefcs.net
   -a ondemand?auth=data&aifp=data&slist=data
   -y mp3:URL/filename -o file_mp3.flv

Las partes que comprenden el elemento -a(o --app) deben incorporarse en el mismo en el orden mostrado anteriormente, ya que la secuencia en la que el servidor RTMP recibe sus partes es crítica.

La cadena de autenticación ( auth=) contiene información de la sesión, por lo que cambiará en cada nueva conexión realizada al servidor (normalmente, si se inicia una nueva sesión, por ejemplo, se reinicia la computadora, no literalmente en cada intento de reanudar una conexión). Las otras partes no suelen variar de una sesión a otra.

Nota : lo anterior describe la forma simplificada, por la cual la transmisión se guarda primero en el disco duro del usuario, para luego reproducirse en un reproductor multimedia capaz de reproducir un archivo codificado FLV (codificación H.263 o H.264), como Jugador de GOM . Si se desea, en cambio, reproducir la transmisión directamente desde el servidor RTMP, dando así una reproducción inmediata, se necesitarán elementos adicionales en la línea de comando, incluyendo:

-f: Esto especifica la versión del complemento Flash instalado en la computadora del usuario. Por ejemplo, -f "WIN 9,0,260,0"indicaría que el usuario tiene la versión de Windows de Flash Player 9, versión 260.

-W: El comando W mayúscula. Esta es la dirección URL del reproductor SWF utilizado para reproducir la transmisión, como lo indica la página web de la que se deriva la transmisión. Por ejemplo path/9player.swf?revision=18269_21576,.

Transmisiones en vivo

La línea de comando de un servidor de Akamai suele ser la misma que la de un flujo bajo demanda de Akamai. Pero el elemento -a(o --app) contiene las siguientes partes

  • auth : normalmente, una cadena de autenticación (auth) de 62 caracteres [es decir, un token de autenticación] (alfanumérico)
  • aifp: Por ejemplo, aifp=v001
  • slist : normalmente, la dirección URL de la transmisión, en el formato xxxxx_x_ @ xxxx (por ejemplo Radio_7_Int@6463); o más de una URL si hay más de una tasa de bits disponible [ver nota]

Nota - Si la cadena de deslizamiento contiene dos o más flujos alternativos (es decir, ofrece una selección de flujos a velocidades de bits alternativas), el elemento playpath ( --playpatho -y) especifica el elegido por el usuario, como elemento identificador.

Por lo tanto, la aplicación de software cliente suele enviar la siguiente secuencia, como una única línea de comando:

rtmpdump.exe --live -r rtmp://xxxxxxx.live.edgefcs.net
   -a live?auth=data&aifp=data&slist=data
   --playpath {identifier}?auth=data&aifp=data&slist=data -o output.flv

Todos estos elementos son obligatorios y deben incluirse en el orden que se muestra arriba. La cadena siguiendo el ?(signo de interrogación) tanto en el -ay --playpathelementos típicamente serán idénticos. El elemento identificador será típicamente un subconjunto de los datos de deslizamiento (si este último ofrece una opción); de lo contrario, también serán idénticos. El -oelemento puede especificar un nombre de archivo de salida elegido por el usuario.

No es necesario especificar la ruta de reproducción completa , ya que la aplicación cliente construye ese elemento en la memoria. Normalmente, en la memoria toma la siguiente forma:

-y xxxxx_x_@xxxx?auth=[62 characters]&aifp=v001&slist=xxxxx_x_@xxxx,xxxxx_x_@xxxx

Referencias

enlaces externos