Artigo Java Magazine 57 - Aplicações Multimídia em Java
Aprenda como utilizar os principais recursos providos pelo framework JMF, conhecendo seus componentes mais importantes.
Clique aqui para ler essa revista em PDF.
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-se buscado a reutilização com a adoção de frameworks.
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 em aplicações Java. Atualmente encontra-se na versão 2.1.1, sendo disponibilizado sob licença Sun Community Source Licensing (SCSL) que permite o estudo do código e sua alteração, mas não a livre publicação de versões alteradas.
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.
Figura 1. Analogia da solução JMF
Para criação dos componentes providos pelo JMF para capturar, processar e apresentar os recursos de multimídia são utilizados os seguintes componentes gerentes (Managers):
·Manager: Responsável pela criação de DataSources e Players, entre outros, além de possibilitar a customização de componentes do framework;
·PackageManager: Mantém um registro dos pacotes que contém classes do JMF, tal como classes customizadas: "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo