Procesadores (Processors)

Documentos relacionados
Introducción a la JMF

MÓDULO 1: Dreamweaver 8.0 Parte 1ª

Conversor de vídeo. Tutorial. Introducción

Tratamiento multimedia en Java con JMF. Escrito por: Carlos Prades del Valle. Versión Febrero de 2001.

1. INTRODUCCION. Logger 2

PERIODO 3 NOCIONES AVANZADAS DE POWERPOINT

JConferencia: Audioconferencia en Java Redes Globales

Impress III Elementos interactivos

Laboratorio Virtual. Guía básica de uso Dirección de Informática Semestre Enero mayo 2016

Introducción Mic i ro r s o of o t t W or o d r

Práctica de Vídeo Sistemas Multimedia e Interacción Gráfica CAPTURA, COMPRESIÓN Y EDICIÓN DE VÍDEO

HACER COPIAS DE SEGURIDAD EN WINDOWS

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Informes

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

AULA VIRTUAL WiziQ. En la plataforma de gestión del aprendizaje (LMS) de la Universidad está disponible la herramienta para clases virtuales WiziQ.

EJERCICIO 26 DE EXCEL

Componer imágenes utilizando diferentes fuentes que proporcionan las capas: fotos digitales, textos, transparencias, etc.

ENLACE CON EL SISTEMA NOI

MÓDULO 1. Personalización del área visual y creación de objetos

Manual de Usuario. Suscripciones electrónicas

ojovoz Una plataforma de código abierto para la creación de memorias comunitarias. Manual del usuario

MANUAL DE AYUDA PARA EL ENVÍO POR LOTES DE CUENTAS ANUALES

En qué consiste esta Herramienta?

Introducción. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

Escuela Normal Profesor Carlos A. Carrillo

Modulo I. Primeros Pasos en Writer

MICROSOFT ACCESS 2010 FÁCIL

ÍNDICE INTRODUCCIÓN TEXTO

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

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Trabajo Práctico Nº 3 Parte 1

SISTEMA DE SEGUIMIENTO DE ACTIVIDADES DE CONSEJOS ESTUDIANTILES PROMOTORES DE VALORES Y DERECHOS HUMANOS.

Elaboración de material didáctico con software de edición de video, imágenes y audio. Prof. M.I. Jaime Alfonso Reyes Cortés Marzo 2016

Tutorial Programa Oziexplorer

PROPUESTA DE INFORME TECNICO PREVIO DE EVALUACION DE SOFTWARE

Programación Android - Completo

NUEVAS TECNOLOGÍAS APLICADAS A LA EDUCACIÓN. MICROSOFT OFFICE: WORD, POWERPOINT Y EXCEL.

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

A la derecha de este botón irán apareciendo todas las aplicaciones abiertas en ese momento en el sistema.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Manual de Usuario del Campus Virtual

Funciones de Network Assistant

OFICINA DE REGISTRO VIRTUAL DE ENTIDADES LOCALES

Trabajando con Impress

Nero InfoTool Manual. Nero AG

Reconocer la importancia del paquete Microsoft Office 2010 en todos los campos de nuestra vida diaria.

Ejecuta el modo XP sin virtualización de hardware

COMBINAR CORRESPONDENCIA

RESUMEN DE LA PAGINA BLACKBOARD

Actualizaciones de software Guía del usuario

Configuración de Office 365 en un iphone o ipad

Microsoft Office Outlook NIVEL: BÁSICO Duración: 7 horas

Para poder utilizar esta cuenta en Outlook, debemos configurarla en Outlook.

. Conceptos generales 1

Microsoft Excel 2013 Completo

Herramientas Google Aplicadas a Educación. Primera parte

PROGRAMA DE AYUDA. OTRAS UTILIDADES

CENTRAL VIRTUAL IPLAN UTILIZACIÓN DE LA PLATAFORMA - PLANES DE LLAMADAS

Qué más puedo hacer en el cuadro de búsqueda?

CAPÍTULO 1. INTRODUCCIÓN. CONCEPTOS BÁSICOS

1

Programación con Java Media Framework

Microsoft Office Word

Revisión de Java: Figura 1

INSTRUCCIONES PRESENTACIÓN DE CUENTAS ANUALES EN EL REGISTRO MERCANTIL

Herramientas Google Aplicadas a Educación

Manual del Usuario de Microsoft Access Formularios - Página 1. Tema V: Formularios. V.1. Creación de un Formulario

La Herramienta Redmine para la Administración de Proyectos

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Qué es un Procesador de textos? Iniciar Word. Microsoft Word Microsoft Office 2010

MANUAL DE USUARIO DEL UNIFIED IM

Curso de OpenOffice Impress. Mg. Eva M. Vásquez Valle

