Grab

De VdrWiki

Tabla de contenidos

Descripción

El programa VDR permite ejecutar una serie de comandos cuando te conectas con él mediante telnet. Dichos comandos están disponibles dentro de lo que se denominan sesiones SVDRP, que básicamente consisten en hacer telnet al VDR y darle órdenes y esperar respuestas.

GRAB es uno de los comandos disponibles en las sesiones SVDRP. GRAB permite hacer una captura de pantalla de lo que está mostrando VDR en ese momento, es decir, un fotograma.

El comando GRAB nos va a devolver en formato JPEG o PNM la imagen del canal sintonizado en ese momento por VDR, es decir, una captura de lo que se está viendo en pantalla. Las características de la imagen (por defecto en mi instalación) serían:

Tamaño:      720x576
Resolución:  72x72dpi
Color:       RGB, 32bits (16,7 Millones)
Formato:     JPEG/JFIF

Veamos la sintaxis del comando GRAB y una descripción más detallada:

GRAB <fichero> [ <calida> [ <tamaño-x> <tamaño-y> ] ]

Captura el frame actual y lo salva en el fichero indicado. Las imágenes pueden guardarse tanto en formato JPEG como PNM, dependiendo de la extensión que se utilice en <fichero>. El parámetro calidad (que sólo aplica a cuando pedimos formato JPEG) puede estar en el rango de 0 a 100, siendo 100 el valor por defecto, es decir, la "mejor" calidad. Con los otros dos parámetros indicamos qué tamaño de imagen queremos (por defecto será pantalla completa). Si utilizamos sólo la extensión (.jpg, .jpeg o .pnm) en vez de un nombre completo, entonces VDR enviará la imagen en el formato indicado por la extensión a través de la sesión SVDRP codificada como base64. Pasa lo mismo si en vez del nombre del fichero usamos el signo menos '-', en cuyo caso se envía en también codificado como base64 en formato JPEG vía la sesión SVDRP.

# Activar "GRAB a fichero" (y usar /tmp como directorio) durante el arranque de vdr:
$ ./vdr -g /tmp (resto de opciones)


Desde la versión de VDR 1.3.? se desactivó la captura de las pantallas a fichero y sólo se soportaba la opción '-' que envía la imagen sobre la sesión SVDRP. Se tomó esta decisión debido a razones de seguridad.

Para que VDR cree un fichero en su disco duro al usar este comando tienes que arrancar el programa con la opción [-g <directorio>], siendo /tmp el directorio más típico; es más, el programa Vdradmin necesita que arranques vdr con dicha opción y además apuntando a /tmp.


Requisitos de GRAB

El comando GRAB no siempre va a funcionar, es más, podríamos encontrarnos con un decepcionante error a la hora de ejecutarlo: '451 Grab image failed' (La captura de la imagen ha fallado).

  • Requisitos de GRAB
  1. Usar una tarjeta de tipo Full-Featured
  2. Usar una tarjeta de tipo Budget y un plugin de salida que implemente GrabImage()
Nota1: Ciertos plugins de salida, como por ejemplo vdrxine, implementan
       el método *cDevice::GrabImage que permite que Grab funcione y nos 
       devuelva las capturas de pantalla, incluso cuando NO tenemos una 
       tarjeta Full Featured. 

Nota2: El plugin softdevice no implementa dicho método, lo cual significa
       que si tienes una tarjeta budget y usas softdevice, entonces NO 
       puedes usar GRAB.

Ejemplos de aplicaciones que usan GRAB

El diálogo con el equipo mediante SVDRP manualmente (cli) o línea de comandos se hace un poco duro y por ello es de gran ayuda contar con aplicaciones que ejecutan GRAB y nos dan el pantallazo limpiamente. Algunos ejemplos son:

  • El gestor Vdradmin
  • El cliente Java para cambiar de canales Jvdr
  •  :


Referencias

Enlaces

[1] http:// Página de referencia



--Luis 19:57 15 sep 2006 (CEST)

Herramientas personales