Artigo Clube Delphi 99 - Windows Vídeo API

Artigo da Revista Clube Delphi Edição 99.

Esse artigo faz parte da revista Clube Delphi Edição 99. Clique aqui para ler todos os artigos desta edição

API de Vídeo do Windows

·Como funciona o método capCreateCaptureWindowA da AVICAP32.DLL;

·Como enviar mensagens para uma webcam ou câmera utilizando a função SendMessage;

·Algumas mensagens da API de Vídeo do Windows e seus respectivos parâmetros;

·Como construir um projeto de detecção de movimentos usando a API de Vídeo do Windows.

Qual a finalidade

·Gravação de vídeo e imagem com equipamentos externos como webcams, câmeras etc.

Quais situações utilizam esses recursos?

·Projetos de aquisição e manipulação de imagens.

Resumo DevMan

Esse artigo visa mostrar os principais recursos da API do Windows para captura e manipulação de imagens utilizando Webcams.

 

Atualmente o crescimento de aplicações de vídeo que permitem que imagem e som sejam transportados através da Web tais como programas de bate papo e vídeo conferência, fizeram com que programas como o Windows Live Messenger e o Skype alcançassem grande popularidade, e câmeras e webcams passaram a ser grandemente utilizadas. Com isto houve o aumento da necessidade de se utilizar os recursos destes incríveis acessórios. Hoje com um pouquinho de conhecimento e a ajuda da API de vídeo do Windows, é possível desenvolver diversos aplicativos que possuam habilidades de captura de vídeo como, por exemplo: um detector de movimentos, simulação de um ponteiro de mouse com um feixe de luz, leitores de códigos de barras! Sim é possível! E muitas outras. O limite das aplicações de vídeo e imagem está restrito apenas a criatividade.

Por isso, para que esta limitação seja apenas nossas mentes criativas, demonstrarei como capturar vídeo e imagem através do Delphi, utilizando a AVICAP32.dll do Windows que encapsula todo acesso às funcionalidades de acesso a captura de vídeo e estaremos também desenvolvendo uma aplicação que detectará movimentos. Bom, agora mãos a obra!

 

A API de Vídeo do Windows

Para desenvolver esta aplicação utilizaremos a API de vídeo do Windows (VFW), dela podemos incorporar facilmente habilidades de captura de vídeo em nossa aplicação usando a classe AVICap Window. Esta classe possibilita, mediante utilização de mensagens do Windows, acesso ao hardware e controle de captura de vídeo. Uma janela criada utilizando a AVICap Window possibilita também as seguintes funcionalidades:

·Capturar streams de áudio e vídeo em arquivos AVI;

·Conectar-se e desconectar-se dinamicamente aos dispositivos de áudio e vídeo;

·Ajustar o frameskip de vídeo;

·Mostrar caixas de diálogos para controle da fonte de vídeo e formato;

·Copiar imagens para a área de transferência;

·Salvar imagens como DIB Bitmaps.

A Tabela 1 mostra as mensagens que iremos utilizar em nossa aplicação, juntamente com seus respectivos valores e funções. Não se esqueça de declarar a biblioteca Controls que possui a definição da mensagem WM_USER e também as mensagens da Tabela 1 na seção const do form.

 

         Nota: A constante WM_USER que equivale ao valor 1024, é usada pelas aplicações como auxílio para se definir mensagens para uso por classes definidas pelo usuário, normalmente sobre a forma: WM_USER + X, onde X é um valor inteiro.

 

Mensagem

Valor

Descrição

WM_CAP_START

WM_USER (1024)

Mensagem Base

WM_CAP_DRIVER_CONNECT

WM_CAP_START +10

Conecta webcam

WM_CAP_DRIVER_DISCONNECT

WM_CAP_START +11

Desconecta webcam

WM_CAP_FILE_SET_CAPTURE_FILEA

WM_CAP_START +20

Define o nome do arquivo AVI

WM_CAP_SAVEDIB

WM_CAP_START +25

Salvar arquivo bitmap

" [...] continue lendo...

Artigos relacionados