Sistema Operativo, Búsqueda de la Información: Internet/Intranet y Correo Electrónico (UF0319)

BANCO DE REACTIVOS DE OPCIÓN MÚLTIPLE WINDOWS VISTA

Acceso a Datos con Visual Basic

EBRARY. Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas.

Capítulo 8: Añadir Animación a una Presentación

Módulo Presentaciones. Objetivos del módulo

NATIONAL SOFT HOTELES GUÍA DE CONFIGURACIÓN DEL FORMATO DE FACTURAS

CAMBIO DOS ENTEROS DOS DECIMALES. 1. En necesario tener acceso a la membrana de configuración para poder realizar el cambio.

INTRODUCCIÓN a la Web 2.0

Estos márgenes se definen en el menú Archivo, Configurar página... se nos muestra un cuadro de dialogo como este con tres pestañas:

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Registro Electrónico Común (REC) Guía de usuario Presentación de una solicitud con certificado. Versión 1.0

DAVID DIAZ VALDIVIA INFORMATICA APLICADA I

LA PIZARRA DIGITAL EN CLASE APLICACIONES HABITUALES

La comunicación entre usuarios de Skype es totalmente gratuita, a excepción de las llamadas realizadas a teléfonos, las cuales son un servicio pago.

PROCESOS DE LA DIRECCIÓN DE PROYECTO I N G. C R U C E S H E R N A N D E Z G U E R R A U N I V E R S I D A D A L A S P E R U A N A S

PORTAL DE FORMACIÓN CONTINUA DE LAS ADMINISTRACIONES PÚBLICAS. Manual de incidencias de firma electrónica y presentación en registro telemático

Bing (proveedor de busqueda) Bing es una herramienta de búsqueda que nos ayudará a encontrar lo que buscamos de forma rápida y sencilla.

Configuración de Contactos para administradores

Manual del candidato. Aplicación Gestsol para la convocatoria de interinos

Taller de TeamViewer. Manual De TeamViewer

La Herramienta Redmine para la Administración de Proyectos

Servicios del Sistema Operativo (SO)

Nuevo programa de ayuda IEET

TALLER DE EXCEL BÁSICO

. REGISTRO DE ENFERMEDADES RARAS

UIT-T I.230 SECTOR DE NORMALIZACIÓN DE LAS TELECOMUNICACIONES DE LA UIT

Procesamiento de documentos XML.

Transcripción:

Procesadores (Processors) 2º Ingeniero Técnico de Telecomunicación Imagen y Sonido Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Indice Repaso Controlando un procesador Configurando un procesador Estableciendo las opciones de procesado de cada pista. Especificando el formato de salida del procesador 1

3 Recordemos Recordemos que un Processor es un Player programable que permite controlar la decodificación y presentación de los medios. Un Processor puede usarse también como capturador para permitir la codificación y multiplexación de los medios capturados antes de su almacenamiento o difusión. Un Processor usará diferentes plug-ins instalados en el sistema para llevar a cabo su misión. Mediante la creación de plug-ins podemos extender la JMF. Existen cinco tipos de plug-ins: Demultiplexores Efectos Codificadores Renders o presentadores Multiplexores. 4 Recordemos - Los estados de un procesador Añade un par de estados previos a los estados del Player: Configuring tras la llamada al método configure(). Se usa para abrir el DataSource y obtener información del mismo. Configured al finalizar la configuración. Este estado se puede usar para obtener los TrackControls (con el método gettrackcontrols()) que sirven para cambiar los plug-ins que se usarán para cada uno de los tracks. 2

5 Controlando en procesado del Processador Tenemos 5 alternativas: Usar un ProcessorModel para construir un Processor que tiene unas características de entrada y salida dadas. Usar el método TrackControl.setFormat para especificar el formato y conversiones en cada track. Usar el método Processor.setContentDescriptor para especificar el formato de datos multiplexados de la salida del Processor. Usar el método TrackControl.setCodecChain para seleccionar el plug-in de Effect o Codec a utilizar en un track particular del Processor. Usar el método TrackControl.setRenderer para seleccionar un Render plug-in a usar en un track particular del Processor. 6 Configurando un Processor. Un Processor ofrece el método configure que mueve al procesador al estado de Configuring (desde Unrealized) En el estado de Configuring, un Processor recopila la información que necesita para construir los objetos TrackControl para cada pista (track). Cuando acaba se mueve al estado Configured y lanza un ConfigureCompleteEvent. Una vez que el Processor está en estado Configured se pueden establecer el formato de salida y las opciones de control de cada pista (TrackControl options). Una vez especificadas estas opciones se llama al método realize para mover al Processor al estado Realizing y seguir con el proceso de configuración al igual que se hacía con los reproductores. Una vez que el Processor está en estado Realized no se garantiza que funcionen los intentos de modificar las opciones de procesamiento. En muchos casos, esto producirá que se lance una FormatChangeException. 3

