dvgrab es un software de captura de video DV proveniente de cámaras o reproductores DV conectados mediante puerto Firewire a la PC. Su uso es mediante terminal, asà que a perderle el miedo al rectángulo negro.
Muchos usuarios que migran desde Windows ven a la terminal como un lugar para copiar y pegar soluciones soluciones literales, instalación de programas, actualización de repositorio y nada mas. Sin embargo resulta que también se puede utilizar de manera cociente, es decir entender que es eso que se escribe. Como uno hace clic en una interfaz, en la terminal se puede escribir opciones, configuraciones, salidas, etc.
Instalación
Si sos usuario de la distribución Ubuntu tecleas en una terminal:
sudo apt-get install dvgrab
Con eso concluye el traumático proceso de instalación
Uso
Para que sea utilizado es necesario tener conectada nuestra cámara DV a la PC, la misma debe estar encendida y transmitiendo video ( como dijo un amigo: Cuando hay que aclarar lo obvio es porque lo absurdo ocurre con cotidianidad).
El uso basico de dvgrab es el siguiente:
dvgrab [opciones] archivo.avi
Las opciones de dvgrab son las siguientes:
- -a[n],-autosplit[=n] crear un nuevo archivo cuando se detecta una nueva reproducción, o en relación a una determinada (n) cantidad de segundos
- -buffers [n] cantidad de cuadros (frames) almacenados en el buffer, por defecto son 100
- -card [n] Si tenemos varias placas firewire indicamos numero de la placa de captura, si no se indica funciona con detección automática.
- -channel [n] Para cambiar el canal de transmisión, la mayorÃa de los reproductores y cámaras funcionan en 63 que es el valor por defecto
- -csize [n] divide el archivo de captura en parte cuando supera X cantidad de MB
- -debug [t] mostrar en la terminal información de la captura, los tipos de información son: all, pat, pmt, pids, pid=[n], pes, packet, video, sonya1.
- -d [t] tiempo total a capturar en formato SMIL, por defecto es ilimitado
- -every para grabar un cuadro cada X cantidad de cuadros. Ideal para timelapse si que se te llene el disco
- -f [f] formato de captura, por defecto es raw, los formato que acepta son:
- raw archivo de video raw con extensión .dv
- dif archivo de video raw con extensión .dif
- dv1 Archivo AVI DV ‘Type 1′
- dv2, avi Archivo AVI DV ‘Type 2′
- qt, mov Archivo de video con formato QuickTime
- mpeg2, hdv Archivo de video con compresión MPEG-2 (HDV)
- jpeg, jpg secuencia de imágenes
- -F [n], cantidad máxima de fotogramas por archivo, por defecto ilimitado
- -I [a]Â para que la entrada de video no sea de un dispositivo sino de un archivo
- -i activa el control de reproducción de la cámara desde la terminal
- -jpeg-deinterlace desinterlaza el archivo de salida
- -jpeg-height [n] establece el alto en pixels del archivo de salida (max=2048)
- -jpeg-overwrite sobrescribe un archivo en vez de crear una secuencia de imágenes
- -jpeg-quality [n] Valor de compresión del JPG, de 1 a 100
- -jpeg-temp [n] nombre del archivo temporal
- -jpeg-width [n] establece el ancho en pixels del archivo de salida (max=2048)
- -lockstep_maxdrops [n] máximo de fotogramas perdidos consecutivos antes para cerrar la captura
- -lockstep_totaldrops [n] máximo de fotogramas perdidos totales antes de cerrar la captura
- -noavc deshabilita el control de la cámara o reproductor mediante software
- -nostop no detener la reproducción en el dispositivo al cerrar la captura
- -opendml usar la extensión OpenDML para archivos grandes ( mayores de 1GB)
- -r, captura solamente cuando la cámara no está en pausa
- -rewind rebobina el MiniDV al finalizar
- -showstatus muestra el estado de la captura mientras ocurre
- -s [n] tamaño máximo del archivo
- -srt crear un archivo SRT con los datos de la fecha de captura
- -timecode pone el time code del primer fotograma como nombre del archivo
- -t pone la fecha y hora de registro como nombre del archivo
- -timesys pone la fecha y hora del momento de captura como nombre del archivo
- -V captura video mediante dispositivos USB usando V4L2 (Video for Linux 2), usar -input para establecer el dispositivo
- -24p captura en 24 cuadros por segundo (Solamente para Quicktime)
Básicamente estas son casi todas las opciones (retire un par), posiblemente no uses todas e incluso algunos no sepas ni lo que significan. En todo caso lo importante es que sepas lo que querés obtener como archivo y te fijes que opciones de las que hay pueden ser utiles. Por ejemplo, una vez querÃa conectar una camara DV y que capture un fotograma en JPG cada 3 minutos, y que remplace siempre el mismo archivo, además tenÃa una script que se ejecutaba cada 3 minutos y subÃa dicho archivo a internet. Por lo tanto la ejecución de dvgrab era la siguiente:
dvgrab -f jpeg -every 3min -jpeg-deinterlace -jpeg-overwrite /home/marcos/web/foto.jpg
Entonces, con -f jpeg establezco el formato de salida como imágen, con -every 3min que capture un cuadro cada 3 minutos, -jpeg-deinterlace quita el interlineado, -jpeg-overwreite hace que no grabe una secuencia sino que reemplace siempre el mismo archivo que indico al fianl como archivo de salida (/home/marcos/web/foto.jpg).
Como verán es muy versátil, permite desde una simple captura con “dvgrab archivo.dv” hasta cosas mas complejas.
netbrowzer
julio 14, 2011
Buenas!!!
)
Buscando información sobre timelapse mediante firewire di con ste blog
Ya conocÃa dvgrab y ahora estoy empeñado en hacer un timelapse con la cámara de video (antes los hacÃa con webcam, camorama
Bien, lo que pretendemos es tener una secuencia de fotografÃas para luego unirlas y blablblablablabla…. El caso es que intento que dvgrab me guarde las capturas de forma secuencial (timestamp) cada x minutos y no lo consigo (debo estar muy espeso).
picture=`date +%d-%m-%y-%m%s`
dvgrab -f jpeg -every 2min -jpeg-deinterlace -jpeg-overwrite /home/netbrowzer/timelapse/$picture.jpg
Esto no anda.
Mi otra opción…. hacerme como tienes arriba y lanzar un cron para que me vaya renombrado el fichero capturado a lo que me interesa
¿Cómo lo tenÃas solventado?
Gracias por adelantado
gmarcos87
julio 14, 2011
Hola, gracias por tu comentario. en este momento devolví la cámara dv que tenía para pruebas. Creo que el problema puede estar en la forma de dar nombre a las capturas. Probaste poner cómo secuencia jpg y sin sobrescribir. Creo que dvgrav le asigna una numeración única a cada frame.