Funcionamiento:

Debido a que la instalación en plataformas Windows no requiere de una mayor configuración se

Instalación en Linux

Para descargar este conjunto de clases se debe entrar a http://java.sun.com/products/java-media/jmf/2.1.1/download.html y bajar el instalador para linux (jmf-2_1_1e-linux-i586.bin).

Luego se copia el instalador en /usr/local y se procede con la instalación instalalo:

$ cp jmf-2_1_1e-linux-i586.bin /usr/local/
$ chmod +x jmf-2_1_1e-linux-i586.bin
$ ./ jmf-2_1_1e-linux-i586.bin

Agrega las siguientes lineas al archivo .bashrc de root y del usuario (/root/.bashrc) y (/home/'usuario'/.bashrc):

export PATH=/usr/local/j2sdk1.4.2_04/bin:$PATH
export CLASSPATH=/home/'usuario'/java:$CLASSPATH
export LD_LIBRARY_PATH=/home/'usuario'/java:$LD_LIBRARY_PATH
export PATH=/usr/local/JMF-2.1.1e/bin:$PATH
export CLASSPATH=/usr/local/JMF-2.1.1e/lib/jmf.jar:$CLASSPATH
export LD_LIBRARY_PATH=/usr/local/JMF-2.1.1e/lib:$LD_LIBRARY_PATH

Ahora se debe actualizar los elementos de captura de multimedia que esten instalados en su computadora, para esto se debe escribir en un nuevo terminal con privilegios de root:

$ jmstudio

Si todo esta bien instalado tiene que aparecer la siguiente ventana:

Luego debe dar click en File y luego en Preferences, hacer click al botón de Capture Devices, y luego en Detect Capture Devices, si todo esta bien, te tiene que salir la siguiente figura:

Una vez hecho esto, está listo para utilizar aplicaciones de multimedia en java (audio y video), ya puede hacer applets para internet o aplicaciones de consola

 

¿Qué es un Frameworks?

 

Framework es un: término usado en programación orientada a objetos para definir un conjunto de clases que definen un diseño abstracto y una estructura para solucionar un conjunto de problemas relacionados. El término apareció por primera vez en el contexto del desarrollo de aplicaciones con interfaces de usuario: Application Frameworks.  Posteriormente se ha extendido, y existen multitud de frameworks orientados a múltiples áreas de aplicación.

 

En un Framework se define un conjunto de clases, modelos de uso de las clases e interfaces y el modelo de funcionamiento del framework en tiempo de ejecución, en el que hay que “enganchar” los nuevos objetos añadidos por nosotros (por ejemplo el manejo de eventos en Swing).

 

¿Qué es JMF?

 

JMF (“Java Media Framework”) proporciona herramientas para la captura, procesamiento y almacenamiento de datos multimedia.  Permite su transmisión y recepción a través de Internet.

Más concretamente permite:

 

Java Media Framework API (JMF) permite trabajar con ficheros audio, video y otros tipos de medios basados en el tiempo, estos medios pueden incorporarse a aplicaciones y applets diseñados con la tecnología Java. Este paquete opcional permite además capturar, leer, reproducir y transformer multiples tipos de formatos multimedia.

 

¿Como trabaja?

Cualquier dato que cambia significativamente  en el timepo puede ser caracterizada como un medio basado en el tiempo. Clips de audio, secuencias MIDI, clipos de peliculasvie clips, and animations are common forms of time-based media. Such media data can be obtained from a variety of sources, such as local or network files, cameras, microphones, and live broadcasts.

This chapter describes the key characteristics of time-based media and describes the use of time-based media in terms of a fundamental data processing model:

 

 

 

Formatos multimedia soportados por Java Media Framework

JMF soporta rangos de audio desde  kHz hasta 48 kHz. En la tabla siguiente se listan los tipos de datos soportados por la versión 2.1.1.

 

 

Media Type

JMF 2.1.1
Cross Platform Version

JMF 2.1.1
Solaris/Linux Performance Pack

JMF 2.1.1
Windows Performance Pack

AIFF (.aiff)

lectura/escritura

lectura/escritura

lectura/escritura

8-bit mono/stereo linear 

D,E

D,E

D,E

16-bit mono/stereo linear 

D,E

D,E

D,E

G.711 (U-law

D,E

D,E

D,E

A-law 

D

D

D

IMA4 ADPCM

D,E

D,E

D,E

AVI (.avi)

read/write

read/write

read/write

Audio: 8-bit mono/stereo linear 

D,E

D,E

D,E

Audio: 16-bit mono/stereo linear 

D,E

D,E

D,E

Audio: DVI ADPCM compressed 

D,E

D,E

D,E

Audio: G.711 (U-law

D,E

D,E

D,E

Audio: A-law 

D

D

D

Audio: GSM mono

D,E

D,E

D,E

Audio: ACM**

-

-

D,E

Video: Cinepak 

D

D,E

D

Video: MJPEG (422)

D

D,E

D,E 

Video: RGB

D,E

D,E

D,E 

Video: YUV

D,E

D,E

D,E 

Video: VCM**

-

-

D,E

GSM (.gsm)

read/write

read/write

read/write

GSM mono audio

D,E

D,E

D,E

HotMedia (.mvr)

read only

read only

read only

IBM HotMedia

D

D

D

MIDI (.mid)

read only

read only

read only

Type 1 & 2 MIDI

-

D

D

MPEG-1 Video (.mpg)

-

read only

read only

Multiplexed System stream 

-

D

D

Video-only stream 

-

D

D

MPEG Layer II Audio (.mp2)

read only

read/write

read/write

MPEG layer 1, 2 audio 

D

D,E

D,E

QuickTime (.mov)

read/write

read/write

read/write

Audio: 8 bits mono/stereo linear 

D,E

D,E

D,E

Audio: 16 bits mono/stereo linear

D,E

D,E

D,E

Audio: G.711 (U-law

D,E

D,E

D,E

Audio: A-law 

D

D

D

Audio: GSM mono 

D,E

D,E

D,E

Audio: IMA4 ADPCM 

D,E

D,E

D,E

Video: Cinepak 

D

D,E

D

Video: H.261

-

D

D

Video: H.263 

D

D,E

D,E

Video: JPEG (420, 422, 444) 

D

D,E

D,E

Video: RGB

D,E

D,E

D,E

Sun Audio (.au)

read/write

read/write

read/write

8 bits mono/stereo linear 

D,E

D,E

D,E

16 bits mono/stereo linear 

D,E

D,E

D,E

G.711 (U-law)

D,E

D,E

D,E

A-law 

D

D

D

Wave (.wav)

read/write

read/write

read/write

8-bit mono/stereo linear 

D,E

D,E

D,E

16-bit mono/stereo linear 

D,E

D,E

D,E

G.711 (U-law)

D,E

D,E

D,E

A-law 

D

D

D

GSM mono 

D,E

D,E

D,E

DVI ADPCM

D,E

D,E 

D,E

MS ADPCM

D

D

ACM**

-

-

D,E