Implementación de RTSP
La idea del proyecto era mostrar una aplicación que utilizara RTSP para el streaming de audio y/o video, entender su funcionamiento y explicarlo al curso. |
En este caso se desarrollaron 2 aplicaciones Java: un Cliente y un Servidor. |
Breve explicación del código |
La aplicación RTSPClient es un cliente RTSP que se conecta con el servidor especificándole su dirección y puerto. Además debe ingresarse por la línea de comandos el nombre del archivo de audio y/o video que se requiere reproducir. |
La aplicación RTSPServer es un servidor RTSP que acepta 1 sólo cliente. Si inicia en estado INIT, en donde espera por una solicitud SETUP, por parte de algún cliente. Después va cambiando según las solicitudes que le envía el cliente. |
Ambas aplicaciones crean sockets TCP y UDP para enviar y recibir mensajes de control y datos de audio/video, respectivamente. |
Más información técnica de compilación y ejecución se encuentra en el archivo readme.txt incluído junto con el código (sección Descarga). |
La siguiente figura muestra el diagrama de estados del cliente. |
Un detalle interesante es que ambas clases Java utilizan otra llamada RTPpacket, que se encarga de la creación y manejo de los datagramas RTP en los cuales se encapsula el flujo RTSP (posteriormente se reencapsula en datagramas UDP). |
Encabezado RTP |
A continuación se muestran algunos ejemplos de las interfaces gráficas de RTSPClient y RTSPServer. |
RTSPClient GUI |
RTSPClient: Ejemplo de salida por consola |
RTSPServer: Ejemplo de salida por consola |