Este é um post disponível para assinantes MVPArtigo Java Magazine 57 - Aplicações Multimídia em Java
Artigo publicado pela Java Magazine edição 57.

Aplicações Multimídia em Java
Adicione recursos de áudio e vídeo à sua aplicação Java
Aprenda como utilizar os principais recursos providos pelo framework JMF, conhecendo seus componentes mais importantes
Eduardo Jorge, Marcus Vinicius e Silvio Martins
Diversos setores da sociedade demandam softwares que possuam recursos de áudio e vídeo, tais como: segurança, controle de acesso e entretenimento, motivados pela redução do custo das câmeras e ampliação da largura de banda da internet. Com o objetivo de agilizar e simplificar o desenvolvimento dessas aplicações, tem
Nesse artigo apresentaremos o uso do JMF (Java Media Framework). Será apresentada uma visão geral do framework, incluindo as principais funcionalidades e pontos de extensão. Em seguida, mostraremos o exemplo prático, que será um software para controle de visitantes focando no módulo para captura de fotos.
Java Media Framework
O JMF é um framework da Sun (desenvolvido em parceria com a Intel e IBM) que permite manipular recursos multimídia
Um ponto a ser observado é que a atualização mais recente da JMF data de novembro de 2004, porém, a Sun recentemente anunciou que daria maior suporte ao JMF (ver Links).
Para utilizar os serviços de áudio e vídeo disponibilizados pelo framework são necessários dispositivos de entrada (microfones, câmeras, arquivos de áudio/vídeo, streaming via rede) e/ou dispositivos de saída (monitor e caixa de som) a depender da necessidade, que poderá ser, por exemplo:
· Tocar arquivos de mídia em um applet ou aplicação desktop;
· Capturar áudio e vídeo de um microfone e câmera de vídeo USB;
· Transmitir áudio e vídeo em tempo real pela Internet.
Para o desenvolvimento de aplicações multimídia é importante o entendimento do conceito de codec (veja o quadro “Codec”). A Tabela 1 mostra alguns dos formatos (codecs) utilizados pelo JMF. O framework também permite a implementação de novos codecs.
Codec
Um codec é utilizado para compressão e descompressão de dados. A compressão é utilizada quando estes dados vão ser transmitidos ou armazenados. No componente receptor estes dados são descompactados para um formato de apresentação.
|
Protocolos |
HTTP, FTP, RTP |
|
Audio |
PCM, GSM, G.723, MPEG, outros. |
|
Vídeo |
MPEG-1, Cinepak, H.261, H.263, JPEG, outros |
Tabela 1. Principais formatos suportados
Arquitetura
Na documentação desenvolvida pela Sun (ver Links), a arquitetura do JMF é comparada ao processo decorrido desde a filmagem até a visualização do vídeo em um dispositivo de saída (ver Figura 1). Um DataSource encapsula o stream de áudio/vídeo como um Vídeo Tape e um Player disponibiliza processamento e mecanismos de controle (avançar, retroceder) similar a um vídeo-cassete, que reproduzirá a mídia em um dispositivo de saída, tal como microfones e monitores.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
20 COMENTÁRIOS
Voce deve utilizar campos do tipo Blob....
ae na hora de gravar utilize um prepared statement...
e use o metodo :
.setObject(index,ObjetoArrayDeBytes);
Valeu !

======================================================================
The input format is not compatible with the given codec plugin: JavaMagazine.EfeitoVideo@1820dda
Failed to realize: com.sun.media.ProcessEngine@b8df17
Cannot build a flow graph with the customized options:
Unable to add customed codecs:
JavaMagazine.EfeitoVideo@1820dda
Error: Unable to realize com.sun.media.ProcessEngine@b8df17
======================================================================
Os métodos que ele obriga implementar são: getControl, getControls, reset, close, open, getName, setOutputFormat, setInputFormat, getSupportedInputFormats. Obrigado.
Chegou a instlar o JMF em todas as VMS instaladas na maquina ?
Este tipo de erro ocorre quando ele nao acha o codec

A API do JMF é bugada e velha , espero que a Oracle corrija isto logo :(

abraços.
Nesta site voce tem um exemplo completo desta applet: www.javavideo.com/videopapplet
Valeu !
Não consegui acessar este site.
Está correto?
Abraços!
Mande um email para mim e eu te respondo com o fonte(ainda tenho aqui !)
Não consegui identificar o seu e-mail... Se puder me retornar, envie para este endereço
vini.ti@uol.com.br
abraços.

Alguma dica?
vlw

consegui fazer a aplicacao do tutorial rodar perfeitamente, mas gostaria de saber como q eu posso determinar o tamanho da imagem da web cam em vez de 320x240 para 640x480 ( a camera suporta esse tamanho)
Obrigado
.setInitialParams(map);
neste map vc manda a chave 'resolution' com o parametro do tamanho que vc deseja...
se nao suportar ele vai dar um exception.

java.lang.NullPointerException
at GerenteJMF.getPlayerVideo(GerenteJMF.java:16)
at GerenteJMF.getPainelVideo(GerenteJMF.java:25)
at FrameVideo.inicializarJMF(FrameVideo.java:34)
at FrameVideo.
at FrameVideo.main(FrameVideo.java:41)
16:MediaLocator ml = new MediaLocator(device.getName());
25:return this.getPlayerVideo().getVisualComponent();
34:pnlVideo = gerente.getPainelVideo();

Desde já agradeço. Valeu!!!
ediclebb@hotmail.com
Space do autor


0
0