7 Seleccionando las opciones de procesamiento de un track Para seleccionar qué plug-ins utilizar dentro de un procesador para el procesamiento de una determinada pista se siguen los siguientes pasos: Invocar el método PlugInManager.getPlugInList para determinar qué plugins están disponibles. El PlugInManager devuelve una lista de plug-ins que soportan los formatos de entrada y salida (input-output) especificados. Invocar el método gettrackcontrols en el Processor para obtener un TrackControl para cada pista (track) en el flujo de medios. El procesador (Processor) debe estar en el estado de Configured antes de llamar al método gettrackcontrols. Invocar el método TrackControl.setCodecChain o setrenderer para especificar los plug-ins que quieres usar para la pista. El método setcodecchain permite especificar la cadena a usar tanto de codecs como de procesadores de efectos. El orden de aplicación de estos codecs y p. de efectos se determina por los formatos de entrada y salida de cada uno de ellos. El método TrackControl.getControls nos devuelve controles que podemos usar para interactuar desde la aplicación con el procesamiento de la pista (por ejemplo: H263Control, QualityControl, y MPEGAudioControl). 8 Especificar el formato de salida del Processor Si se construye el procesador a partir de un ProcessorModel ya se puede especificar los formatos de entrada y salida. ProcessorModel(DataSource inputdatasource, Format[] formats, ContentDescriptor outputcontentdescriptor) Si no se ha especificado el formato de salida a la hora de la creación del procesador se puede invocar el método: Processor.setContentDescriptor Si queremos saber todos los formatos de salida soportados antes de seleccionar uno de ellos para nuestro procesador podemos invocar el método: Processor.getSupportedContentDescriptors 4

9 Especificando el destino del medio Si queremos presentar el medio: Inovocamos gettrackcontrols en el Processor para obtener el TrackControl para cada track en el flujo de medios. El Processor debe estar en el estado Configured antes de invocar gettrackcontrols. Inovocamos el método TrackControl.setRenderer para especificar el plugin a utilizar para renderizar el medio del track. Para escribir la salida a fichero: Obtener el DataSource de salida del Processor llamando a getdataoutput. Construir un DataSink para escribir a fichero llamando a Manager.createDataSink. Pasarle el DataSource de salida del procesador y un MediaLocator que especifique la localización del fichero en el que escribir. Invocar open en el DataSink para abrir el fichero. Invocar start en el DataSink para empezar a escribir datos. El Processor.setContentDescriptor nos sirve para especificar el formato del DataSource de salida del Processor y por lo tanto especificaría el formato de escritura en el fichero. 10 Escribiendo a fichero (ejemplo) En la siguiente figura se muestra un código sencillo para ilustrar el proceso de escritura en fichero de la salida del procesador. Nota: si se especifica un localizador de medios tipo rtp se puede difundir la salida del procesador por la red (lo veremos más adelante). 5

11 Ejercicio Analizar el código: http://java.sun.com/products/javamedia/jmf/2.1.1/solutions/transcode.java Y contestar a las siguientes preguntas: para qué sirve el método doit? Qué hace la aplicación? Buscar documentación sobre wait, notify y synchronized en Java. Cómo se espera a que el procesador esté en estado configured? Comentar qué realiza el método setcontentdescriptor y su relación con la salida del procesador Comentar para qué sirve el método settrackformats Comentar qué misión tienen los enteros start y end. 12 Repaso (I) Cuál es la principal característica que puede distinguir a un Player de un Processor? Cuál de los dos es más potente? En un Processor, por qué existe la necesidad dinámica de crear plugins de forma dinámica? Diga cuáles son los cinco tipos de plug-ins existentes en un Processor, cuál de ellos nos permite presentar por pantalla un medio? Dibuje de forma aproximada el esquema de evento de un Processor, teniendo en cuenta que consta de 8 estados. Si se compara con el Player, Qué dos estados nuevos incluye el Processor? Qué cinco mecanismos podemos utilizar para controlar un Processor? Para qué sirve el método configure() aplicado sobre un Processor? Cómo se puede hacer que el Processor avance hasta el estado de Realized? Explique que tres pasos hay que dar para seleccionan modificar una determinada pista de audio. 6

13 Repaso (II) Explique para qué sirve el método setcontentdescriptor del objeto Processor Explique cómo podemos hacer para que el Processor renderice los datos. Idem pero para enviar los datos a un fichero. Es necesario llamar al método start() sobre el Datasink para poder guardar los datos en fichero? Justifique su respuesta 14 Autoría Mario Muñoz Organero Pablo Basanta Val + Cuestiones de repaso 7