introducción a java media frameworks
DESCRIPTION
Introducción a Java Media Frameworks. Rodrigo Loyola A. Gustavo Valdés A. Medios Basados en el tiempo. Se conoce como medio basado en el tiempo a todo dato que cambie significativamente en el tiempo. - PowerPoint PPT PresentationTRANSCRIPT
Introducción a Java Media Frameworks
Rodrigo Loyola A.Gustavo Valdés A.
Medios Basados en el tiempo
• Se conoce como medio basado en el tiempo a todo dato que cambie significativamente en el tiempo.
• La principal característica de medios basados en tiempo es que requieren procesamiento y entrega oportunos.
• Son también conocidos como media stream.
Medios basados en el tiempo
• Una vez que comienza el flujo de datos, existen plazos terminantes que deben cumplirse, en términos de recibir y de presentar los datos.
• Por esta razón se debe recibir y procesar dentro de un timeframe particular para producir resultados aceptables.
Medios basados en el tiempo
• Por estas razones se debe utilizar una herramienta que permita tratar estos flujos de datos de manera confiable. Respetando la calidad de los datos y con tiempos de procesamiento de estos.
• Por esta razón nace JMF.
¿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:– Reproducir ficheros multimedia en applets y
aplicaciones.– Reproducir flujos multimedia recibidos en tiempo real a
través de la red.– Capturar audio y vídeo de un micrófono y una cámara
de vídeo.
Arquitectura de JMF
• En todo tratamiento que se pueda hacer con los datos multimedia siempre existen tres pasos, estos son: – La adquisición de datos (captura desde un dispositivo
físico, lectura de un fichero o recepción desde la red), – Procesado (aplicación de efectos como filtrado o
realces, compresión y/o descompresión, conversión entre formatos)
– La salida de datos (presentación, almacenamiento en fichero o transmisión a través de la red).
Arquitectura de JMF
Formatos soportados por JMF
• Existe una gran variedad de formatos de audio, imagen y video. Entre los cuales podemos destacar: AIFF, AU, AVI, GSM, MIDI, MPEG, QuickTime, RMF, and WAV.
Arquitectura
• Cualquier procedimiento con medios basados en el tiempo puede ser descrito por:
Arquitectura de Alto Nivel
• La arquitectura de JMF puede ser dividida en capas, para nuestros requerimientos solo ocuparemos la última.
Clase Datasource
• Clase de javax.media.protocol
• Representa el origen de datos multimedia.
• Encapsula información sobre su ubicación, el protocolo para su transferencia al reproductor y el software para tratarlos.
• Soporta todo tipo de contenido multimedia.
Interfase Player
• Interfase de javax.media
• Actúa como gestor de datos multimedia.
• Asegura que lleguen adecuadamente al dispositivo de salida.
• No hace falta un Player específico para cada tipo de datos.
Player
• Tiene asociados controles para actuar sobre los datos multimedia que está procesando:
• Antes de que el fragmento pueda reproducirse, el Player debe pasar por una serie de estados.
Estados de Player
• Normalmente bastará con invocar al método start() sobre el Player para que pase automáticamente por todos estos estados.
Estados de Player
• Unrealized: instanciado.• Realizing: determinando y obteniendo los
recursos necesarios.• Realized: ha determinado los recursos
necesarios.• Prefetching: preparándose para presentar,
obteniendo los datos de la fuente.• Prefetched: preparado para empezar.• Started: reproducción empezada.
Processor
• Es un tipo de Player, subinterfaz de javax.media.Player
• Aporta dos características suplementarias:– Puede volcar los datos procesados en un
DataSource, en lugar de en un dispositivo de salida.
– Puede cambiar de formato lo datos.
Processor
Processor
• Etapas de processor
Estados del processor
DataSink
• Es una interfaz de javax.media
• Envía los datos a un destino distinto de los dispositivos de salida, como un fichero o un flujo de salida RTP.
Manager
• Es una clase Final de javax.media
• Contiene métodos estáticos para crear instancias de todas las interfaces y clases anteriores.
Format
• Es una clase de javax.media• Modela el formato de los datos multimedia.• Tiene dos subclases:
– AudioFormat: Encapsula información sobre el formato de datos de audio:
– Frecuencia de muestreo.– Número de bits por muestra.– Número de canales.– VideoFormat: Encapsula información sobre el
formato de datos de vídeo.
Otras Clases
• Por último queda por comentar otras clases importantes que, aunque no son las que hacen la parte más importante del sistema son necesarias para definirlo o controlarlo. Estas clases son, por ejemplo MediaEvent, EventListener, Controls, ProcessorModel, MediaLocator, MediaError, MediaException, Control, TimeBase, etc.
Otras Clases
• MediaEvent es la clase padre de todos los eventos lanzados por los componentes JMF.
• ProcessorModel es una clase capaz de definir internamente un Processor.
• MediaError y MediaException son los padres de todos los errores y las excepciones que los objetos JMF pueden lanzar cuando ocurre un error.
Otras Clases
• Control es una clase diseñada para controlar las características del flujo de datos de un track al procesarse.
• TimeBase representa la base de tiempos que tienen todos los objetos Clock, la modificación de la velocidad o el momento de comienzo y final se obtiene respecto a esta base temporal
Ejemplos