SysRec/es

From Free Pascal wiki

English (en) español (es)

Acerca de SysRec

  • La aplicación funciona en todas las versiones de Windows usando el VFW API disponible para todos los Windows de 32bit.
  • Permite los modos Prevista y Superposición (Overlay) con cualquier dispositivo de captura cómo cámaras y tarjetas sintonizadoras de TV, a pesar de que ha sido diseñado para su utilización con una WebCam.
  • Permite la captura silente de vídeo con cualquier resolución y profundidad de color, se puede seleccionar la codificación, de entre las disponibles, de la grabación para reducir el tamaño de los archivos y existe una función para guardar fotogramas. Añadir grabación de sonido es fácil.
  • Una aplicación llamadora se ha añadido para demostrar la intercomunicación de procesos mediante mensajes.
  • La aplicación está realizada con Lazarus pero algunos archivos y directivas han sido añadidos para que compile en Delphi
  • La aplicación utiliza la unidad Delphi-JEDI VFW con licencia MPL, no obstante son necesarias algunas pequeñas modificaciones para poder descargala de nuevo, busca "FPC" en la unidad actual para ello. Pudes descargar la unidad desde aquí (n.t.: la unidad VFW incluida en el paquete de la aplicación es más reciente).

Licencia

Esta aplicación puede ser utilizada según las licencias Lazarus modified LGPL y MPL, que permite la realización de proyectos comerciales que utilicen este código, pero no da garantía, tú eres el único responsable si esto código no funciona o causa algún percance a tu ordenador.

Autor

Razvan Adrian Bogdan

Cómo obtenerla

La aplicación se puede encontrar en la página de archivos Lazarus CCR.

Utilización

Para utilizar la aplicación abrir el archivo .lpi desde un explorador de archivos o utiliza la opción Abrir proyecto del IDE de Lazarus, y, trás abrirlo, ejecútalo, se muestra la ventana principal, y si hay un controlador de captura instalado, se deberían ver algunas imágenes; en la barra de estado se muestra si el dispositivo soporta Superposición o sólo Prevista mediante programa, en el modo Superposición la aplicación utiliza menos CPU y la visualización es más dinámica.
También se muestán algunos botones: Source, Format, Quality, Connect, Record/Stop.
Los tres primeros abren varios diálogos que dependen de la configuración(tarjetas/SO).
El botón Source permite seleccionar y configurar las fuentes de vídeo que puede utilizar el controlador WDM.
El botón Format permite seleccionar la resolución y la profundidad de color de la captura de imágenes.
El botón Quality permite elegir y configurar un tipo de codificación (codec), de entre los instalados en el sistema.
El botón Connect soluciona un problema de Windows, que no detecta los modos Prevista/superposición adecuadamente cuándo se cambia la fuente de vídeo con Select.

El botón Record inicia una grabación y cambia su rótulo a Stop permitiendo detenerla también, los archivos son guardados en el mismo directorio de la aplicación y tienen el tiempo de incio y fin en su nombre y la extensión .avi.

Description

Si alguno de los enlaces no funciona, pregúntale a MS ¿por qué mueven el sito constantemente y por qué es tan leeentooo?:)

¿Cómo funciona?

  • VFW es simplemeten una parte de la API de Windows, esta aplicación simplemente crea un ventana especial utilizando capCreateCaptureWindow, se pueden utilizar varias funciones mediante el asa devuelta al crear la ventana .
  • Tras crear la ventana hay que conectarla a un controlador válido, para nuevos dispositivos este es el WDM es el controlador por defecto WDM, utiliza capDriverConnect para conectar la ventana al controlador.
  • Hay que descubrir si el controlador soporta aceleración por hardware o Overlay, esto se realiza con capDriverGetCaps, usando el elemento fHasOverlay de la estructura laTCapDriverCaps.
  • Luego hay que decidir si sequiere vista previa desde el dispositivo de captura, para activarla utiliza capOverlay o capPreview dependiendo de las capacidades del dispositivo, Si se tiene overlay hay que poner capPreviewRate a 0, en otro caso poner un valor razonable; también se puede acomodar la imagen al tamaño de la ventana, para ello se utiliza capPreviewScale; para detener la visualización utiliza capOverlay o capPreview (dependiendo del valor de fHasOverlay) y envía false cómo segundo parámetro.
  • Para tomar un fotograma utiliza capGrabFrameNoStop y capEditCopy o haz uso de CapGrabFrame que captura un fotograma en un TBitmap desde el portapapeles para procesarlo o gaurdarlo más tarde.
  • Antes de terminar el programa es necesario liberar (destruir) la ventana con DestroyWindow
  • Cómo capturar y procesar mensajes de diversas ventanas del sistema o cómo obtener mensajes dinámicos con RegisterWindowMessage.