Aplicaciones Telemáticas Avanzadas. Programación n con Java Media Framework



Documentos relacionados
Programación con Java Media Framework

Introducción a JMF. Jose Jesus García Rueda. (Extractado y adaptado de

JConferencia: Audioconferencia en Java Redes Globales

Desarrollo de Aplicaciones Multimedia

Diseño y Evaluación de Configuraciones. Componentes software para cargar el sistema

Documento de trabajo Fundació Antoni Tapies

CAPÍTULO 1. Este documento describe muy a fondo cada uno de las herramientas que

Capítulo 5. Análisis del software del simulador del sistema de seguridad

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Tecnologías de Streaming

Tema 4. Gestión de entrada/salida

La Información Multimedia

Tesis. Programación en Internet con Aplicaciones en Instrumentación Remota.

Comunicación entre procesos

Apéndice A Herramientas utilizadas

PROTOCOLO DE TRANSPORTE EN TIEMPO REAL RTP

TEMA 2: FUNCIONAMIENTO DE INTERNET.

GUIA RAPIDA DE USUARIO ED.

Bases de Datos Multimedia

Estructuras de Sistemas Operativos

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Captura de medios con la JMF

CAPÍTULO 3 Servidor de Modelo de Usuario

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Apéndice A. Formatos soportados por JMF

MANUAL DE USUARIO. Introducción

Redes de Computadores I

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Videoconferencia. Jesús Torres Cejudo

JAVA EE 5. Arquitectura, conceptos y ejemplos.

IVista: es la interfaz con la que el Presentador se comunica con la vista.

11 Número de publicación: Número de solicitud: Int. Cl.: 74 Agente: Urízar Anasagasti, Jesús María

Patrones de Diseño Orientados a Objetos 2 Parte

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

Web. Web Diapositiva 1

FeriaOnline.com C/Llamaquique Nº 4 Tfno: Oviedo mail: info@feriaonline.com Url:

Tutorial BMS Server Studio UDP

Capítulo 6: Instrumentación: Diseño del Sistema de H2O

Universidad Politécnica de Valencia

PODCAST QUICK-START GUIDE. PODCAST - Primeros pasos. Conceptos básicos del podcasting


SISTEMAS DE INFORMACIÓN II TEORÍA

Controles de un dispositivo de captura

Modelado y evaluación de un servicio multimedia sobre redes locales. Directores: Víctor García García Xabiel García Pañeda

Tecnología Streaming

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

Introducción a Internet

Java Media Framework

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

CAPA DE APLICACIÓN. 80 s : Aplicaciones basadas en texto o o acceso remoto o transferencia de ficheros o grupos de noticias o chat

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre Reporte De Lectura

1. Introducción a la Gestión de Redes

Estructura de Bases de datos. Leonardo Víquez Acuña

MODELO DE IMPLEMENTACIÓN

TEMA: PROTOCOLOS TCP/IP

Capítulo V. Implementación

Formatos de audio y vídeo: códecs

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

Aspectos Básicos de Networking

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Guía de instalación del servidor

Modelo de Objetos Distribuidos

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

UNIVERSIDAD POLITÉCNICA DE MADRID

PROCEDIMIENTO DE GESTIÓN DE INCIDENCIAS

APLICACIONES MÓVILES NATIVAS. Sesión 8: Arquitectura de las aplicaciones Android

PROGRAMACIÓN EN JAVA

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Modelos de gestión de contenidos

ATEL ASESORES C.A IP Multimedia Subsystem Prof. Diógenes Marcano

Comunicación a través de la red

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

Tema 4.1: - TRANSPORTE-

DIAGRAMA DE CLASES EN UML

Capas del Modelo ISO/OSI

- MANUAL TÉCNICO - Implantación de software de Marketing Online

1. PARAMETROS DE CALIDAD DE SERVICIO. -PERDIDAS DE PAQUETES EN LOS ROUTERS: Vía TCP son recuperables, pero las retransmisiones TCP son

CAPÍTULO 11: Audio y video desde la Web

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Define las propiedades del medio físico de transición. Un ejemplo es: CABLES, CONECTORES Y VOLTAJES.

Videostreaming. Concepto

VideoSoftPHONE Active Contact

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL.

Servidores de Información Multimedia 2º Ingeniero Técnico de Telecomunicación Imagen y Sonido

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

EJEMPLE DE WEB AMB SO

WINDOWS : TERMINAL SERVER

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

FRAMEWORK 2 Recepción de SMS

Agentes con Interfaz Gráfica.

Transcripción:

Aplicaciones Telemáticas Avanzadas Programación n con Java Media Framework

Java Media Framework Java Media Framework (JMF) proporciona una arquitectura unificada y un protocolo de mensajes para gestionar la adquisición, procesamiento y entrega de datos multimedia

Modelo básico JMF soporta la mayoría de las representaciones multimedia (WAV, MPEG, AU, AVI, etc) Las aplicaciones JMF pueden presentar, capturar, manipular y almacenar información multimedia. Modelo de Procesamiento de los datos: Los datos multimedia pueden obtenerse de diferentes fuentes: Ficheros locales o de red Cámaras Micrófonos Difusiones en directo (live broadcast)

Conceptos y Definiciones El formato en el que los datos son almacenados se denomina content-type Un media stream (flujo de datos multimedia o simplemente flujo multimedia) consiste en datos multimedia obtenidos de un fichero local, adquiridos a través de la red, o capturados de una cámara o un micrófono. Los media streams a menudo contienen varios canales de datos (channels) denominados tracks. Estos media streams también son denominados complejos o multiplexados El proceso de demultiplexación se encarga de extraer los tracks de un flujo multimedia complejo El tipo (type) de un track identifica el tipo de datos que contiene, como audio o video El formato de un track define como se estructura u organizan los datos

Conceptos y Definiciones Un flujo multimedia (media stream) puede ser identificado por su localización y el protocolo utilizado para acceder a él URL: describir la localización de un fichero en un sistema local o remoto LOCAL: protocolo FILE REMOTO, en un servidor Web: protocolo HTTP Un media locator (localizador multimedia) proporciona una forma de identificar la localización de un flujo multimedia cuando no es posible utilizar una URL. Clasificación de los flujos multimedia de acuerdo a cómo se entregan o reparten los datos: PULL: la transferencia de datos se inicia y controla desde el lado del servidor (HTTP, FILE) PUSH: El servidor inicia la transferencia de datos y controla el flujo de datos (RTP)

Medium Medium Mediu m QuickTime AVI ndeo QuickTime AVI RTP JPEG Low Medium Mediu m QuickTime AVI RTP.263 Medium Medium Low AVI RTP.261 MPEG PEG- 1 Low Mediu m AVI QuickTime inepa k Bandwidth Requirements CPU Requirements Quality Content Type ormat Low Medium Mediu m WAV RTP G.723. 1 Low Low Low WAV RTP GSM Medium MPEG MPEG Layer3 MPEG MPEG- 1 Medium Medium Mediu m AVI QuickTime WAV RTP ADPC M (DVI, IMA4) Low Low AVI QuickTime WAV RTP Mu- Law Low AVI QuickTime WAV PCM Bandwidth Requirements CPU Requirements Quality Content Type Format Formatos de Vídeo Formatos de Vídeo Formatos de Audio Formatos de Audio

Presentación de Datos Multimedia El audio y el vídeo se presenta a través de dispositivos de salida como altavoces y monitores. Estos dispositivos son los destinos (destination) más comunes para la salida de datos. Los flujos multimedia pueden ser enviados a otros destinos, salvarlo a un fichero o transmitirlo a través de la red. Un destino de salida de datos multimedia es a veces referido como data sink

Modelos de JMF Modelo de Tiempo Precisión de nanosegundos Managers La API de JMF consiste principalmente en interfaces que definen el comportamiento y la interacción de los objetos Java utilizados para capturar, procesar y presentar flujos multimedia. El uso de objetos intermedios los manager permiten la integración de nuevas implementaciones de estas interfaces. JMF usa 4 managers: Manager: Permite la construcción de Players Processors, DataSources y DataSinks. PackageManager: Paquetes de clases JMF que implementan Players Processors, DataSources y DataSinks propios. CaptureDeviceManager: Dispositivos de captura disponibles PlugInManager: Componentes de procesamiento

Modelos de JMF (II) Modelo de Eventos Los objetos utilizan un mecanismo basado en eventos para informar del estado. Clase MediaEvent Las subclases de la clase MediaEvent identifican tipos de eventos particulares. Para recibir notificaciones cuando se envía un evento es necesario implementar la interfaz listener adecuada y registrarse como clase listener

Modelos de JMF (III): Modelo de Datos Un objeto DataSource encapsula: La localización de la información multimedia El protocolo y el software utilizado para su distribución Un objeto DataSource se identifica por: MediaLocator URL Existen varios tipos de DataSource, dependiendo de: la unidad de transferencia De forma estándar utiliza un array de bytes como unidad de transferencia. BufferDataSource utiliza un objeto Buffer como unidad de transferencia. Cómo se inicia la transferencia de datos PullDataSource: El cliente inicia la transferencia de datos y controla el flujo de datos desde los PullDatasource. Hay PullDataSource y PullBufferdataSource. Ej. HTTP, FILE PushDataSource: El servidor inicia la transferencia de datos y controla el flujo de datos. Hay PushDataSource y PushBufferDataSource. Ej. RTP

Modelos de JMF (IV). Modelo de Datos JMF define dos DataSource especiales: Cloneable. Datasources que se pueden clonar a través del Manager (createcloneabledatasource) Debe implementar la interfaz SourceCloneable Merging. Permiten combinar los SourceStreams de varios DataSources del mismo tipo en un único DataSource. El formato de un objeto se representa por un objeto Format, que describe el nombre del formato de codificación y el tipo de datos que requiere el formato.

Controles La clase Control proporciona un mecanismo para establecer y consultar atributos de un objeto Controller, DataSource, DataSink,... También proporciona acceso a la interfaz de usuario Player

Presentación: Componentes de Interfaz Estándar En JMF el proceso de presentación se modela por la interfaz Controller. Envía eventos para notificar cambios en su estado Dos tipos de Controladores: Player Processor

Almacenamiento y Transmisión Clase DataSink se utiliza para leer datos de un DataSource y lo envía a algún destino (normalmente diferente de un dispositivo de presentación). Escribir datos a un fichero Escribir datos a la red Funcionar como un difusor RTP

Extensibilidad de JMF Es posible implementar nuevos componentes que obtengan, procesen o traten datos multimedia MediaHandler: Leen datos de un Datasource Player Processor DataSink MediaProxy: Transforma un DataSource en otro DataSource

Presentación Multimedia en JMF Processor en general y Player en particular Creación: a través del Manager Manager.createPlayer() Manager.createProcessor() Creación en estado Realized Manager.createRealizedPlayer() Manager.createRealizedProcessor() Creación de un procesador a partir de un objeto ProcessorModel, que define los requisitos de entrada y salida del Processor Manager.createRealizedProcessor()

Player: Obtención de componentes visuales Dos tipos de componentes con interfaz gráfica: Componente visual Componente de control Componentes adicionales: Control de Volumen (Gain), Barra de progreso, brillo y contraste, etc player.getvisualcomponent() player.getcontrolpanelcomponent() player.getgaincontrol().getcontrolcomponent() Definición de interfaces propias: Implementar componentes GUI Invocar los métodos del Player adecuados en respuesta de las acciones del usuario Registrar estos componentes como ControllerListener para que reciban loe eventos lanzados por el Player cuando cambia de estado

Player Comenzar presentación/reproducción Parar presentación/reproducción Liberar los recursos player.start() player.stop() Player.setStopTime() player.deallocate() Consulta de los parámetros del Player player.getmediatime() player.getduration() player.getrate()

Player Sincronización de varios flujos player1.settimebase(player2.gettimebase() Presentación de Flujos de Datos RTP String URL= rtp://224.144.251.104:49150/audio/1 MediaLocator mrl=new MediaLocator(url); /*comprobar que que no no es es null*/ Try{ Player.createPlayer(mrl) } }

Procesamiento Seleccionar las opciones de procesamiento de cada track Processor.getTrackControls() Convertir datos multimedia de un formato a otro trackcontrol.setformat() Especificar el destino de los datos DataSink sink; sink; dest dest = new new MediaLocator(file://newfile.wav); Sink=createDataSink(processor.getDataOutput(),dest); Sink.open(); Sink.start();

Captura de datos Para capturar datos multimedia Localizar un dispositivo de captura y obtener información acerca del dispositivo CaptureDeviceManager.getDeviceList(Format...) CaptureDeviceInfo info; info=capturedevicemanaget(getdevice( devicename )); Obtener un MediaLocator sobre el dispositivo para crear un DataSource y crear e iniciar un Player o un Processor P=Manager.createRealizedPlayer(info.getLocator());...

Captura de datos multimedia Almacenar los datos multimedia en ficheros Capturar y reproducir Audio y Vídeo en vivo

Transmisión de Datos en Tiempo Real Sesion RTP: Se identifica por una dirección de red y un par de puertos (datos y control) SessionManager: Coordina una sesion RTP

RTP Recepción Crear un MediaLocator a partir de una sesión RTP rtp://address:port[:ssrc]/content-type/[ttl] EJ. Rtp://224.144.251.104:49150/audio/1 Crear un Player Cuando hay varios flujos (de un mismo medio) es necesario utilizar un SessionManager Transmisión Crear e inicializar un SessionManager Construir un Processor que capture el DataSource Establecer la salida del Processor en un formato adecuado para su transmisión mediante RTP Invocar createsendstream sobre el objeto SessionManager pasando la salida del procesador como DataSource