Quando iniciei as pesquisas em V4L (Vídeo for Linux), percebi que não faria sentido (em termos comerciais) um profissional estudar todos os conceitos para desenvolver tal aplicações. Sendo assim trabalhei em um projeto paralelo para facilitar os meus futuros projetos de manipulação de vídeo ao vivo e acabei disponibilizando este trabalho para a comunidade.
A biblioteca libhairCAPTURE (http://lhaircapture.sourceforge.net ou http://libhaircapture.codigolivre.org.br) é uma biblioteca de objetos escrita em C++, criada para facilitar o desenvolvimento de aplicações que manipulam vídeo ao vivo. Os métodos trabalham com chamadas da API V4L (Video for Linux) versão 1. Os recursos da biblioteca SDL foram utilizados para proporcionar recursos visuais junto à exibição do vídeo ao vivo. Abaixo, alguns recursos:
Traçar gráficos primitivos;
Exibir imagem com transparência;
Escrever texto em tempo real sobre o vídeo ao vivo;
Exibição de imagem ZoomOut (efeito picture-to-picture);
Exibição em janela ou tela cheia.
Futuras implementações:
Transmissão de quadros via TCP/IP;
Armazenamento de quadros em discos e/ou em banco de dados;
Alternar automaticamente os canais de TV e entradas de vídeo;
A conclusão deste trabalho somente foi possível graças à compreensão e incentivo da minha esposa Gisele Faria, às documentações enviadas por Alan Cox, ao constante apoio do Fábio e da comunidade Viva o Linux, Lucas do LinuxDicas e o parceiro Davidson Paulo (autor do Guia Bozolinux), que assumiu a coordenação da documentação do projeto.
Para visualizar o resultado, veja o vídeo no link abaixo:
[2] Comentário enviado por HunterNetBR em 13/10/2005 - 18:02h
Ae amigo,
Muito boa a idéia... tentei fazer aqui mas deu não... ta dando erro na hora de compilar os exemplos...
g++ -c example01.cpp
example01.cpp:8:28: funcoesCAPTURE.h: No such file or directory
example01.cpp: In function `int main(int, char**)':
example01.cpp:19: error: `HAIR' undeclared (first use this function)
example01.cpp:19: error: (Each undeclared identifier is reported only once for
each function it appears in.)
example01.cpp:19: error: parse error before `::' token
example01.cpp:22: error: `video1' undeclared (first use this function)
example01.cpp:36: error: `cout' undeclared in namespace `std'
example01.cpp:37: error: `cin' undeclared in namespace `std'
make: *** [capture] Error 1
[4] Comentário enviado por HunterNetBR em 13/10/2005 - 18:37h
ops... instalei o pacote hairCAPTURE-devel agora deu o erro:
root@hunternet:~/haircapture/usr/share/hairCAPTURE# make
g++ -c example01.cpp
In file included from example01.cpp:8:
/usr/include/funcoesCAPTURE.h:21:35: SDL/SDL_gfxPrimitives.h: No such file or directory
/usr/include/funcoesCAPTURE.h:22:30: SDL/SDL_rotozoom.h: No such file or directory
make: *** [capture] Error 1
[6] Comentário enviado por cristianodts em 05/10/2006 - 10:49h
Olha Cabelo tem lido os seus artigos. Fantástico!!! Meus parabéns. Eu estou a cada dia que passa desde de 1998 que o Linux é um software de futuro, tem revolucionado e vai crescer cada vez mais, e bom quando se tem profissionais, amigos como vc para podermos compartilhar informações sobre este universo grande do linux.. valeu... um abraço... qq coisa podermos trocar informação...
[7] Comentário enviado por maurin em 13/02/2008 - 11:47h
Gostaria de realizar uma pergunta.
Tenho uma distro Fedora 8 64 bits em minha maquina.
Como nao existe um rpm para essa distro para a lib do cabelo, tentei compilar o fonte para gerar o .so
Verifiquei que a versão do Fedora 64 utiliza uma versão antiga do SDL_gfx, que não possui muitos dos headers da versão atualizada, alguns inclusive utilizados nesta lib como SDL_gfxPrimitives.h.
Alguem ja tentou utilizar ou compilar esta lib no fedora 64?
Existe alguma solução possivel para esse problema?