Difference between revisions of "SysRec/es"

From Free Pascal wiki
Jump to navigationJump to search
 
(19 intermediate revisions by the same user not shown)
Line 13: Line 13:
  
 
=== Autor ===
 
=== Autor ===
[[User:Lightning|Razvan Adrian Bogdan]]
+
:[[User:Lightning|Razvan Adrian Bogdan]]
  
 
=== Cómo obtenerla ===
 
=== Cómo obtenerla ===
La aplicación se puede encontrar en la página de archivos [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=148359&release_id=331555 ''Lazarus CCR''].
+
:La aplicación se puede encontrar en la página de archivos [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=148359&release_id=331555 ''Lazarus CCR''].
  
 
=== Utilización ===
 
=== Utilización ===
Para utilizar la aplicación abrir el archivo ''.lpi'' desde su explorador de archivos o utiliza la opción ''Abrir proyecto'' del IDE de Lazarus, y trás abrirlo ejecutalo, se muestra la ventan princiapl 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 hace un uso menor de CPU y la visualización es más dinámica.
+
: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.
<br>
+
:También se muestán algunos botones: Source, Format, Quality, Connect, Record/Stop.
You should also see some buttons: Source, Format, Quality, Connect, Record/Stop.
+
:Los tres primeros abren varios diálogos que dependen de la configuración(tarjetas/SO).  
<br>
+
:El botón ''Source'' permite seleccionar y configurar las fuentes de vídeo que puede utilizar el controlador WDM.
The first 3 buttons open various dialogs wich are dependant on your configuration.  
+
:El botón ''Format'' permite seleccionar la resolución y la profundidad de color de la captura de imágenes.
<br>
+
:El botón ''Quality'' permite elegir y configurar un tipo de codificación (''codec''), de entre los instalados en el sistema.
The Source button allows selecting and configuring a video source wich is capable of using a WDM driver.
+
: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''.
<br>
+
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''.
The Format button allows selecting the resolution and number of colors for the captured images.
 
<br>
 
The Quality button allows selecting and configuring a codec, this is dependant on your installed codecs.
 
<br>
 
The Connect button is a workaround for a Windows bug wich does not detect Overlay/Preview modes properly when changing the video source using Select.
 
<br>
 
The Record button switches from Record to Stop when clicked and starts recording, the files are saved in the same directory and have the start and stop time in their name and the .avi extension.
 
<br>
 
  
 
=== Description ===
 
=== Description ===
'''If any of the links do not work ask MS why did they move the website again and why is it so sloooow :)'''<br><br>
+
'''Si alguno de los enlaces no funciona, pregúntale a MS ¿por qué mueven el sito constantemente y por qué es tan leeentooo?:)'''<br><br>
How does it work ?<br>
+
¿Cómo funciona?<br>
* [[Glossary#VFW|VFW]] is one of the simplest parts of the [[Glossary#Windows|Windows]] [[Glossary#API|API]], this application simply creates a special window using [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcreatecapturewindow.asp capCreateCaptureWindow], you can call various functions using the handle resulted by creating this window.
+
:* [[Glossary#VFW|VFW]] es simplemeten una parte de la [[Glossary#API|API]] de [[Glossary#Windows|Windows]], esta aplicación simplemente crea un ventana especial utilizando [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcreatecapturewindow.asp '''''capCreateCaptureWindow'''''], se pueden utilizar varias funciones mediante el [http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=asa asa] devuelta al crear la ventana .
* After creating the window you have to connect it to a valid driver, for newer devices this is the default WDM driver, use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdriverconnect.asp capDriverConnect] to connect the Capture window to a capture driver.
 
* You will have to find if the driver supports hardware acceleration or '''Overlay''', this is done by [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdrivergetcaps.asp capDriverGetCaps], use the '''fHasOverlay''' member of the [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdrivercaps_str.asp TCapDriverCaps] structure.
 
* Next you have to decide if you want live preview from the capture device, to activate it use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capoverlay.asp capOverlay] or [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreview.asp capPreview] depending on your driver capabilities, if you have overlay then set [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreviewrate.asp capPreviewRate] to 0 otherwise set it to a resonable value, you might also want the image to be stretched to the window size, to do this use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreviewscale.asp capPreviewScale], to stop the preview use '''capOverlay''' or '''capPreview''' (depending on '''fHasOverlay''' member) and pass '''false''' as the second parameter.
 
* To record you should use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capfilesetcapturefile.asp capFileSetCaptureFile], [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcapturesequence.asp capCaptureSequence] and [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capfilesaveas.asp capFileSaveAs] if you did not use '''capFileSetCaptureFile''', to stop recording you should use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcapturestop.asp capCaptureStop].
 
* To get a single frame use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capgrabframenostop.asp capGrabFrameNoStop] and [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capeditcopy.asp capEditCopy] or use the internal '''CapGrabFrame''' wich captures one frame as a '''TBitmap''' from the clipboard so you can process/save it later.
 
* You will have to also disconnect the driver, to do so use [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdriverdisconnect.asp capDriverDisconnect].
 
* Before you close the program you also need to free the window with [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/destroywindow.asp DestroyWindow]
 
* How to use a hook and process messages from various system windows or dynamic messages obtained with [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/registerwindowmessage.asp RegisterWindowMessage].
 
  
[[category:Example programs]]
+
:* 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 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdriverconnect.asp '''''capDriverConnect'''''] para conectar la ventana al controlador.
 +
 
 +
:* Hay que descubrir si el controlador soporta aceleración por hardware o '''''Overlay''''', esto se realiza con [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdrivergetcaps.asp '''''capDriverGetCaps'''''], usando el elemento '''''fHasOverlay''''' de la estructura la[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdrivercaps_str.asp '''''TCapDriverCaps'''''].
 +
 
 +
:* Luego hay que decidir si sequiere vista previa desde el dispositivo de captura, para activarla utiliza [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capoverlay.asp '''''capOverlay'''''] o [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreview.asp '''''capPreview'''''] dependiendo de las capacidades del dispositivo, Si se tiene ''overlay'' hay que poner [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreviewrate.asp '''''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 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_cappreviewscale.asp '''''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 grabar utiliza [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capfilesetcapturefile.asp '''''capFileSetCaptureFile'''''], [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcapturesequence.asp '''''capCaptureSequence'''''] y [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capfilesaveas.asp '''''capFileSaveAs'''''] si no utilizas '''''capFileSetCaptureFile''''', para detener la grabación haz uso de [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capcapturestop.asp '''''capCaptureStop'''''].
 +
 
 +
:* Para tomar un fotograma utiliza [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capgrabframenostop.asp '''''capGrabFrameNoStop'''''] y [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capeditcopy.asp '''''capEditCopy'''''] o haz uso de '''''CapGrabFrame''''' que captura un fotograma en un '''''TBitmap''''' desde el portapapeles para procesarlo o gaurdarlo más tarde.
 +
 
 +
:* Hay que desconectar el controlador utilizando [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdriverdisconnect.asp '''''capDriverDisconnect'''''].
 +
 
 +
:* Antes de terminar el programa es necesario liberar (destruir) la ventana con [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/destroywindow.asp '''''DestroyWindow''''']
 +
 
 +
:* Cómo capturar y procesar mensajes de diversas ventanas del sistema o cómo obtener mensajes dinámicos con [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/registerwindowmessage.asp '''''RegisterWindowMessage'''''].
 +
 
 +
[[category:Español]][[category:Castellano]]

Latest revision as of 21:15, 12 June 2008

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.