CAMX

Estudio y desarrollo del controlador de la matriz de vídeo y audio AMX

Luis Cañas Díaz


Tabla de contenidos
1. Introducción
1.1. Introducción a TCP/IP
1.2. Introducción al "sniffing'': Ethereal
1.3. Una aproximación a XML
1.4. Introducción a las bibliotecas gráficas GTK+
1.5. Introducción al sistema operativo GNU/Linux
1.6. Breve introducción al protocolo utilizado por la matriz de vídeo/audio AMX
1.6.1. Tipo de mensaje
1.6.2. Pidiendo acceso a la matriz
1.6.3. Manejando los eventos proporcionados por la matriz
1.6.4. Manteniendo el diálogo a la espera de pedir algún servicio
2. Objetivos
2.1. Ingeniería inversa sobre la matriz AMX
2.2. Desarrollo de la aplicación CAMX
2.3. Desarrollo en Python/GTK
3. Especificación de requisitos
3.1. Introducción
3.1.1. Alcance
3.1.2. Ámbito del sistema
3.1.3. Definiciones, acrónimos y abreviaturas
3.1.4. Referencias
3.1.5. Resumen del resto del documento
3.2. Descripción general
3.2.1. Perspectiva del producto
3.2.2. Características del usuario
3.2.3. Funciones del producto
3.2.4. Limitaciones generales
3.3. Requisitos específicos
3.3.1. Interfaz de usuario
3.3.2. Interfaz hardware
3.3.3. Fuentes de entrada
3.3.4. Destino de la salida
3.3.5. Rangos válidos
3.3.6. Restricciones temporales
3.3.7. Relaciones con otras entradas/salidas
3.3.8. Formatos de las órdenes
3.4. Funciones
3.4.1. Iniciar el diálogo con la matriz
3.4.2. Cambiar las entradas/salidas de audio y vídeo
3.4.3. Desplazar una determinada cámara
3.4.4. Grabar una posición para la cámara seleccionada
3.4.5. Personalizar tiempo de recorrido automático
3.4.6. Regular el volumen de las entradas de audio
3.5. Número máximo de usuarios
3.6. Restricciones de diseño
4. Diseño
4.1. Clases utilizadas
4.1.1. Clase conexión
4.1.2. Clase mensaje
4.1.3. Clase matriz de vídeo
4.1.4. Clase cámara
4.1.5. Clase micrófono
4.2. Funciones
4.2.1. Iniciar el diálogo con la matriz
4.2.2. Cambiar las entradas/salidas de audio y vídeo
4.2.3. Desplazar una determinada cámara
4.2.4. Grabar una posición para la cámara seleccionada
4.2.5. Personalizar tiempo de recorrido automático
4.2.6. Regular el volumen de las entradas de audio
4.3. Descripción de bibliotecas
4.3.1. Bibliotecas GTK+ y GLADE
4.3.2. Aplicaciones de la librería DOM
4.4. El fichero origen
5. Conclusiones
5.1. Logros alcanzados
5.2. Trabajos futuros
A. Protocolo matriz AMX
A.1. Funcionamiento básico
A.2. Intercambio de mensajes
A.3. mensajes Login y rLogin
A.4. mensajes InputChannelOn e InputChannelOff
A.5. mensajes OutputChannelOn y OutputChannelOff
A.6. mensajes LevelValueSet
A.7. mensajes GetMessages y rGetMessages
A.8. mensajes CommandSend
Tabla de figuras
1-1. Modelo OSI y TCP/IP
3-1. Ventana principal de la interfaz de usuario
3-2. Ventana para el manejo de las cámaras
3-3. Ventana utilizada para grabar las posiciones
3-4. Ventana para la selección de los tiempos del recorrido
3-5. Ventana para la graduación del volumen de las entradas de audio
4-1. Ciclo de vida
4-2. Clase conexión
4-3. Clase mensaje
4-4. Clase matriz
4-5. Clase cámara
4-6. Clase micrófono
4-7. El cliente inicia el diálogo con la matriz
4-8. Cambiando las entradas o salidas de audio o vídeo
4-9. Desplazando una cámara
4-10. El cliente graba una posición de la cámara
4-11. Personalizando los tiempos del recorrido automático
4-12. Graduando el volumen de las entradas de audio
A-1. Mensajes al lanzar el 'login'
A-2. Mensajes en la desactivando de un evento
A-3. Mensajes en la desactivando de un evento (2)
A-4. Mensajes al graduar el volumen de las entradas de audio
A-5. Mensajes de "are you alive?" entre cliente y matriz
A-6. Mensajes al grabar una posición de la cámara seleccionada
Tabla de ejemplos
A-1. Login
A-2. rLogin
A-3. InputChannelOn
A-4. InputChannelOff
A-5. OutputChannelOn
A-6. OutputChannelOff
A-7. LevelValueSet
A-8. GetMessages
A-9. rGetMessages
A-10. CommandSend(1)
A-11. CommandSend(2)