INSTITUTO POLITÉCNICO NACIONAL T E S I S

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INSTITUTO POLITÉCNICO NACIONAL T E S I S"

Transcripción

1 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA Transmisión en línea de video a través de Internet utilizando tecnología RTP T E S I S P A R A O B T E N E R E L T Í T U L O D E : INGENIERO EN COMUNICACIONES Y ELECTRÓNICA P R E S E N T A OJEDA ESTRADA VICTOR SAMUEL ASESOR: ARMANDO MANCILLA LEÒN MÉXICO, D.F. 2011

2 INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD PROFESIONAL "ADOLFO LOPEZ MATEOS" TEMA DE TESIS QUE PARA OBTENER EL TITULO DE POR LA OPCION DE TITULACION DEBERA(N)DESARROLLAR INGENIERO EN COMUNICACIONES Y ELECTRONICA TESIS Y EXAMEN ORAL INDIVIDUAL C.- VICTOR SAMUEL OJEDA ESTRADA "TRANSMISION EN LINEA DE VIDEO A TRA ves DE INTERNET UTILIZANDO TECNOLOGiA RTP" DESARROLLO DE UNA ESTACION DE TELEVISION POR INTERNET!!!! TRANSMISION DE SECUENCIAS DE VIDEO PROTOCOLO RTP. COMPRESION DE VIDEO. MONTAJE DE UN SERVIDOR DE VIDEO. \.., MEXICO D.F., 18 DE ENERO 2011 lng. ARMAN CILLALEON M. ENC. SALVADOR JEFEDELDEP DE INGENIERiA EN '"''-'"... '"'

3 INDICE DE CONTENIDO Índice del contenido Índice de figuras Índice de tablas Justificación Objetivo.8 Estado del arte Metodología Introducción CAPÍTULO 1 Transmisión de secuencias de video ( Video Streaming) y codificación de video..12 Antecedentes.. 13 Streaming(transmisión)...14 Unicast. 14 Multicast.. 15 Broadcast Servidor de Streaming Protocolos utilizados en streaming CAPÍTULO 2 Protocolos RTP,RTCP y RTSP..18 Introducción Protocolo RTP Encabezado RTP...21 Ejemplo de creación de un paquete RTP..23 Protocolo RTCP Encabezado RTCP.. 26 Ejemplo de envio de paquetes RTCP 28 Protocolo RTSP Funcionamiento de RTSP Estados RTSP Sesion RTSP Ejemplo de comunicación RTSP. 37 CAPÍTULO 3 Compresión de video

4 Principios de la compresión de video Algoritmos de compresión Códec VC Codificación de Video MPEG Elementos de una secuencia de datos Algoritmo de codificación de MPEG Cuantificación de los Coeficientes de la DTC Predicción de coeficientes para macrobloques intracodificados 52 Codificación entrópica Herramientas para la compensación de movimiento Resistencia a fallos CAPÍTULO 4- Montaje del Servidor de Video...64 Introducción Requerimientos. 65 Elección del tipo de difusión Consideraciones..68 Selección de la solución 72 Integración de la solución.73 Configuración del firewall Configuración del Servidor Web (IIS).78 Configuración de DNS 82 Configuración del Servidor Streaming..84 Configuración del video bajo demanda (VOD) 86 Configuración de Canales de video o Puntos de Publicación..89 Codificación de videos para canales de video y Biblioteca de videos.99 Codificación de emisión en vivo 102 Creación de la página Web..105 Creación del Reproductor Web..116 Resultados Implementación y costos Deficiencias y mejoras

5 Glosario de términos Referencias Anexos INDICE DE FIGURAS Figura 1.1 Emisión Unicast Figura 1.2 Emisión Multicast Figura 2.1 Encabezado de protocolo RTP Figura 2.2 Envió de paquetes RTP 24 Figura 2.3 Encabezado de protocolo RTCP Figura 2.4 Nivel de aplicación del protocolo RTSP.29 Figura 2.5 Flujo de datos de un servidor RTSP.. 29 Figura 2.6 Diagrama de conexión del protocolo RTSP..30 Figura 2.7 Estados RTSP Figura 2.8 Esquema de funcionamiento de RTSP Figura 2.9 Control de conexión de RTSP mediante TCP..37 Figura 3.1 Relación entre Vops Figura 3.2 Estructura lógica de una secuencia de datos MPEG Figura 3.3 Diagrama de bloques del proceso de codificación Figura 3.4 Bloques candidatos para la predicción de coeficientes...52 Figura 3.5 Estructura de predicción temporal Figura 3.6 Interpolación de las muestras para una resolución de medio pixel utilizando interpolación bilineal Figura 3.7 Interpolación de las muestras para una resolución de medio pixel utilizando interpolación mejorada...59 Figura 3.8 Interpolación de las muestras para una resolución de subpixel en GMC.. 60 Figura 3.9 Los vectores MVF y MVPse derivan del MV de la referencia hacia atrás con respecto de la referencia hacia adelante Figura 4.1 Diagrama de flujo del funcionamiento del proyecto...66 Figura 4.2 Elementos de una implementación de video streaming.68 Figura 4.3 Diagrama de Streaming Windows media Services.. 73 Figura 4.4 Características del equipo utilizado para servidor de video..75 4

6 Figura 4.5 Diagrama Firewall...77 Figura 4.6 Icono de Administrador de Servidor..78 Figura 4.7 Administrador de Servidor..78 Figura 4.8 Asistente para agregar rol, selección de rol Figura 4.9 Selección de servicios de rol..78 Figura 4.10 Administración de Internet Information Services (IIS).80 Figura 4.11 Pagina web de prueba de (IIS). 81 Figura 4.12 Configuración básica de Servidor web(iis)...82 Figura 4.13 Funcionamiento del servicio DNS 83 Figura 4.14 Asistente para agregar características.. 84 Figura 4.15 Asistente para agregar roles, servicios de multimedia de transmisión por secuencias 85 Figura 4.16 Propiedades del servidor multimedia 86 Figura 4.17 Monitor de punto de publicación bajo demanda.87 Figura 4.18 Origen de archivos del punto de publicación de video bajo demanda...87 Figura 4.19 Publicidad del punto de publicación bajo demanda Figura 4.20 Puntos de publicación en servidor multimedia..90 Figura 4.21 Asistente para agregar puntos de publicación Figura 4.22 Asistente para agregar puntos de publicación Tipo de contenido..91 Figura 4.23 Asistente para agregar puntos de publicación Tipo de publicación Figura 4.24 Asistente para agregar puntos de publicación Agregar elementos multimedia.. 92 Figura 4.25 Asistente para agregar puntos de publicación Guardar lista de reproducción. 92 Figura 4.26 Asistente para agregar puntos de publicación Reproducción de contenido Figura 4.27 Asistente para agregar puntos de publicación Cerrar asistente. 94 Figura 4.28 Asistente para anuncios de unidifusión

7 Figura 4.29 Asistente para anuncios de unidifusión Acceso al contenido Figura 4.30 Asistente para anuncios de unidifusión Guardar opciones de anuncios Figura 4.31 Asistente para anuncios de unidifusión Editar metadatos de anuncio...96 Figura 4.32 Probar anuncio de unidifusión Figura 4.33 Opciones de protocolo de control de servidor multimedia 99 Figura 4.34 Pantalla inicial Expression Encoder. Transcoding proyect Figura 4.35 Expression encoder, codificación de archivos Figura 4.36 Pantalla inicial Expression Encoder, live Broadcasting Proyect Figura 4.37 Proyecto de emisión en vivo de Expression Encoder..103 Figura 4.38 Parámetros audio y video emisión en vivo Figura 4.39 Parámetros streaming de emisión en vivo Figura 4.40 Emisión en vivo desde Expression encoder..104 Figura 4.41 Expresión Blend Figura 4.42 Pagina web de burros tv Figura 4.43 Animacion del botón Canales..112 Figura 4.44 Página web Biblioteca de videos. 116 Figura 4.45 Control Media player de Expression Blend Figura 4.46 Personalizando el reproductor Figura 4.47 Portal web, acceso a videoteca INDICE DE TABLAS Tabla 3.1 Relación entre dc_scaler y quanticer scale Tabla 3.2 Tabla de cuantificación para macrobloques intracodificados...49 Tabla 3.3 Tabla de cuantificación para macrobloques intercodificados...49 Tabla 3.4 Codificacion entrópica, tabla de recorrido en Zig-zag 53 Tabla 3.4 Codificacion entrópica, tabla de recorrido en horizontal 54 Tabla 3.4 Codificacion entrópica, tabla de recorrido en vertical. 54 Tabla 4.1 Capacidad hardware del servidor en relación con la tasa de transferencia de la emisión

8 JUSTIFICACIÓN En los tiempos modernos, el mantenerse comunicado con nuestro entorno ya sea laboral o personal es una necesidad primordial para los seres humanos, en el marco de esta necesidad a lo largo de la historia se han desarrollado diferentes tecnologías, las cuales han tenido un significativo desarrollo en las últimas décadas donde la forma en que nos comunicamos ha evolucionado en distintas formas. En la actualidad contamos con diversos medios de comunicación siendo de los más importantes la televisión y el internet, al combinar ambos surge un concepto llamado streaming o video en tiempo real que brinda la capacidad de recibir video a través de internet, visualizarlo directamente y en el instante que se solicita en diversos dispositivos como: celulares, tabletspc s, o computadoras portátiles y de escritorio. El alcance de esta tecnología es exponencial pues actualmente cualquier persona tiene acceso a estos dispositivos conectados a internet y sin necesidad de estar en un sitio en particular pues las redes de datos actuales nos dotan de movilidad pudiendo hacer uso de el servicio prácticamente en cualquier lugar y en el momento que lo deseemos siendo así un importante medio de difusión de contenidos culturales, educativos o de entretenimiento. 7

9 OBJETIVO Implementar una estación de TV en línea a través del protocolo RTP que proporcione contenidos multimedia educativos y recreativos a la comunidad estudiantil de ESIME. ESTADO DEL ARTE El uso de video por internet en la actualidad a tenido un importante crecimiento debido al desarrollo tecnológico de cada uno de los elementos en los que se sustenta como el aumento generalizado de la velocidad en las redes de datos desde las alámbricas (DSL, Cable), e inalámbricas (Wimax, HSDPA, UMTS, LTE) así como el desarrollo de de codecs de video altamente eficaces que permiten un mejor uso del ancho de banda al comprimir el video manteniendo una alta calidad del contenido transmitido (Mp4, VC1, WMV) y la constante innovación de dispositivos capaces de visualizar video en distintos formatos. Respecto a las plataformas para proporcionar el servicio de video en tiempo real, algunas de estas están al alcance de cualquier persona y sin costo alguno a través de portales web propios (YouTube, UStream, JustinTV) que se valen de la tecnología Adobe flash para dicho propósito, también existen programas como lo es VLC, Realserver, Windows Expression encoder, algunos de ellos requieren el pago de licencia para su uso y por último los enfocados a un entorno profesional como lo es Windows Server (2003, 2008) con su tecnología Windows Streaming Services y Smooth Streaming, Leopard Server, y Linux. 8

10 METODOLOGÍA Implementación y evaluación de soluciones. Se investigaran las soluciones que existen en el mercado para el montaje de un servidor de video, así como los programas encargados de la codificación del mismo, también se realizara la evaluación del desempeño y costos de estas aplicaciones y en base a los resultados de las mismas se implementaran las mas eficaces. Integración de la solución y fase de pruebas. Una vez seleccionadas las aplicaciones, estas serán implementadas y enlazadas. Posteriormente se realizaran pruebas variando parámetros del sistema y condiciones de red. De ser necesario se replanteara la utilidad de la solución seleccionada y en caso de no cumplir con las expectativas se procederá a la implementación de otra aplicación. Puesta en marcha y ajustes finales Montaje del servidor de video streaming, video bajo demanda y página Web que darán acceso al contenido multimedia, emisión así como inclusión de diversos contenidos de video. 9

11 INTRODUCCIÓN A través de este trabajo se desarrollara un portal web con contenidos multimedia(video) entregados a través del protocolo RTP(Protocolo en Tiempo Real), esta tecnología se utiliza para controlar la descarga, control y ejecución de audio y vídeo en la web, su implementación permite escuchar y visualizar los archivos mientras se están descargando. Si no utilizáramos el streaming para mostrar un contenido multimedia en la Red, tendríamos que descargar primero el archivo entero en nuestro ordenador y más tarde ejecutarlo, para finalmente ver y oír lo que el archivo contiene. Sin embargo, el streaming permite que esta tarea se realice de una manera más rápida y que podamos ver y escuchar el contenido durante la descarga. El streaming funciona de la siguiente manera; Primero nuestro ordenador (el cliente) conecta con el servidor y éste le empieza a mandar el archivo, el cliente comienza a recibir el archivo y construye un buffer donde empieza a guardar la información, cuando se ha llenado el buffer con una pequeña parte del archivo el cliente lo empieza a mostrar y a la vez continúa con la descarga. El sistema está sincronizado para que el contenido se pueda ver mientras que el archivo se descarga, de modo que cuando el archivo acaba de descargarse el archivo también ha acabado de visualizarse. Si en algún momento la conexión sufre descensos de velocidad se utiliza la información que hay en el buffer, de modo que se puede aguantar un poco ese descenso. Si la comunicación se corta demasiado tiempo, el buffer se vacía y la ejecución el archivo se cortaría también hasta que se restaurase la señal. Video streaming, es un servicio que posibilita la emisión por Internet de contenidos multimedia (vídeo y audio) desde un equipo remoto equipado con cámara digital, webcam, reproductor de videos o directamente de archivos multimedia. 10

12 Utilizaremos para ello un servidor de Streaming, un servidor web que alojara nuestro portal y que servirá también como servidor de archivos de video bajo demanda y los codificadores con protocolos adecuados para la optimización de nuestro servicio de video. 11

13 CAPÍTULO 1 Transmisión de secuencias de video (Video Streaming) 12

14 ANTECEDENTES Antes de que la primera instancia de tecnología streaming apareciera en abril de 1995 (con el lanzamiento de RealAudio 1.0), la reproducción de contenido multimedia mediante el Internet necesariamente implicaba tener que descargar completamente el "archivo contenedor" al disco duro local. Como los archivos de audio y especialmente los de video tienden a ser enormes, su descarga y acceso como paquetes completos se vuelve una operación muy lenta. Sin embargo, con la tecnología del streaming un archivo puede ser descargado y reproducido al mismo tiempo, con lo que el tiempo de espera es mínimo. La tecnología de streaming en la actualidad es usada en todo el mundo y altamente explotada debido a que para acceder a sus contenidos se requiere únicamente un dispositivo con la capacidad de desplegar páginas web como nuestra computadora, teléfono celular o consola de videojuego, etc. y una conexión a Internet de alta velocidad (<256Mbps) algunos ejemplos de proveedores de estos contenidos son paginas como Youtube, Yahoo video, veoh, etc. de las cuales hacemos uso de sus contenidos de forma cotidiana. Otra de las modalidades del streaming es la implementación bajo su modalidad IPTV. Esta tecnología evolucionará en un futuro próximo la televisión actual, aunque para ello son necesarias unas redes mucho más rápidas que las actuales, para poder garantizar la calidad en el servicio. La diferencia esencial entre estas implementaciones de streaming es que las primeras (youtube, yahoo video, web TV) son accesibles directamente por internet y generalmente sin ningún costo, mientras que los servicios IPTV de las operadoras de telecomunicaciones son sistemas "cerrados" fuera de la red convencional y distribuidos bajo un importe, lo que les permite dar mejor servicio y crear un sistema de monetización equivalente a la televisión por cable 13

15 Esta modalidad de streaming también esta apliamente difundida por todo el planeta en países como reino Unido, Francia, España, Estados Unidos y America Latina. En México, Maxcom Telecomunicaciones ofrece MaxcomTV producto con el que logra ser un competidor tripleplay usando tecnología IPTV sobre ADSL en ciudades como Puebla, Querétaro, Estado de México y San Luis Potosí desde agosto de Telmex TV continúa en espera de que le sea autorizada su concesión para lanzar su propio servicio de IPTV. STREAMING (transmisión) Los términos stream y streaming ambos tienen que ver con la transmisión de información y su inmediata interpretación. Antes, la única forma disponible de ver un video o escuchar un sonido desde Internet era descargar el archivo completo a la computadora y al terminar dicha descarga se procedía a reproducir el archivo de audio/video. Hoy en día gracias al avance tecnológico en procesamiento de datos y redes, se puede transmitir un flujo continuo de paquetes multimedia transmitidos en tiempo real, distribuyendo el contenido multimedia a través de la red de Internet. Existen varios tipos de transmisión de datos entre los principales están: UNICAST Una secuencia de unidifusión es una conexión uno a uno entre el servidor y un cliente, es decir, cada cliente recibe una secuencia diferente y solamente reciben una secuencia los clientes que la solicitan. Puede entregar contenido en forma de secuencia de unidifusión desde un punto de publicación a petición o de difusión. En la figura siguiente se muestra un ejemplo de la entrega de contenido como una secuencia de unidifusión. 14

16 Figura 1.1 Emisión Unicast. Una vez conectado el cliente al servidor, el contenido puede entregarse con el protocolo UDP o TCP. La diferencia entre estos dos protocolos estriba en cómo confirman los clientes la recepción de los paquetes de datos. MULTICAST La transmisión de multidifusión o multicast es una relación de uno a varios entre un servidor de multimedia y los clientes que reciben la secuencia. Con una transmisión de multidifusión, el servidor transmite a una dirección IP de multidifusión (IP clase D) en la red y los clientes reciben la secuencia mediante la suscripción a la dirección IP. Todos los clientes reciben la misma secuencia y no tienen control de la reproducción del contenido. Puesto que sólo hay una secuencia procedente del servidor independientemente del número de clientes que reciben la secuencia, una secuencia de multidifusión necesita la misma cantidad de ancho de banda que una única secuencia de unidifusión que tenga el mismo contenido. El uso de una secuencia de multidifusión conserva el ancho de banda de la red y puede resultar útil para redes de área locales con un ancho de banda bajo. En la siguiente figura se muestra un ejemplo de contenido que se distribuye desde un codificador como secuencia de multidifusión mediante un punto de publicación de difusión. 15

17 Figura 1.2 Emisión Multicast. Las secuencias de multidifusión requieren menos recursos de servidor y red, pero pueden necesitar una modificación de la red para que las multidifusiones y el tráfico de red coexistan de forma eficaz. La modalidad multicast es adecuada principalmente si se difunde contenido a un público numeroso y el ancho de banda de red y la capacidad del servidor son limitados. BROADCAST En ésta transmisión se comunica con un solo flujo de datos multimedia a todos los usuarios miembros de una red, proveniente del servidor multimedia. Este sistema tiene el inconveniente de que las interfaces de red de los host que no quieran escuchar la transmisión estarán aceptando un tráfico indeseado, a no ser que desactiven su función de escuchar el tráfico broadcast, con lo cual podrían perderse mensajes importantes. 16

18 Servidor de Streaming El servidor de streaming es el elemento principal en cuanto a calidad del servicio se refiere. El servidor procesa los datos multimedia en cortos espacios de tiempo y soporta funciones de control interactivas siendo además el responsable de suministrar los servicios de audio y video en modo sincronizado. El servidor de streaming espera de la petición del usuario y cuando recibe una petición, el servidor busca en el directorio apropiado el archivo solicitado. La entrega de paquetes del servidor al usuario pueden estar sujetas a demoras conocidas como lag (transmisión a velocidades menores al del ancho de banda y se pierde la calidad de reproducción). Reproductor/Player En el lado del receptor se deberán reproducir los flujos de datos multimedia en el mismo orden en que fueron generados por el servidor de streaming. Esta funcionalidad es provista por el reproductor de contenidos multimedia que es un software capaz de procesar el flujo multimedia que entra en la máquina destino. El reproductor contiene el decodificador que permitirá al usuario visualizar el contenido de manera adecuada y eficiente. Protocolos utilizados en streaming Existen varios protocolos que han sido normalizados para permitir la comunicación entre los servidores de streaming y los ordenadores cliente. Los protocolos implementan las funcionalidades siguientes: Transporte, utilizando UDP o TCP Control de sesión, suministrado por protocolos como: Real Time Streaming Protocol (RTSP), Microsoft Media Service Protocol (MMS), RTP(real Time Protocol), RTCP(Real Time control protocol), RTSP o Hypertext Transfer Protocol (HTTP). IPTV 17

19 CAPÍTULO 2 Protocolos RTP, RTCP y RTSP. 18

20 INTRODUCCIÓN Como se menciono en el capitulo anterior, la palabra Streaming se refiere a un flujo continuo de recepción de datos (principalmente contenido multimedia) donde usuario puede escuchar o ver en el momento que lo desee. Este tipo de tecnología permite que se almacenen en un búfer lo que se va escuchando o viendo. El streaming hace posible escuchar música o ver videos sin necesidad de ser descargados previamente. Para la entrega de este flujo de datos existen diversos protocolos creados con este fin, tal es el caso del RTSP(Real Time Streaming Protocol o protocolo de streaming en tiempo real) de nivel de aplicación que se encarga de controlar la entrega de datos con propiedades de tiempo real, en otras palabras actúa como un control remoto de la emisión. Los streams o flujos controlados por RTSP son transportados por RTP (Real Time protocol) el cual define un formato de paquetes estándar para enviar audio y vídeo sobre una red específica como lo es Internet 1, además de que proporciona funciones de transporte extremo a extremo para aplicaciones de transmisión de datos en tiempo-real. RTP no garantiza calidad de servicio para los servicios de tiempo-real, esa función la realizarán las capas inferiores. La cabecera RTP indica al receptor como reconstruir los datos y describe como se han codificado el flujo de bits. RTCP(Real Time Control Protcol o Protocolo de Control en tiempo Real) es el protocolo de control de RTP del cual es complementario. Permite monitorizar la entrega de los datos multimedia de forma escalable, lo que permite a los receptores detectar la perdida de paquetes o compensar el retraso del flujo multimedia(jitter). Se basa en la transmisión periódica de paquetes de control a los participantes en la sesión, utilizando los mismos mecanismos de transporte que los paquetes de datos multimedia. La capa inferior debe proporcionar la multiplexación de paquetes de datos y control, normalmente se realiza mediante el uso de puertos UDP diferentes, uno para los datos, y el siguiente (impar) para los datos de control. 1 Microsoft TehcNet 19

21 Se puede observar que para el proceso de streaming los protocolos (RTP, PRTP, RTCP) trabajan en conjunto para realizar dicha tarea, todos ellos son estándares de Internet aprobados por Internet Engineering Task Force (IETF). A continuación se describirán más a detalle los protocolos mencionados. PROTOCOLO RTP La función básica de RTP es multiplexar varios flujos de datos en tiempo real en un solo flujo de paquetes UDP o TCP, pudiéndose enviar tanto a un solo destino (unicast) o múltiples destinos (multicast). El protocolo RTP está destinado exclusivamente a ser un protocolo de transporte de datos en tiempo real usado comúnmente en aplicaciones multimedia de video o voz (streaming), RTP se encarga principalmente de transportar la carga útil y el mínimo de metadatos necesarios para la representación en tiempo real. Los paquetes son numerados de la siguiente manera: se le asigna a cada paquete un número mayor que su antecesor. Esto será útil para que la aplicación conozca si ha fallado algún paquete o no en la transmisión. Si se presenta una falla, al no tener un control de flujo, de errores, de confirmaciones de recepción ni de solicitud de transmisión, la mejor opción es la interpolación de los datos. Otra característica muy importante para las aplicaciones de contenido multimedia en tiempo real es el time-stamping (marcación del tiempo). La idea es permitir que el origen asocie una marca de tiempo con la primera muestra de cada paquete. Las marcas de tiempo son relativas al inicio del flujo, por tanto, solo importa las diferencias entre dichas marcas de tiempo. Con este planteamiento, el destino es capaz de almacenar un pequeño buffer e ir reproduciendo cada muestra el número exacto de milisegundos después del inicio del flujo reduciendo los efectos de la fluctuación y sincronizando múltiples flujos entre sí. El protocolo RTP se establece en el espacio de usuario y se ejecuta, por lo general, sobre UDP, ya que posee menor retardo que TCP. Por tanto con UDP se gana velocidad a cambio de sacrificar la confiabilidad que TCP ofrece. Debido a 20

22 esto, RTP no garantiza la entrega de todos los paquetes, ni la llegada de éstos en el instante adecuado. Cuando se establece una comunicación(sesión) RTP la negociación de transporte(protocolo, dirección IP, puerto), carga (códec, muestreo, resolución video) y encriptación de datos(protocolo de encriptación, algoritmo de encriptación y llave) se lleva a cabo por mecanismos externos a RTP auxiliándose de otros protocolos como SIP (Sesion Internet Protocol), H.323 o SDP(Sesion Description protocol). ENCABEZADO RTP El encabezado de los paquetes RTP consiste en 3 palabras de 32 bits y algunas extensiones: Figura 2.1 Encabezado de protocolo RTP 2 Donde: Ver : campo versión (2 bits) 2 Protocolos RTP/RTCP 21

23 P: Indica si el paquete se ha rellenado a un múltiplo de 4 bytes. El último byte de relleno indica cuántos bytes se agregaron. (1 bit) X: Indica si hay un encabezado de extensión. (1 bit) CC: Indica cuántos orígenes de contribución están presentes, de 0 a 15 (4 bits) M: En flujos o streamings de audio si la supresión de silencio esta activada este bit (M) deberá ser de los primeros paquetes. (1 bit) Tipo de carga útil: Indica cuál es el algoritmo de codificación que se ha utilizado (h.264, h.263. mp4). (7 bits) Número de secuencia: Contador que se incrementa en cada paquete RTP enviado (16 bits) Marca de tiempo: indica cuándo se creó la primera muestra en el paquete. (32 bits) Identificador de origen de sincronización: indica a cuál flujo pertenece el paquete. Es el método para de multiplexar/demultiplexar varios flujos de datos en un solo flujo de paquetes UDP. (32 bits) Por último, los Identificadores de origen de contribución, en caso de que haya, se utilizan cuando los mezcladores están presentes en el estudio. En ese caso, el mezclador es el origen de sincronización, y los flujos que se mezclan se listan en esta palabra. 22

24 ASPECTOS DE SEGURIDAD RTP sufre vulnerabilidades al igual que otros protocolos. Por ejemplo, un usuario atacante podría autenticar de forma falsa direcciones de red de origen o destino, cambiar el encabezado e incluso cambiar el algoritmo de codificación. Utilizando el protocolo RTP sin su protocolo de control RTCP, los campos CNAME y NAME podrían usarse para autenticar a otro usuario. Debido a estas vulnerabilidades entre otras, es importante saber unos cuantos aspectos de seguridad para hacer un uso más responsable del protocolo. Ejemplo de creación de un paquete RTP A continuación se mostrara código de ejemplo de un streaming sobre RTP. SeCRtpFileSenderCRtpFileStreamer utiliza la clase CRtpFileSender para enviar paquetes RTP y CRtpFileStreamer para recibir los paquetes RTP. En este ejemplo se abre una sesion de RTP con la toma de pre-conectada e inicia nuevas fuentes de enviar y recibir en la sesión RTP. Registra las funciones de devolución de llamada cuando un paquete RTP es enviado satisfactoriamente por una fuente de enviar o recibidos por una fuente de recibir, para recibir notificaciones cada vez que se envía un paquete RTP o recibido. Inicializacion void CRtpFileStreamer::ConstructL(); *Abre una sesión RTP Envio de un paquete RTP void CRtpFileSender::RunL(); *Se inicializa un paquete RTP, se le asigna a este una etiqueta de tiempo, a su vez se lee un nuevo bloque de datos del archivo origen, se agrega el bloque de datos leído al paquete RTP, se realiza el envio y se cierra el archivo origen. CRtpFileSender::PacketSent() *Se llama esta clase para notificar que el paquete RTP ha sido enviado satisfactoriamente. Recepcion de un paquete RTP 23

25 void CRtpFileStreamer::NewSource(); * Cuando un paquete RTP con una nueva esta función registra el paquete. void CRtpFileStreamer::PacketArrived(); * Cada vez que llega un paquete RTP, esta función recupera la carga útil del paquete recibido y lo escribe en el archivo de destino. RTP Paquetes RTP Archivo Origen Figura 2.2 Envió de paquetes RTP. Archivo destino Visualización de streaming La clase SetRtpStreamParameters sirve para configurar los siguientes parámetros: A. Número máximo de paquetes secuenciales que se deben recibir para un buen streaming. B. Número máximo de paquetes perdidos para considerar una sesión perdida. C. Número máximo de paquetes retrasados para considerar una sesión perdida. SetRtpStreamParameters(1,100,3000);// Configurando (A,B,C). La configuración de estos valores puede ajustarse en base a los datos obtenidos a través de RTCP. Cerrando una sesión RTP Close() cierra una sesión RTP Todos los envios y recepciones de paquetes se suspenden después de ser llamada esta clase. session.close(); delete session; 24

26 PROTOCOLO RTCP El protocolo RTCP es complementario a RTP y le brinda a éste un mecanismo de control. Utiliza UDP por el puerto adyacente siguiente al puerto que se utiliza para RTP. El protocolo RTCP se basa en la periódica transmisión de paquetes de control a todos los participantes en sesión ofreciéndole información sobre la calidad de los datos distribuidos por la fuente. El protocolo subyacente debe proveer de la multiplexación de los datos y de los paquetes del control. Los paquetes RTCP deben ser enviados para cada sesión del RTP, debido a que la función primordial de RTCP es la de proveer una realimentación de la calidad de servicio que a su vez puede utilizarse para permitir que la aplicación se adapte a las condiciones cambiantes del enlace. El cálculo del ancho de banda del canal trabaja de la siguiente forma: el host A envía un par de paquetes al host B y el host B los envía de regreso. El receptor calcula el ancho de banda del link basado en el tiempo de recepción del paquete y el tamaño del mismo. Entonces el host A procesa estos datos para llegar a un estimado de ancho de banda, dato que envía de regreso como una extensión de un paquete de informe RTCP. TIPOS DE PAQUETES RTCP SR (informe de emisor): conjunto de estadísticas de transmisión y recepción que provienen de participantes que son emisores activos. RR (informe del receptor): conjunto de estadísticas que provienen de participantes que son sólo receptores. SDES (descripción de fuente): están compuestos de varios elementos, incluido el CNAME. Constituyen la tarjeta de visita de la fuente. BYE (mensaje de fin): termina la sesión. 25

27 APP: funciones específicas de una determinada aplicación. ENCABEZADO RTCP El encabezado RTCP tiene 32 bytes y está dividido en 3 zonas: Figura 2.3 Encabezado de protocolo RTCP 3 PRIMERA ZONA: V indica la versión. (2 bits) P indica si el paquete se ha rellenado a un múltiplo de 4 bytes. El último byte de relleno indica cuántos bytes se agregaron. (1 bit) RC es un contador de informes en el paquete. (5 bits) PT es la carga útil = 200 para SR.(8 bits) 3 Protocolos RTP/RTCP 26

28 Longitud del reporte.(16 bits) SSRC que lo origina. (32 bits) SEGUNDA ZONA: NTP timestamp: marca de tiempo NTP. (64 bits) RTP timestamp: marca de tiempo RTP. (32 bits) Conteo de paquetes enviados desde el inicio de la sesión por el emisor. (32 bits) Conteo de bytes enviados desde el inicio de la sesión por el emisor.(32 bits) TERCERA ZONA: Conjunto de RR, uno por cada fuente escuchada con la siguiente información: SSRC-n: número de la fuente cuyo flujo se analiza. (32 bits) Fracción perdida (8 bits). Número acumulativo de paquetes perdidos (24 bits). Extensión del número de secuencia más alto recibido (32 bits). Intervalo de la variación de retardo. Se trata del tiempo de tránsito relativo entre los dos paquetes de datos y es calculado para cada paquete de datos recibido por la fuente SSRC_n. (32 bits). Marca de tiempo del último informe de envío (32 bits). Retardo desde el último informe de envío (32 bits). 27

29 Ejemplo de envío de paquetes RTCP. Envio de paquetes RTCP Para enviar paquetes SR, RR, o SDES puede hacerse a través de la siguiente clase RRtpSession::SetRTCPAutoSend() RTPSession:SetRTCPAutoSend(TBool ETrue); //Estableciendo parametro ETrue para activar el envio de paquetes. Para establecer el intervalo de tiempo en que los paquetes RTCP deben ser enviados se realiza a través de la siguiente clase, en este caso se establece un valor de 1000 micro segundos. RTPSession:SetRtcpInterval(1000); PROTOCOLO RTSP Se trata de un protocolo en tiempo real que permite que un cliente controle remotamente un servidor multimedia de forma similar a como funciona un control remoto. El envió de los datos multimedia es decir la generación del streaming no es parte de las funciones de este protocolo, para tal efecto se auxilia de RTP para el transporte de los datos audio/de video. Real Time Streaming Protocol es un protocolo a nivel de aplicación que controla la entrega de flujo de datos en tiempo real. RTSP es un protocolo no orientado a conexión, en lugar de esto el servidor mantiene una sesión asociada a un identificador, en la mayoría de los casos RTSP usa TCP para datos de control del reproductor y UDP para los datos de audio y vídeo aunque también puede usar TCP en caso de que sea necesario. En el transcurso de una sesión RTSP, un cliente puede abrir y cerrar varías conexiones de transporte hacia el servidor por tal de satisfacer las necesidades del protocolo. 28

30 Figura 2.4 Nivel de aplicación del protocolo RTSP. De forma intencionada, el protocolo es similar en sintaxis y operación a HTTP de forma que los mecanismos de expansión añadidos a HTTP pueden, en muchos casos, añadirse a RTSP. Sin embargo, RTSP difiere de HTTP en un número significativo de aspectos. Por ejemplo RTSP introduce nuevos métodos y tiene un identificador de protocolo diferente. Además un servidor RTSP necesita mantener el estado de la conexión al contrario de HTTP, tanto el servidor como el cliente pueden lanzar peticiones. Figura 2.5 Flujo de datos de un servidor RTSP El protocolo soporta las siguientes operaciones: Recuperar contenidos multimedia del servidor: El cliente puede solicitar la descripción de una presentación por HTTP o cualquier otro método. Si la presentación es multicast, la descripción contiene los puertos y las direcciones que serán usados. Si la presentación es unicast el cliente es el que proporciona el destino por motivos de seguridad. Invitación de un servidor multimedia a una conferencia: Un servidor puede ser invitado a unirse a una conferencia existente en lugar de reproducir la 29

31 presentación o grabar todo o una parte del contenido. Este modo es útil para aplicaciones de enseñanza distribuida dónde diferentes partes de la conferencia van tomando parte en la discusión. Adición multimedia a una presentación existente: Particularmente para presentaciones en vivo, útil si el servidor puede avisar al cliente sobre los nuevos contenidos disponibles. Figura 2.6 Diagrama de conexión del protocolo RTSP El protocolo RTSP es un protocolo basado en texto e independiente del protocolo de transporte que permite realizar un control remoto de sesión de transmisión multimedia que permite: Recuperar un determinado medio de un servidor Invitar a un servidor de medios a una multiconferencia Grabar una multiconferencia 30

32 FUNCIONAMIENTO DE RTSP Cada presentación (Video-audio) puede ser identificado por una URL RTSP. A su vez estas presentaciones pueden funcionar de la siguiente forma: Unicast: Los medios de comunicación se transmiten a la fuente de la solicitud de RTSP, con el número de puerto que elija el Cliente. Multidifusión, el servidor elige la dirección: El servidor de medios de comunicación proporciona la dirección de multidifusión y el puerto. Multidifusión, el cliente elige la dirección: Si el servidor es participar en una conferencia de multidifusión existentes, la dirección de multidifusión, el puerto y la clave de cifrado se dan en la descripción de conferencias. ESTADOS RTSP RTSP controla datos que se pueden enviar a través de un protocolo separado, independiente del canal de control. Por ejemplo, el control RTSP puede ocurrir en una conexión TCP, mientras que los flujos de datos a través de UDP. Así, los datos de entrega continúan incluso si no hay peticiones RTSP que son recibidas por el servidor multimedia. Además, durante el ciclo de vida de la conexión solo puede controlarse un flujo multimedia que puede ser controlado por las peticiones RTSP emitidas de forma secuencial en diferentes conexiones TCP. Muchos métodos de RTSP no contribuyen al Estado. Sin embargo, los siguientes juegan un papel central en la definición de la asignación y uso de los recursos secuencia en el servidor: PLAY, REC, PAUSE, SETUP y TEARDOWN. 31

33 Figura 2.7 Estados RTSP. A continuación se describen los métodos más utilizados en RTSP: SETUP: Este actúa sobre flujos o sobre una URL y con el se especifica el mecanismo que se va a utilizar para el transporte del flujo multimedia, los parámetros de transporte admitidos por el cliente. Un cliente puede utilizar SETUP para modificar el tipo de transporte cuando los datos ya están siendo transmitidos si el servidor lo permite Ej. C->S: SETUP rtsp:// rtsp://burrostv.dyndns.tv/envivo/rtsp/1.0c Seq: 302Transport: RTP/AVP;unicast;client_port= S->C: RTSP/ OKCSeq: 302 Date: 23 Jan :35:06 GMT Session: Transport: RTP/AVP; unicast; client_port= ; server_port= PLAY y RECORD: Inicia la transmisión de datos a una sesión RTSP asignada a través de SETUP. Ej. C->S: PLAY rtsp:// rtsp://burrostv.dyndns.tv/envivo /audio RTSP/1.0 CSeq: 835Session: Range: npt=10-15con 32

34 PAUSA: detiene temporalmente una transmisión sin cerrar la sesión con el servidor. Ej. C->S: PAUSE rtsp://burrostv.dyndns.tv/envivo/foortsp/1.0 CSeq: 834 Session: S->C: RTSP/ OKCSeq: 834 Date: 23 Jan :35:06 GMT TEARDOWN: Libera recursos asociados con la transmisión. La sesión RTSP deja de existir en el servidor. Ej. C->S: TEARDOWN rtsp://burrostv.dyndns.tv/envivo/foortsp/1.0 CSeq: 892 Session: S->C: RTSP/ OKCSeq: 892 OPTIONS: Sirve para saber las opciones soportadas por el cliente o por el servidor, es posible implementarlo cuando se quiera sin alterar el estado del servidor. Ej. C->S: OPTIONS * RTSP/1.0 CSeq: 1Require: implicit-playproxy- Require: gzipped-messages S->C: RTSP/ OKCSeq: 1 Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE ANNOUNCE: Tiene dos propósitos: 1-Para que el cliente envíe al servidor la descripción de una presentación o flujo 2-Para que el servidor informe al cliente que actualiza la sesión. Se realiza en tiempo real. Ej. C->S: ANNOUNCE rtsp://burrostv.dyndns.tv/envivo/foortsp/1.0c Seq: 312 Date: 23 Jan :35:06 33

35 GMTSession: Content-Type: application/sdp Content-Length: 332v=0 o=mhandley IN IP s=emision ESIME i=pruebas de emission envivo con RTSP u= c=in IP /127 t= a=recvonly m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 S->C: RTSP/ OK CSeq: 312 REDIRECT: Indica que el cliente debe conectar con otro servidor. En la cabecera del método se indica la nueva dirección con la que se debe conectar. Opcionalmente se puede el método podría transportar un rango que indicaría la validez temporal de la redirección. Antes de comenzar la recepción de datos de la nueva dirección el cliente debe invocar un TEARDOWN con el actual servidor y realizar un SETUP con el nuevo servidor. Ej. S->C: REDIRECT rtsp://burrostv.dyndns.tv/envivo /foortsp/1.0 CSeq: 732 Location:rtsp://burros2tv.dyndns.tv/envivo:8001 Range: clock= t143205z GET_PARAMETER: Solicita el valor de un parámetro o flujo multimedia especificado mediante una URL. SET_PARAMENTER: Actualiza el valor de un parámetro. Los parámetros de transporte solamente pueden ser actualizados mediante el método SETUP 34

36 Figura 2.8 Esquema de funcionamiento de RTSP. 4 Relación con otros protocolos RTSP tiene algunas coincidencias en la funcionalidad con HTTP. También pueden interactuar con HTTP ya que la transmisión de contenido a menudo se realiza a través de una página web. En RTSP, tanto en el cliente y el servidor de medios pueden emitir solicitudes. Peticiones RTSP tampoco son apátridas, sino que puede establecer los parámetros y siguen controlando una transmisión mucho después de que la solicitud ha sido reconocida. Formato de URL El formato para acceder a las emisiones a través de RSTP es el siguiente: Rstp_url = ( rtsp: rtspu: rtsps: )( // ) (host)( : )(puerto)(directorio)

37 Donde: El host puede ser una dirección Ip por ejemplo o un nombre de dominio como burrostv.syndns.tv. El puerto es un digito por ejemplo: 8900 Ejemplo de dirección RTSP: rtsp://burrostv.dyndns.tv:8900 Si no se especifica el puerto por default se re direcciona al puerto 554. Sesión RTSP El cliente accede a la URL RTSP para colocar el nombre del servidor y el puerto. Si el nombre del servidor no está en formato IP, el cliente hace una consulta DNS para obtener la dirección correspondiente. El cliente inicia una conexión TCP hacia el servidor. Cuando la conexión está establecida correctamente, el cliente envía al servidor una petición OPTIONS. EL servidor devuelve información que puede incluir la versión de RTSP, la fecha, el número de sesión, el nombre del servidor y los métodos soportados. El cliente envía una petición DESCRIBE para obtener una descripción de la presentación. El servidor responde con todos los valores de inicialización necesarios para la presentación. El cliente envía SETUP para cada flujo de datos que se quiere reproducir. El SETUP especifica los protocolos aceptados para el transporte de los datos. El cliente inicializa los programas adecuados requeridos para reproducir la presentación. El cliente envía una petición PLAY que informa al servidor que ahora es el momento de comenzar a enviar datos. Durante la sesión, el cliente periódicamente hace ping al servidor utilizando peticiones SET_PARAMETER. Aunque la respuesta sea errónea el cliente la ignora informando al cliente que el servidor todavía está activo. Cuando la presentación termina o el usuario la para, el cliente envía un SET_PARAMETER que contiene las estadísticas de la sesión. 36

38 El cliente envía TEARDOWN para dar por terminada la conexión con el servidor. Figura 2.9 Control de conexión de RTSP mediante TCP. Ejemplo de comunicación RTSP Presentación en vivo usando multicast. El servidor multimedia (M) proporciona la dirección del flujo multicast así como el Puerto. Se buscara en primera instancia un archivo descriptor en un servidor web (W) archivo.sfp el cual puede contener datos de la presentación como duración, formato, derechos de autor, lenguajes soportados e información adicional, el cual puede o no contener toda la información antes mencionada. C->W: GET /vivo.sdp HTTP/1.1 Host: burrostv.dyndns.tv W->C: HTTP/ OK Content-Type: application/x-rtsl C->M: DESCRIBE rtsp://burrostv.dyndns.tv/envivo/audio RTSP/1.0 CSeq: 1 M->C: RTSP/ OK 37

39 CSeq: 1 Content-Type: application/sdp Content-Length: 44 v=0 o= IN IP s=rtsp Session m=audio 3456 RTP/AVP 0 a=control:rtsp://burrostv.dyndns.tv/envivo/audio c=in IP /16 C->M: SETUP rtsp://burrostv.dyndns.tv/envivo/audio RTSP/1.0 CSeq: 2 Transport: RTP/AVP;multicast M->C: RTSP/ OK CSeq: 2 Transport: RTP/AVP;multicast;destination= ; port= ;ttl=16 Session: C->M: PLAY rtsp://burrostv.dyndns.tv/envivo/audio RTSP/1.0 CSeq: 3 Session: M->C: RTSP/ OK CSeq: 3 Session:

40 CAPÍTULO 3 Compresión de video 39

41 PRINCIPIOS DE LA COMPRESIÓN DE VIDEO Con la revolución de la televisión digital, las aplicaciones gráficas interactivas, las transmisiones en vivo por Internet y, en general de los sistemas multimedia y las redes de comunicación, el sistema de codificación de video surge de la necesidad de transmitir video a través de las redes existentes conservando la máxima calidad posible. En este capítulo se examinarán cuales son los métodos más utilizados que permiten obtener este resultado, y los diferentes formatos o codecs que se utilizan hoy día. La compresión implica disminuir el número de parámetros requerido para representar la señal, manteniendo una buena calidad perceptual. Estos parámetros son codificados para almacenarse o transmitirse. El resultado de la compresión es la obtención de un formato digital el cual podemos transmitir a través de algún medio electrónico como internet o a través de las redes móviles. Estos métodos de compresión también llamados algoritmos de compresión, recurren a los procedimientos generales de compresión de datos, aprovechando además la redundancia espacial de una imagen (áreas uniformes), la correlación entre puntos cercanos y la menor sensibilidad del ojo a los detalles finos de las imágenes fijas (JPEG) y, para imágenes animadas (MPEG), se saca provecho también de la redundancia temporal entre imágenes sucesivas. ALGORITMOS DE COMPRESION Se denomina algoritmo de compresión a cualquier procedimiento de codificación que tenga como objetivo representar cierta cantidad de información utilizando una menor cantidad de la misma, se considera algoritmo de compresión con pérdida o sin ella en función de la capacidad que se tenga para hacer una reconstrucción exacta de los datos originales. 40

42 La compresión con pérdida sólo es útil cuando la reconstrucción exacta no es indispensable para que la información tenga sentido. La información reconstruida es solo una aproximación de la información original. Suele restringirse a información analógica que ha sido digitalizada (imágenes, audio, video, etc.), donde la información puede ser "parecida" y, al mismo tiempo, ser subjetivamente la misma. Su mayor ventaja reside en las altas razones de compresión que ofrece en contraposición a un algoritmo de compresión sin pérdida. Existen dos técnicas comunes de compresión con pérdida: Por códecs de transformación: los datos originales son transformados de tal forma que se simplifican (sin posibilidad de regreso a los datos originales). Creando un nuevo conjunto de datos proclives a altas razones de compresión sin pérdida. Por códecs predictivos: los datos originales son analizados para predecir el comportamiento de los mismos. Después se compara esta predicción con la realidad, codificando el error y la información necesaria para la reconstrucción. Nuevamente, el error es proclive a altas razones de compresión sin pérdida. En algunos casos se utilizan ambas técnicas, aplicando la transformación al resultado de la codificación predictiva. Ejemplos de algunos Métodos de compresión con pérdida Compresión de imagen con pérdida Compresión Fractal JPEG Compresión Wavelet Compresión de vídeo con pérdida Flash (también admite sprites JPEG) H.261 H.263 H.264/MPEG-4 AVC Motion JPEG MPEG-1 MPEG-2 41

43 MPEG-4 VC-1 (Version en la cual se basa el Formato WMV) Compresión de audio con pérdida AAC - usado, por ejemplo, por Apple Computer ADPCM ATRAC Dolby AC-3 MP2 MP3 WMA Códec VC-1 VC-1 es el nombre conocido para el códec de vídeo estándar SMPTE (Sociedad de Ingenieros Cinematografos y de la Television) 421M. El 3 de abril de 2006, SMPTE anunció la publicación del estándar VC-1 como SMPTE 421M. Entre sus aplicaciones encontramos HD DVD, Blue Ray, consolas como Xbox360 y el formato Windows Media Video entre otros. VC-1 es una evolución del diseño del códec de vídeo basado en la Transformada de Coseno Discreta que también podemos encontrar en H.261, H.263, MPEG-1, MPEG-2, y MPEG-4. Es ampliamente caracterizado como una alternativa los últimos códecs de vídeo estándar ITU-T y MPEG, conocido como H.264/MPEG-4 AVC. VC-1 contiene herramientas de codificación tanto para secuencias de vídeo entrelazadas como para codificación progresiva. El objetivo principal del desarrollo y estandarización de VC-1 es dar soporte a la compresión de contenido entrelazado sin tener que convertirlo primero a progresivo, haciéndolo más atractivo para profesionales de la industria de la difusión y el vídeo. VC1 es el códec que utilizaremos durante la implementación de este proyecto, para entender los procesos que lleva acabo para realizar una codificación, estudiaremos el funcionamiento del códec MP4 del cual está basado, pues debido a que VC1 se encuentra bajo licencia restringida su código fuente solo está abierto a los desarrolladores del mismo. 42

44 Codificación de Vídeo MPEG4 El formato de vídeo MPEG-4, desarrollado por el MPEG (Moving Picture Experts Group) y finalizado en Octubre de 1998 se convierte en estándar internacional (ISO/IEC 14496) en los primeros meses de MPEG-4 incorpora notables mejoras, una de ellas es que nos permite dividir las escenas en objetos, de forma que podamos tratar de distinta forma secciones de una secuencia (fondos estáticos, caras, voces, etc.). Así mismo también será posible insertar elementos sintéticos dentro de una escena real, lo que nos permitirá personalizar en tiempo real las imágenes resultantes. Para entender el proceso de codificación a continuación estudiaremos el algoritmo de codificación para escenas rectangulares, ya que es el que se encuentra implementado de forma generalizada actualmente y es, podríamos decir, el único que se utiliza de forma masiva. Elementos de una Secuencia de Datos Una de las principales diferencias entre el MPEG-4 y, y los formatos antecesores MPEG-1 y MPEG-2 es que éste permite representar las escenas como un conjunto de objetos audiovisuales. De ésta forma se pierde levemente el concepto de frame (una imagen dentro de una secuencia). Además tenemos la posibilidad de representar el audio, vídeo, texto, etc. como objetos independientes, tratándolos de forma distinta y, de esta forma, aplicar distintas técnicas de compresión a cada uno de ellos con la finalidad de obtener unos mejores resultados. Finalmente unimos y sincronizamos todos los objetos independientes para formar las escenas finales, pudiendo incluso insertar componentes sintéticos para alterar las imágenes en tiempo real. Esto último puede ser de utilidad para la publicidad de eventos retransmitidos a distintos países, ya que podríamos sustituir los carteles de los anunciantes según el país receptor mediante imágenes artificiales con la finalidad de personalizar la publicidad y obtener unos mayores beneficios. 43

45 La compresión de vídeo MPEG-4 explota las redundancias tanto espaciales como temporales que ocurren en las secuencias de vídeo. La redundancia espacial se elimina codificando cada frame por separado, como si de un algoritmo de compresión de imágenes se tratase; ésta técnica se conoce como codificación intraframe. Sin embargo la codificación que nos permitirá obtener las mayores tasas de compresión será la que se encargue de eliminar la redundancia temporal, producida por la gran similitud existente entre frames consecutivos a los cuales denominaremos codificación interframe. La codificación interframe se encargará de codificar las diferencias entre frames consecutivos, como si de un cuantificador incremental se tratara. Sin embargo, para escenas donde se produzcan grandes cambios, como puede ser un zoom o similares, esta técnica no funciona correctamente, por lo que MPEG-4 incorpora una técnica de compensación de movimiento que soluciona el problema. En el formato MPEG4 un objeto de vídeo puede ser un frame completo o sólo una parte del mismo, existen 3 tipos principales de planos de objeto de vídeo (en adelante VOP): 1. I-VOPs: Contienen imágenes con codificación intraframe, es decir, frames completos a los que no se les ha aplicado una codificación incremental. 2. P-VOPs: Se ha realizado una codificación predictiva sobre los mismos basándose en los VOPs previamente codificados. 3. B-VOPs: Se codifican de forma bidireccional, basándose en las diferencias con los VOPs tanto anteriores como posteriores. 44

46 Figura 3.1 Relación entre VOPs. 5 Como podemos ver en la Figura 3.1, la relación existente entre los tres tipos de VOPs es totalmente dependiente, lo que provocará unas grandes tasas de compresión. Los I-VOPs deberán aparecer regularmente en la secuencia de datos ya que son necesarios para la descodificación de los P-VOPs y los B-VOPs. Pero los VOPs son sólo los componentes más básicos de una secuencia de vídeo MPEG-4. En la figura 3.2 podemos ver la estructura lógica general de un flujo de datos completo. 5 Rob Koenen. Overview of the MPEG-4 Standard. Technical report, International Organisation for Standardisation,

47 Figura 3.2: Estructura lógica de una secuencia de datos MPEG-4. 6 De la figura 3.2 tenemos que: 1. Visual Object Sequence (VS): La escena MPEG-4, puede contener objetos 2- D y 3-D, así como elementos naturales y sintéticos. 2. Video Object (VO): Corresponde a un elemento en 2-D de la imagen, en el caso más simple puede ser un frame rectangular o un objeto formado arbitrariamente como el fondo de la secuencia. 3. Video Object Layer (VOL): Cada objeto puede ser codificado como escalable o no escalable, dependiendo de la aplicación. El VOL es el encargado de proporcionar soporte para codificación escalable, dependiendo del ancho de banda disponible, potencia de cálculo, etc. los parámetros pueden ser ajustados y proporcionados a posteriori en el descodificador. Dentro de esta capa podemos encontrar: 6 Rob Koenen. Overview of the MPEG-4 Standard. Technical report, International Organisation for Standardisation, March

48 a) Group of Video Object Planes (GOV): Nos permiten agrupar VOPs para tratarlos conjuntamente, este elemento es opcional. b) Video Object Plane (VOP): De los que ya hemos hablado anteriormente. Forman la capa más baja de elementos dentro de la estructura y son los que llevan realmente la información sobre la que trabajaremos. Todos los VOPs consisten en macrobloques. Cada macrobloque es una matriz de 16x16 pixels si nos encontramos en el espacio de la luminancia o de 8x8 pixels si en el espacio de la crominancia para el muestreo de color más simple. Algoritmo de Codificación de MPG4 Ahora que ya conocemos los objetos que forman parte de una secuencia de datos analizaremos el algoritmo de codificación del MPEG-4. Figura 3.3 Diagrama de bloques del proceso de codificación

49 El esquema básico de funcionamiento de MPEG4 es el que podemos ver en la Figura 3.3. Primero el codificador determina el tipo del VOP actual. Si es un I-VOP se le aplica la transformada discreta del coseno (ver Anexo 2) bi-dimensional a cada uno de los macro bloques en los que esté compuesto para pasar la información en el dominio espacial al dominio de la frecuencia.. Cuantificación de los Coeficientes de la DCT Posteriormente los coeficientes de la DCT se cuantifican. Ya que la mayor parte de la energía se acumula en los coeficientes de menor frecuencia espectral, podemos eliminar o utilizar menos niveles de cuantificación para los coeficientes de mayor orden. Esto no genera una pérdida excesiva de la calidad final, dado que las altas frecuencias son filtradas de forma natural por el sistema visual humano. El estándar MPEG-4 reconoce dos posibles algoritmos de cuantificación. El primero se deriva del estándar MPEG-2 y el segundo es deriva del ITU-T H.263. El proceso de cuantificación está controlado por los parámetros quantiser_scale(qp) y quant_precision. Cuantificación de Coeficientes Intra-DC Los coeficientes DCT de los macrobloques intracodificados (a los que se les ha aplicado la codificación intraframe) son cuantificados utilizando un cuantificador no lineal optimizado. Tabla 3.1: Relación entre el dc_scaler y el quantiser_scale. Contamos con un nuevo parámetro de especial importancia, el dc_scaler, que dependerá del valor de quantiser_scale según la Tabla

50 De esta forma y una vez obtenido el valor del dc_scaler la cuantificación y su inversa son realizadas según las formas expresadas por las Ecuaciones (a) y (b), respectivamente. (a) QF[0][0]=F[0][0] // dc_scaler (b) F[0][0]=QF[0][0] * dc_scaler Donde la operación // indica una división entera con redondeo al más cercano. Primer Método de Cuantificación: Cuantificación MPEG A pesar de ser un método derivado del estándar MPEG-2 se conoce comúnmente como cuantificación MPEG a secas. Éste método es muy parecido al del estándar de imagen JPEG, ya que se adapta a las propiedades del sistema visual humano (SVH). Para ello emplea las llamadas tablas de cuantificación, de forma que cada coeficiente recibe un tratamiento distinto según el índice espectral que lo representa Tabla 3.2: Tabla de cuantificación para macrobloques intracodificados Tabla 3.3: Tabla de cuantificación para macrobloques intercodificados. 49

51 Se utilizan tablas distintas según el tipo de codificación aplicada a los macrobloques, de forma que la tabla 3.2 se aplica a los que se han codificado mediante intracodificación y la tabla 3.3 a los que se han codificado mediante intercodificación. Aun así estas son las tablas predeterminadas, ya que el formato nos permite especificar nuestra propia tabla de cuantificación. Las tablas de cuantificación (W[v][u]) servirán para cuantificar los coeficientes AC1 según la expresión (donde, recordemos, Qp representa a la variable quantiser_scale.). (c) Dónde: (d) Para la operación inversa utilizamos las mismas tablas de cuantificación y la expresión relacionada es: (e) De donde: El operador / indica una división entera con truncamiento y debemos cumplir la misma condición de la ecuación (d) que antes. Segundo Método de Cuantificación: Cuantificación H.263 Este método, al contrario que el anterior, no utiliza tablas de cuantificación. Esta técnica es menos compleja y más sencilla de implementar, pero no consigue optimizar el cuantificador aprovechando la cuantificación adaptativa. 50

52 El proceso se realiza siguiendo la siguiente expresión: (f) Una vez obtenido QF[v][u] obtenemos QF[v][u] a partir del signo de F[v][u] según la forma: (g) La cuantificación inversa la vemos a continuación: (h) (i) 51

53 Predicción de Coeficientes para macrobloques intracodificados Para la mayoría de coeficientes AC y DC de bloques vecinos existen relaciones de dependencia. De esta forma la energía media de los coeficientes cuantificados puede reducirse, aún más, utilizando predicción con los bloques vecinos. Figura 3.4: Bloques candidatos para la predicción de coeficientes. 8 La predicción puede realizarse con los bloques que vemos en la Figura 3.4. La dirección de la predicción es adaptativa y es seleccionada basándonos en la comparación de los gradientes horizontales y verticales del DC de los bloques A, B y C. Hay dos tipos de predicción posibles: Predicción DC: La predicción se realiza para el coeficiente DC, escogiendo entre el DC de A o de C. Predicción AC: Los coeficientes de la primera columna y la primera fila del bloque actual se predicen con los coeficientes situados en la misma posición de los bloques candidatos (A y C). 8 Descripción del nuevo estándar de video h.264. UNAM. MÉXICO

54 Si alguno de los bloques (A, B o C) se encuentra fuera del VOP correspondiente al bloque actual se asume que los coeficientes DC de los mismos toman el valor 2 bits por pixel+2. Codificación Entrópica Después de la predicción AC/DC se aplica una codificación entrópica sobre los coeficientes de la DCT, usando una tabla de código variable. Pero antes, debemos transformar la matriz PQF[v][u] (resultado de realizar la predicción sobre la matriz cuantificada) en un vector unidimensional QFS[n]que será sobre el que reduciremos la entropía Tabla 3.4 Codificación entrópica, tabla de recorrido en Zig-Zag. Hay tres formas de realizar esta transformación previa: 1. Recorrido en Zig-Zag: Al estilo del codificador JPEG la matriz es recorrida en Zig-Zag y los coeficientes sobre los que vamos pasando van añadiéndose al vector QFS[n](Tabla 3.4). 2. Recorrido Horizontal: Los coeficientes son recorridos horizontalmente y añadiéndose a QFS[n]de la misma forma que en el caso anterior (Tabla 3.5). 3. Recorrido Vertical: Igual que en el recorrido horizontal, salvo que el movimiento se realiza verticalmente (Tabla 3.6). 53

55 Tabla 3.5 Codificación entrópica, tabla de recorrido horizontal Tabla 3.6 Codificación entrópica, tabla de recorrido vertical. La finalidad de esta operación es que los coeficientes de mayor valor espectral se sitúen en las primeras posiciones del vector, mientras que los coeficientes con valor 0 se colocarán en las últimas, permitiendo una mayor reducción de la entropía. La elección de una u otra tabla se rige de la siguiente forma: Si no se ha utilizado la predicción AC/DC para un bloque intracodificado se utiliza la tabla en Zig-Zag. Si se ha utilizado predicción AC/DC la dirección de predicción del coeficiente DC será la que seleccione la tabla. Si el coeficiente DC que se tomó correspondía con el bloque superior al de referencia se utilizará la tabla de recorrido horizontal. Si, por el contrario, el bloque del que se tomó el coeficiente DC era el de la izquierda se tomará la tabla de recorrido vertical. 54

56 Si el bloque es un bloque intercodificado se aplicará la tabla en Zig-Zag. Una vez tenemos el vector QFS[n] listo y ordenado se aplica sobre éste un código RLE(Run Lenght Encoding). Éste viene a ser una solución elegante y óptima para eliminar la redundancia dentro del vector, dado que constará de un número significativo de ceros en las últimas posiciones del mismo. Herramientas para la Compensación del Movimiento Justo antes de aplicar el código de longitud variable se aplican las operaciones inversas a la cuantificación y a la DCT descritas anteriormente. El resultado es almacenado con la finalidad de ser utilizado para la compensación y estimación de movimiento (Motion Compensation y Motion Estimation) en el proceso de predicción. En caso de ser un P-VOP, el reconocido por el codificador, se realiza una compensación de movimiento sobre cada macrobloque. La diferencia espacial encontrada entre el P-VOP y el VOP de referencia es almacenada en un vector de movimiento, sobre el que se efectuará la DCT y la cuantificación (dividiéndolo, nuevamente, en macrobloques). Nuevamente se vuelve a regenerar el P-VOP aplicando las funciones inversas y se almacena para que sirva de VOP de referencia para otros posibles P-VOPs o B-VOPs. El proceso para los B-VOPs es muy similar al de los P-VOPs, salvo que la compensación de movimiento se realiza de forma bidireccional y no es almacenado, ya que no se utilizan como VOPs de referencia. Antes de pasar a enumerar los algoritmos básicos del proceso de compensación de movimiento veremos cómo puede representarse la información de movimiento. Existen dos modos básicos definidos a niveles de macrobloque. Modo 1MV: Un vector de movimiento (MV) es transmitido para el macrobloque completo. 55

57 Modo 4MV: El macrobloque es dividido en 4 bloques de 8x8 y un MV es transmitidopara cada uno de ellos. La compensación de movimiento cuenta con 3 algoritmos básicos: Compensación de movimiento Quarter-pel: Utiliza vectores de movimiento con una resolución incrementada a un cuarto de pixel, en contra de las resoluciones de medio pixel y pixel completo que son utilizadas en H.261, H.263, MPEG-1 y MPEG-2. Esto supone una mejora en el proceso de predicción y una disminución del error asociado. Compensación de movimiento global: Se cuenta con una información de movimiento unificada para cada VOP. Esta técnica es de especial interés en movimientos rápidos de cámara y efectos como el zoom, donde cada parte de la imagen recibe una traslación espacial idéntica. Modo directo en la predicción bidireccional: Es una mejora de la predicción de compensación de movimiento bidireccional utilizada para codificar los B-VOPs a partir de los P-VOPs adyacentes. Es una generalización de la técnica introducida por H.263. Figura 3.5 Estructura de predicción temporal. 9 9 Rob Koenen. Overview of the MPEG-4 Standard. Technical report, International Organization for Standardizations, March

58 Tal y como vemos en la Figura 3.5 los I-VOP no tienen ninguna dependencia con ningún otro VOP. Los P-VOP tienen dependencias con el I-VOP o P-VOP inmediatamente anterior, en el caso que su información haya sido transmitida y, por tanto, vop_coded=1. Por último los B-VOP tienen dependencia bidireccional con los I-VOP o P-VOP inmediatamente anterior y posterior. Es importante comprender que la Figura 3.5 representa el orden de visualización y no el de transmisión. Como los B-VOP tienen dependencias con respecto a VOPs que deberán ser visualizados en un futuro éstos son transmitidos antes que el B- VOP correspondiente. Para el ejemplo el orden de transmisión sería: I0, P1, P3, B2, P5, B4, P7, B6, de ésta forma todas las dependencias serían resueltas. Sin embargo no hay información sobre los VOPs B5 y P5 en el momento actual (no han sido transmitidos), lo que supone que B6 tenga que recurrir a la información contenida en P3, al igual que P7.El que no haya información sobre B2 no es relevante, dado que ningún VOP depende de un B-VOP. Compensación de Movimiento Quarter-Pel Los vectores de movimiento (MV) utilizados para la compensación de movimiento deben ser transmitidos al descodificador. De esta forma, la resolución queda limitada a un número finito. Como el movimiento real entre dos imágenes sucesivas de un secuencia no queda definido correctamente por un pixel (lo que supone un error considerable en la predicción) el MPEG-4 utiliza un cuarto del mismo. De esta forma, aumentando la resolución, se consiguen mejoras en la predicción y un error menos significativo. 57

59 Figura 3.6: Interpolación de las muestras para una resolución de medio pixel utilizando interpolación bilineal. 10 Como vemos en la Figura 3.6 los vectores de movimiento con resolución de medio pixel pueden colocarse de varias formas, provocando comportamiento distintos por parte del predictor de compensación de movimiento. Para el caso de la posición a, las dos componentes del vector de movimiento son de pixel completo por lo que no se realiza interpolación. Para las posiciones b y c sólo una de las componentes tiene resolución de medio pixel, por lo que el valor de la muestra es calculado por interpolación bilineal de las muestras vecinas. Por tanto, b =(A+B+1)/2 y c =(A+C+1)/2. Para la posición d, que tiene las dos componentes con resolución de medio pixel la interpolación resultaría de: d =(A+B+C+D+2)/4. Para una resolución de un cuarto de pixel no podemos seguir el mismo método. Un incremento de la resolución no implicaría una reducción del error significativa, mientras que el bitrate para la estimación de movimiento debería aumentarse, con la consecuente pérdida de compresión. Es por ello que el MPEG-4 implementa el algoritmo en dos fases: 1. En la primera de ellas las muestras de resolución de medio pixel son calculadas utilizando una interpolación mejorada. Ahora no tendremos en cuenta sólo a 2 ó 4 de las muestras vecinas, sino que utilizaremos 8 muestras en cada dirección. Para la interpolación se utilizará un filtro de respuesta de impulso finita (FIR), cuyos valores se encuentran especificados en el MPEG-4 Visual Standard y son los siguientes: 10 Introduction to videocompression 58

60 Figura 3.7 Interpolación de las muestras para una resolución de medio pixel utilizando interpolación mejorada. 11 Para realizar el cálculo de la posición vertical el procedimiento sería idéntico, salvo porque las muestras de referencia serían las ubicadas verticalmente. Si nos encontramos en la situación en que las dos componentes del MV son de medio pixel se aplicaría primero el filtrado horizontal y luego el vertical. En el segundo paso del algoritmo los valores para los cuartos de pixel son calculados a partir de los valores de medio pixel hallados utilizando la interpolación FIR. En esta ocasión el método a utilizar sí es la interpolación bilineal que vimos anteriormente. Compensación de Movimiento Global Esta técnica no se suele aplicar sobre un VOP al completo, ya que suele generar errores de predicción significativos en algunas áreas. Por tanto, aunque la información de movimiento viene incluida en el VOP y es única, ésta se suele aplicar sobre los macrobloques del mismo de forma individual. Como decíamos, la información de movimiento se encuentra incluida en la cabecera del VOP, pero el codificador deberá decidir si, para cada macrobloque, utilizará la compensación de movimiento global (GMC) o local. Por tanto, cada macrobloque también incluirá información sobre el tipo de compensación con la que fue codificado. La información de la que hablamos incluye hasta 4 vectores de movimiento para el VOP, así como sus posiciones referencia. Estos 4 vectores 11 Introduction to videocompression 59

61 serán utilizados para la compensación de movimiento de los macrobloques. Para cada pixel de éstos se calcula un vector de referencia basándonos en los vectores de referencia del VOP y su posición de referencia (se realiza una especie de interpolación para cada posición del macrobloque). La resolución de esos MV queda especificada por el codificador y guardada como información para la posterior descodificación. En caso de tener una resolución subpixel los valores de las muestras serán calculados mediante interpolación bilineal. Figura 3.8 Interpolación de las muestras para una resolución de subpixel en GMC. 12 Si tomamos como ejemplo la Figura 3.8 donde Y00, Y01, Y10 y Y11 son los valores de las muestras del VOP de referencia el valor de predicción Y resulta de: Modo Directo en la Predicción Bidireccional Para la compensación de movimiento bidireccional se reconocen 4 modos distintos de predicción: 1. Forward Mode: Sólo se tiene en cuenta la referencia anterior. Sólo se transmite un MV. 2. Backward Mode: Sólo se tiene en cuenta la referencia posterior. Igualmente sólo se transmite un MV. 12 Introduction to videocompression 60

62 3. Interpolative Mode: Se tienen en cuenta las dos referencias y se transmiten dos MV. La predicción resultante se obtiene de la interpolación de los valores de referencia. 4. Direct Mode: Como en el caso anterior se tienen en cuenta las dos referencias, sin embargo los vectores de movimiento se obtienen a partir de los MV del macrobloque de la referencia posterior (o de referencia hacia atrás). Sólo se transmite el delta vector (la corrección). Los tres primeros modos se utilizan en el estándar MPEG-2, mientras que el último se ha creado especialmente para el MPEG-4. La idea básica de este método es la de explotar el conocimiento de los vectores de movimiento entre los VOP de referencia anterior y posterior al VOP actual. Figura 3.9 Los vectores MVFy MVP se derivan del MV de la referencia hacia atrás con respecto a la referencia hacia delante. 13 Tal y como vemos en la Figura 3.9 para hallar los MVs del VOP actual se utiliza el MV de la referencia posterior con respecto a la referencia anterior. Para ello este último es escalado, dependiendo de la posición en el tiempo del B-VOP en cuestión entre los dos VOPs de referencia. A continuación un término de corrección denominado delta es añadido al resultado. Éste será precisamente el término que se transmitirá junto al macrobloque del B-VOP para la etapa de descodificación. 13 Rob Koenen. Overview of the MPEG-4 Standard. Technical report, International Organisation for Standardisation, March

63 Los factores de escala se calculan de la siguiente forma: MVF se refiere al vector de movimiento de referencia hacia delante (es decir, con el macrobloque de referencia anterior) y MVB al vector de movimiento de referencia hacia atrás (con el macrobloque de referencia posterior). En el caso de que los macrobloques se hallan codificado en el modo de 4MVs por bloque se realizará esta operación 4 veces, una para cada bloque de 8x8 y para su respectivo MV. Es más, este es el único método que permite realizar estimación de movimiento bidireccional sobre macrobloques codificados en modo de 4MVs. Finalmente, indicar que esta técnica puede provocar errores en la predicción. En el caso de no existir el macrobloque de referencia del I-VOP o P- VOP de referencia hacia atrás el macrobloque actual del B-VOP realiza la corrección con vectores de movimiento nulos, al no esperar a la descodificación del próximo VOP que le sirva de referencia. 62

64 Resistencia a Fallos La compresión de la información implica la eliminación de redundancia, haciendo más difícil la reconstrucción de la información en caso de error. A pesar de que MPEG4 se trata de un algoritmo menos sensible a errores que el MPEG-2, hay otras características que le obligan a utilizar sistemas complejos para la detección de los mismos. Este algoritmo utiliza un código de longitud variable, por lo que un fallo en la transmisión puede suponer que el descodificador determine incorrectamente la longitud de una palabra del código y se pierda la sincronización entre éste y el flujo de datos. Además la codificación predictiva de los VOPs permite propagar un error en la transmisión hasta la llegada de un VOP completo (I-VOP). Un caso real donde podemos ver los inconvenientes de este método de codificación son las retransmisiones de eventos deportivos, como podría ser la fórmula 1. Las cámaras que se encuentran dentro de los autos transmiten los datos a los servidores centrales utilizando algoritmos de codificación predictiva, consiguiendo ahorrar ancho de banda en la comunicación. Sin embargo, según las condiciones atmosféricas, (ya que las transmisiones se realizan por ondas electromagnéticas utilizando tecnología Wireless) se dan situaciones donde la imagen se distorsiona durante varios segundos, aunque realmente el error no se ha repetido durante todo el intervalo de tiempo, sino que se ha propagado debido a la codificación incremental de los frames. Es por ésto que el MPEG-4 permite especificar la frecuencia de I-VOPs dentro una trama de datos, cuantos más tengamos mayor ancho de banda necesitaremos para transmitir, ya que la cantidad de datos será mayor. Si por el contrario optamos por número de I-VOPs muy bajo obtendremos un mayor tasa de compresión, pero en caso de obtener un error en la transmisión éste se propagará durante más tiempo. Una de las herramientas que utiliza el MPEG-4 para aumentar la resistencia a fallos es un bloque de detección de error situado en el descodificador que es capaz de detectar datos no válidos, fuera de rango o un exceso de los mismos. Para intentar solucionar el problema que supone utilizar un código de longitud variable se utiliza un sistema de código reversible. De esta forma si se detecta un error en un bit se puede seguir descodificando en dirección inversa. 63

65 CAPÍTULO 4 Montaje del servidor de Video 64

66 INTRODUCCION Recordemos que nuestro objetivo es el montaje de una estación de Tv en línea, esta transmisión será preestablecida y con capacidad de emitir eventos en vivo, además de contar con una biblioteca multimedia. En la actualidad existen diversas soluciones capaces de proporcionarnos las herramientas necesarias para la puesta en marcha de nuestro servidor de video. Cada una de ellas representa diversas ventajas e inconvenientes, sin embargo para nuestro objetivo no existe un paquete individual que cubra todos nuestros requerimientos por lo que se probaron diversas soluciones y se integraron, eligiendo aquellas que tuvieron mayor compatibilidad entre sí, su administración sea practica y fueran flexibles con la escalabilidad de la solución. REQUERIMIENTOS Software: Un sitio web a través del cual se presentaran los contenidos y la programación de los mismos al público. Desarrollar un webplayer o reproductor en línea para las emisiones en vivo o programadas. Servidor web donde estará alojada nuestra página. Servidor de archivos bajo demanda donde se almacenaran los medios (videos, audios) que estarán disponibles como parte de la biblioteca multimedia que podrán ser visualizados bajo demanda (VOD). Programa codificador para emisiones en vivo y archivos de la biblioteca multimedia. Hardware: Computadora con la capacidad de funcionar como servidor 65

67 Computadoras clientes para visualizar las emisiones multimedia generadas. Conexión de banda ancha capaz de transmitir los contenidos multimedia con una calidad aceptable. IP fija y registro de nombre de dominio. Cámara de video capaz de ser acoplada a una computadora para emisiones en vivo. En caso de implementación con tecnología multicast, router con soporte para esta tecnología, además de la asignación de una dirección de clase D multicast. Origen de medios Cámara Digital Codifica la emisión en vivo Colección de archivos de video que se emitirán en la programación de cada canal. Colección de archivos de video/audio de la biblioteca multimedia (Accesibles en video/audio bajo demanda) Servidor web que hospedará página en internet Codificación de archivos de video Servidor de Audio/Video Streaming y Bajo demanda Página web que proporcionara acceso a los canales en línea y biblioteca de videos Acceso a contenido multimedia a través del reproductor propio del espectador. Reproductor Web para visualizar contenido de los canales. Figura 4.1 Diagrama de flujo del funcionamiento del proyecto. 66

68 ELECCIÓN DEL TIPO DE DIFUSION El proyecto propuesto consiste en la generación de una estación de televisión en línea cuyos contenidos estén enfocados a la comunidad académica de Esime Zacatenco, como se estudió en el capítulo 1 el streaming de video podremos realizarlo a través de una difusión unicast o multicast. Al tratarse nuestro proyecto de emisiones estilo televisión convencional y de tener una audiencia objetivo bastante amplia, la selección más adecuada corresponde a una emisión de tipo multicast, que como recordaremos consiste en un flujo de video único el cual será replicado por el router y emitido directamente a una IP de clase D. Sin embargo conseguir la adjudicación de una Ip para multicast incluso para instituciones educativas resulta bastante enredado ya que esta solicitud debe realizarse a la LACNIC (Registro de dirección IP de la Región Latinoamericana y del Caribe) o en su defecto directamente a la Autoridad de números asignados a Internet (IANA) quienes son los encargados a nivel mundial de asignación de Ip s, es decir en la práctica no resulta fácil la emisión tipo multicast debido a las políticas restrictivas de asignación de ip s. Por otro lado el realizar la transmisión tipo Unicast requiere un flujo independiente para cada usuario lo que se traduce en un ancho de banda Upload requerido bastante amplio implicando un aumento de costo de la solución. Resumiendo tenemos que lo ideal para nuestro proyecto es la emisión multicast, pero debido a la necesidad de una Ip clase D se planteara la solución como una emisión unicast, a pesar de ello la implementación para multicast seria básicamente igual solo requeriríamos adicionalmente a la asignación de Ip multicast un router con capacidades de manejo de flujos multicast. 67

69 CONSIDERACIONES Cuando planteamos realizar una transmisión de video streaming es importante tener en cuenta los siguientes factores: el ancho de banda disponible de la audiencia, las capacidades de la red o conexión de Internet (ancho de banda del servidor de transmisión), y los requisitos de transmisión del contenido (calidad del streaming) Imagen 4.2 Elementos de una implementación de video streaming Empezaremos con el factor de mayor importancia, es decir la audiencia. La capacidad de ancho de banda con que nuestra audiencia cuenta es un factor importante a considerar a la hora de determinar el tipo y la calidad del contenido que se ofrece, además es importante también conocer la cantidad de audiencia que tendrá nuestra emisión. La evaluación de la capacidad de la red es el segundo factor. Una red local (LAN) puede transferir una cantidad limitada de datos en un momento dado. Cada conexión individual a la red usa una parte de esta capacidad. A medida que la 68

70 cantidad total de datos transferidos se acerca al límite de la red, las conexiones de datos individuales comienzan a ralentizarse. Es por ello que es importante asegurarse de que la capacidad de la red esté por encima de las necesidades del ancho de banda del contenido. El contenido es el factor más flexible y diverso pues si requerimos mejor calidad del contenido esto provoca un aumento en el ancho de banda necesario para la transmisión y recepción. El uso de métodos para mejorar la calidad, como por ejemplo la codificación de múltiples velocidades (MBR) o la codificación de velocidad variable (VBR), puede crear grandes diferencias en el ancho de banda necesario. Antes de que se pueda transferir a la audiencia, el contenido pregrabado(contenido bajo demanda) y en directo pasa por un proceso de codificación. La selección del Codec para realizar la codificación es de vital importancia pues esto influye directamente en la cantidad de audiencia que podemos alcanzar (disponibilidad del códec en equipos de la audiencia), así como en el impacto del uso del ancho de banda pues como se mencionó en el capítulo anterior algunos codecs son más eficientes en la compresión de video y manejo de calidad. Transmisión de streaming Para que nuestra transmisión pueda realizar una entrega del flujo de streaming de forma constante, la velocidad de bits del contenido debe ser inferior al ancho de banda de la red. Si la velocidad de bits es mayor que el ancho de banda disponible para su transmisión, el reproductor del cliente o audiencia intentará bajar la resolución de la secuencia para poder procesarla correctamente mediante un proceso denominado transmisión de baja resolución. Si los requisitos de velocidad de bits superan considerablemente el ancho de banda disponible, la reproducción de vídeo puede detenerse por completo y sólo se reproducirá en el reproductor del cliente el audio. 69

71 Respecto a un ancho de banda de cliente inadecuado puede minimizarse si se transmite contenido de múltiples velocidades de bits (MBR). El contenido MBR permite que el reproductor solicite una secuencia de velocidad de bits inferior al servidor para que no sea necesaria la transmisión de baja resolución. Planeación de la Capacidad La capacidad de la solución depende principalmente de dos factores; capacidad del servidor y la capacidad de red. Para hacer un cálculo del ancho de banda del servidor necesario podremos utilizar la siguiente fórmula: Ancho de banda del servidor = Velocidad en bits del contenido (Bitrate) número estimado de clientes A medida que aumenta el tamaño y la resolución de pantalla del contenido, también aumenta la demanda en el servidor. Entonces es aquí donde debemos plantearnos la cantidad de audiencia que esperamos y si se usarán varias velocidades de conexión para obtener acceso al contenido (MVB). Para determinar un cálculo aproximado del requisito de ancho de banda para cada usuario, divida el tamaño del archivo entre el tiempo de reproducción en segundos. Por ejemplo, un archivo multimedia digital de 2 megabytes (MB) representa unos bits. Si el contenido es de unos 90 segundos de duración, la velocidad de bits media es de 180 kilobits por segundo (Kbps). La mayoría de los módems de acceso telefónico no pueden transferir información a una velocidad mayor de 56 Kbps, lo que significa que un cliente que obtiene acceso a la transmisión a través de una línea telefónica tendrá que esperar a que el reproductor almacene el archivo en el búfer antes de empezar a reproducirlo o sólo recibirá vídeo y audio de manera intermitente. 70

72 Aunque no espere que todos los usuarios soliciten contenido al mismo tiempo, es importante permitir un uso máximo. También debe tener en cuenta las velocidades de conexión de los usuarios porque es posible que difieran considerablemente. Para calcular el volumen de público, determine el mayor número de usuarios simultáneos durante una emisión. Por ejemplo, una compañía tiene previsto ofrecer aprendizaje en línea a todos sus empleados de la red de área local (LAN). El rendimiento de aprendizaje pasado indica que un máximo de un cinco por ciento de los empleados puede obtener acceso al aprendizaje al mismo tiempo. Por tanto, la red debe ser capaz de entregar de modo confiable el contenido a 500 usuarios simultáneos, si se planea emitir contenido de cursos en línea a una velocidad de 300 Kbps a 500 usuarios simultáneos, el sistema de servidor y la red deben tener capacidad para transmitir 150 megabits por segundo. Cálculo de la capacidad hardware necesaria del servidor El requisito de ancho de banda calculado y el volumen de audiencia calculado le permiten averiguar qué capacidad deben tener la red y el sistema de servidor para satisfacer la demanda. Para calcular la capacidad hardware total de servidor requerida, se debe multiplicar la velocidad en bits por usuario requerida por el volumen de audiencia calculado. La capacidad real de un servidor dado depende del equipo. Por regla general, un equipo con un solo procesador de 1Ghz, con 1Gb de RAM ejecutando Windows Media Server tiene capacidad para un máximo de 2000 secuencias de unidifusión a 512 Kbps. Basándonos en las características mencionadas anteriormente, la tabla siguiente se demuestra la necesidad de una capacidad de servidor adicional cuando aumentan el número de usuarios y la velocidad de transmisión del contenido. 71

73 Velocidad de transmisión de la secuencia (Kbps) Tipo de conexión de red Número de usuarios simultáneos por servidor 100 DSL/cable/LAN DSL/cable/LAN DSL/cable/LAN Fibra o./cable/lan 2000 Tabla 4.1 Capacidad hardware del servidor en relación con la tasa de transferencia de emisión. SELECCIÓN DE LA SOLUCION Para la puesta en marcha de la solución, se analizaron alternativas libres y otras que requieren el pago de una licencia, bajo el entorno Linux dentro del cual encontramos distribuciones gratuitas de este como Linux Ubuntu server, se encontraron programas estables para funcionar como servidor web como Samba, sin embargo en el caso de programadas enfocados en la emisión de video, encontramos pocos y los que se encuentran disponibles suelen tener errores en la emisión ya que están en versiones beta de desarrollo, a continuación se listan algunas de estas alternativas encontradas: FFMPEG Servidor de video desde línea de comando. VLC Interface gráfica y desde línea de comando. Red five Servidor flash versión libre. Drawin Streaming server Bajo modo de virtualización de macos server Helix server de real networks 72

74 Otro punto en contra es la cantidad de conocimientos requeridos para el manejo de Linux, ya que en su modalidad server este requiere una ejecución total desde una línea de comando, por lo que tareas como la modificación o actualización del contenido de la página web así como la programación de las emisiones y su codificación y configuración de parámetros, hace imposible la delegación de estas tareas a encargados que no cuenten con un nivel avanzado en cada uno de los módulos de la solución. Bajo el entorno Windows se encontró dos alternativas para desarrollar la solución; la primera a partir de una edición de Windows para equipos de escritorio(windows xp, vista o 7) y en esta instalar aplicaciones individuales para funcionar como servidor web como lo es apache( una más que genere la emisión de video como Microsoft expresión o la alternativa gratuita VLC( o hacerlo bajo una edición especializada como lo es Windows server(2003, 2008 y 2008 R2), los cuales a través de un módulo denominado Media Streaming Services nos proporcionan la capacidad de emitir video streaming y video bajo demanda a través del protocolo rtsp, además de tener incluido las capacidades de servidor web con el Rol IIS. INTEGRACION DE LA SOLUCION Microsoft Windows Server 2008 R2 es la plataforma elegida ya cuenta con las herramientas necesarias para el montaje del servidor web (IIS) y Windows Media Streaming Servicies para la puesta en marcha del video bajo demanda y el streaming y facilidad de gestionar la programación a emitir en los canales, todo esto con el soporte técnico de una empresa líder en el ramo y ser una de las soluciones mayormente implementadas para dichos procesos. Los servicios componentes de Windows Media, son un conjunto de servicios que se ejecutan en Microsoft Windows Server Estos servicios transmiten a los clientes contenidos de audio y video mediante unidifusiones y multidifusiones. Los 73

75 servicios componentes son: Monitor, Programa, Emisoras y Unidifusión de Windows Media. Figura 4.3 Diagrama de Streaming Windows media Services. También se hará conjuntamente uso de la suite Microsoft expresión ya que contiene los programas necesarios para la elaboración de la pagina web (web expresión), con la herramienta expresión blend se genero el reproductor multimedia a través de cual se entregaran el contenido de las emisiones en vivo y de los canales el cual esta formulado bajo tecnología Silverlight demás de proporcionar el entorno para la codificación y emisión del video en vivo y canales de tv con la herramienta Expresion encoder. La instalación del sistema operativo en el equipo que fungirá como servidor, deberá cumplir los siguientes requerimientos: Procesador: Mínimo: 1 GHz (procesador x86) o 1.4 GHz (procesador x64) Memoria Ram: Mínimo: 512 MB RAM, Máximo (sistemas de 32 bits): 4 GB (Standard) o 64 GB (Enterprise y Datacenter). Máximo (sistemas de 64 bits): 8 GB (Foundation) o 32 GB (Standard) o 2 TB (sistemas basados en Enterprise, Datacenter e Itanium) Requisitos de espacio en disco: Mínimo (sistemas de 32 bits): 20 GB o más, Mínimo (sistemas de 64 bits): 32 GB o más. Monitor Super VGA ( ) o monitor de mayor resolución Teclado y mouse de Microsoft o dispositivo compatible 74

76 El Sistema Operativo Windows Server 2008, podremos descargarlo de el cual nos permite una evaluación del mismo por hasta 180 días, o adquirirlo directamente con un proveedor. La versión seleccionada para montar a solución consistió en Windows Server 2008 R2 enterprise (64 bits), a continuación se muestra las características del equipo servidor. Figura 4.4 Características del equipo utilizado para servidor de video. Es importante que una vez instalado el Servidor debemos instalar adecuadamente controladores de video y en especial de sonido, pues haremos uso de ellos. 75

77 CONFIGURACION DEL FIREWALL El firewall es un dispositivo (hardware o software) que está diseñado para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. El desarrollo de nuestra solución requiere que este módulo el cual esta comúnmente presente en el Modem Router que nos da acceso a internet (hardware) sea configurado para permitir tráfico de entrada y salida a Internet ya que por default este viene configurado para restringir todo tipo de tráfico. Configuraremos el firewall para que proporcione acceso a puertos específicos que corresponden a tráfico de solicitudes de equipos cliente para requerir el envió de páginas web, así como peticiones de conexión para nuestro servidor de video. Los puertos que requerimos serán abiertos son los siguientes: Puerto 80. Acceso a servidor web Puerto 554 y 555. Acceso a servidor video (Windows Media Streaming Services bajo RTSP y HTTP respectivamente) Puerto Administración remota del servidor a través de escritorio remoto. 76

78 Figura 4.5 Diagrama Firewall. La configuración del firewall se realiza a través de la página de administración del modem router, en nuestro caso un 2Wire Home Portal 2700, para acceder a la misma lo hacemos a través de la dirección del Gateway de nuestra red la cual comúnmente es Cabe mencionar que Windows server cuenta también con un firewall (software) sin embargo la configuración del mismo es de forma automática. 77

79 CONFIGURACION DEL SERVIDOR WEB (IIS) Para instalar el modulo (rol) correspondiente a Servidor Web, abriremos el Administrador de servidor Figura 4.6 Icono de Administrador de Servidor. A continuacion del panel izquierdo seleccionamos la opcion Roles y a continuacion del lado derecho daremos click a Agregar Roles. Figura 4.7 Administrador de Servidor. Nos mostrara una página de bienvenida, daremos click en siguiente, a continuación se muestra un listado con los roles que podemos instalar, seleccionaremos el rol Servidor web (IIS) y a continuación el botón siguiente. 78

80 Figura 4.8 Asistente para agregar rol, selección de rol. En la siguiente ventana nos da una introducción al rol IIS, que nos menciona un poco respecto a su funcionalidad, en esta nueva página dar click al botón siguiente, a continuación nos aparecerá una ventana donde nos pedirá seleccionar los servicios de rol, no es necesario hacer alguna modificación pues la configuración sugerida es ideal para los requerimientos de nuestra pagina web, por lo que simplemente damos click al botón siguiente. Figura 4.9 Selección de servicios de rol. 79

81 Nos aparecerá un sumario que para confirmar las opciones de instalación al que le daremos click en el botón Instalar. Después de esto el asistente instalara los servicios requeridos y al finalizar nos mostrara una pantalla con los resultados de la instalación que nos confirmara si la misma fue llevada con éxito, por ultimo daremos click al botón cerrar. Con esto tenemos el rol de servidor web instalado, es recomendable hacer un reinicio antes de proceder con la configuración del mismo. Ahora ya está el servicio de Servidor web, por default ya viene configurado para escuchar peticiones a través del puerto 80, que es el que cualquier navegador trae por default por lo que no se requiere cambiar este parámetro. Para agregar el sitio web que queremos publicar abriremos el Administrador de servidor, seleccionamos roles, a continuación servidor web y por ultimo administrador de internet Information. Figura 4.10 Administración de Internet Information Services (IIS). La máquina que en nuestro caso se designó como servidor tiene por nombre FALCONST, daremos click allí para desplegar las opciones que derivan de él, las cuales son grupo de aplicaciones y sitios, observaremos que aparece un sitio por default Default web Site este sitio se instala automáticamente al añadir el rol al servidor, si tenemos configurado nuestro router para que el puerto 80 este sin restricción del firewall, deberíamos ser capaces de poder visualizar la página siguiente, con solo ingresar en el navegador web la dirección Ip de nuestro modem 80

82 de internet, en este ejemplo esa dirección es la cual deberá ser como sigue. Figura 4.11 Pagina web de prueba de (IIS). Si el router no estubiera configurado en su modulo de firewall en el puerto 80 no deberia poder visualizarse la pagina anterior, por lo que tendriamos que configurar el router en la seccion de firewall para liberar ese puerto y redirigirlo a nuestro equipo servidor, en nuestro caso (FALCONST). El siguiente paso es sustituir la pagina web que trae por default nuestro servidor por la nuestra, para ello en el administrador del sevidor,en el rol Servidor Web (IIS) y administrador de internet information, dentro del administrador de Internet Information services seleccionamos el equipo FALCONST en nuestro caso y damos click a la opcion sitios, alli aparecera Default web site y lo seleccionaremos, una vez hecho esto en el panel de la izquierda se verá la opcion Configuracion basica a la cual le damos click y saldra una pequeña ventana Modificar Sitio alli se indica la Ruta de acceso Fisica, por lo cual tenemos dos opciones aquí; 1. Dentro de esa ruta Pegar el contenido de nuestra pagina web sustituyendo la pagina default (por ejemplo: C:\inetpub\wwwroot). 2. Especificar una nueva ruta dentro de nuestro equipo donde esta ubicada nuestra pagina web. 81

83 Figura 4.12 Configuración básica de Servidor web(iis). En nuestro caso especificamos una nueva ruta (D:\FALserver\WEB) que es donde esta almacenada la pagina web que se creo para nuestro sitio, ahora solo resta establecer el documento predetermindado es decir la prmera pagina web que se entregara cuando un cliente visite nuestro sitio,a menos que nuetra pagina web tenga la pagina por default con extencion para ello dentro de Administrador de Internet Information Services, abrimos la opcion Documento predeterminado y con el panel de la izquierda agregamos el nombre y la extension de la pagina principal del sitio web que se ha elabrorado, por ejemplo default.htm o ejemplo.htm. CONFIGURACION DE DNS El servicio de Denominacion de Nombres o DNS nos ayuda a identificar la direccion de un sitio web a traves de un nombre personalizado en vez de hacerlo a traves de su IP, es decir es mas facil recordar que la ip donde esta alojada la pagina (Pej ). En otras palabras podemos decir que el servicio DNS se trata de un registro que traduce las direcciones en formato de texto a formato numerico de IP. 82

84 Figura 4.13 Funcionamiento del servicio DNS. En el caso de montar un servidor propio es recomendable contratar una IP fija, para poder registrar esta IP bajo un nombre de dominio, el costo de registro de dominio es aproximadamente 15 dolares por año según datos de En caso de no contar con una IP fija es posible hacer uso del servicio DNS a traves de un agente(programa) instalado en el servidor que actualice los cambios de la IP dinamica. La coneccion a internet de nuestro servidor cuenta con una ip dinamica por lo que esta cambia cada vez que se enciende el router. Es por ello que haremos uso del servicio de Dyndns, se trata de un sitio que proporciona de forma gratuita el registro de un subdominio el cual podremos direccionar a nuestro sitio ya sea de forma manual, o a traves de un agente el cual verifica constantemente la ip del servidor y la envia a dyndns para que nuestro sitio siempre este direccionado correctamente y siempre disponible. Para poder obtener una cuenta en dyndns podemos hacerlo a traves de la siguiente pagina: posteriormente la descarga del agente que actualiza la ip de forma automatica lo se puede descargar a atraves de el siguiente link: una vez instalado introducimos los datos con los que nos registramos. 83

85 Para la solucion se eligio el siguiente nombre de dominio: burrostv.dyndns.tv CONFIGURACION DEL SERVIDOR STREAMING Antes de proceder a la instalación de los servicios de streaming, es necesario agregar una característica adicional al servidor, se trata de Experiencia de escritorio con la cual se instalara el reproductor de Windows media el cual nos servirá para hacer pruebas y monitoreo del servicio de streaming, así como para visualizar videos de nuestra programación. Para instalar esta característica abrimos el Administrador del Servidor, del panel izquierdo seleccionamos características y por último, agregar Características. En el listado que nos muestra seleccionamos Experiencia de escritorio y completamos el asistente, al concluir este nos pedirá realizar un reinicio. Figura 4.14 Asistente para agregar características. Los servicios de Windows media Streaming, no vienen dentro de la instalación del sistema, para poder hacer uso de este rol (modulo) es necesario descargar el paquete a través del portal de descargas de Microsoft, es importante seleccionar la versión adecuada del servidor así como su plataforma (32 o 64 bits) y el 84

86 lenguaje adecuado, en el caso de la versión implementada para esta solución el link de la descarga es el siguiente: Aquí se descargaran los archivos que corresponden a nuestra versión de sistema operativo, ya sea x86 o x64. Una vez descargado el archivo, lo ejecutamos y aceptamos instalar la actualización Ahora procederemos a instalar el rol de Servicios de Multimedia de Transmisión por Secuencias (Streaming Media Services en idioma ingles), para ello de forma similar a la instalación del Rol IIS o servidor web, abriremos el administrador de servidor, seleccionamos agregar rol y Servicios de multimedia de transmisión por secuencias y damos click al botón siguiente, en la pantalla donde se seleccionaran los servicios de rol bastara con dejar seleccionado Servidor de Windows Media, en la siguiente pantalla habilitáremos el protocolo RTSP y posteriormente el botón instalar, al concluirse este cerramos el asistente y ejecutamos un reinicio de sistema. Figura 4.15 Asistente para agregar roles, servicios de multimedia de transmisión por secuencias. 85

87 Ya instalado Media services se configura entrando al server manager en la parte de roles, expandiremos el rol de media services o bien entraremos directamente a la consola de administración de media services ubicada en Administrative tools. Una vez instalado este Rol podremos observarlo de manera similar a la siguiente pantalla, donde observamos que el servidor de Servicios Windows Media correspondiente a nuestro equipo quedo nombrado FALCONST, así mismo al seleccionar el nombre del equipo podremos configurar opciones generales del servidor a través de la pestaña propiedades. Figura 4.16 Propiedades del servidor multimedia. CONFIGURACION DEL VIDEO BAJO DEMANDA (VOD) A través del Rol Servicios de Multimedia de transmisión por secuencias, desplegaremos las opciones derivadas del Servidor (en este caso Falconst) y seleccionaremos puntos de publicación allí aparecerán dos, uno Predeterminado y otro llamado Difusión de muestra, seleccionaremos el predeterminado que como allí se indica corresponde a video a petición, daremos doble click para acceder a su configuración. 86

88 Figura 4.17 Monitor de punto de publicación bajo demanda. La primera pestaña siempre nos mostrara el estatus del punto de publicación, seleccionaremos la pestaña Origen, es aquí donde especificaremos los videos que estarán contenidos en nuestra biblioteca multimedia. Figura 4.18 Origen de archivos del punto de publicación de video bajo demanda. Estos deberán estar todos contenidos en un directorio y lo especificaremos en el apartado Origen del contenido, es importante destacar que estos deben estar codificados bajo el códec WMV que es el soportado por la aplicación además se 87

89 recomienda ampliamente el uso de nombres sencillos y cortos, nuestra programación incluye básicamente videos, pero es posible incluir contenido de audio en formato wma, o mp3, o listas de reproducción en formato wsx. En la pestaña Publicidad es posible añadir un clip que servirá de preámbulo a la emisión de cada clip o lista de reproducción, para hacer esto se requiere activar la casilla Utilice contenido adicional con este punto de publicación y para especificar la ubicación del contenido adicional este debe estar en formato de lista de reproducción (.wsx) para generarla recomienda el uso el Editor de contenido adicional al cual accedemos a través del botón que se encuentra en la parte de abajo como se muestra en la figura siguiente. Figura 4.19 Publicidad del punto de publicación bajo demanda. La pestaña anuncio es un asistente que nos auxilia en la generacion de links para acceder a estos archivos multimedia los cuales deberan incluirse en la pagina web para su acceso, el formato del link es el siguiente: mms://burrostv.dyndns.tv/nombrearchivovideo.wma Nota: Si se presentan problemas o inconvenientes en ver la emisión desde fuera de la red es importante consultar los parámetros de firewall a nivel de router, y 88

90 nivel de software (Windows Firewall o Firewall de Antivirus) verificar que tenga las excepciones adecuadas en los puertos, recordemos que para los servicios streaming deben estar desbloqueados los puertos 554, y 555. CONFIGURACION DE CANALES DE VIDEO o Puntos de Publicación Windows Media Services maneja el concepto Punto de Publicación (Publishing Point) para separar las emisiones que se originan en el, podemos hacer la analogía que cada punto de publicación funcionara como un canal con programación independiente, en nuestra plataforma de video crearemos dos puntos de publicación que contendrán la programación que difundiremos en los canales cuyo nombre será INOVACION y ENTRENAMIENTO EN LINEA. Para la creación de los canales o puntos de publicación abriremos el administrador de servidor, dentro del rol Servicios Multimedia de Transmisión por Secuencias, buscaremos el equipo que funge como servidor (FALCONST en nuestro caso) y dentro de este el apartado Puntos de publicación. Allí deberán aparecer dos puntos uno Default que corresponde a el video bajo demanda y uno de muestra generado al instalar el rol llamado difusión muestra. Buscaremos el botón agregar punto de publicación y este abrirá un asistente para agregar puntos de publicación. Dependiendo de la versión de Windows Server 2008 R2 que estemos configurando aparecerá o no la opción de Punto de Publicación para Multidifusión (multicast) ya que esta solo está presente en las versiones Data Center y Enterprise. La siguiente configuración corresponde a un punto de publicación de unidifusión (Unicast). 89

91 Figura 4.20 Puntos de publicación en servidor multimedia. Seguiremos este asistente, en el nombre del punto de publicación introduciremos INOVACION para la creación de nuestro canal. Figura 4.21 Asistente para agregar puntos de publicación. En la siguiente ventana se nos pide especificar el tipo de contenido; Codificador (utilizado para emitir contenido en vivo desde otro programa), lista de reproducción la cual será la que seleccionaremos puesto que a través de una lista de reproducción nos permitirá enlistar varios archivos así como determinar el orden 90

92 para su emisión, y desde archivos la cual nos permite especificar todo el contenido en una carpeta. Figura 4.22 Asistente para agregar puntos de publicación. Tipo de contenido. En la siguiente pantalla se nos pide especificar el tipo de publicación del cual seleccionaremos punto de publicación de difusión, puesto que el punto de publicación a petición es para video bajo demanda. Figura 4.23 Asistente para agregar puntos de publicación. Tipo de publicación. En la siguiente ventana dado que elegimos transmitir una lista de reproducción nos pedirá ubicar el archivo de lista de reproducción (.wsx) si ya lo tenemos 91

93 creado o podremos hacer una lista de reproducción nueva, en nuestro caso generaremos la lista nueva donde especificaremos donde se encuentra el contenido que se emitirá por ese canal, podemos agregar un anuncio si se desea para que aparezca uno o varios videoclips al inicio de la emisión principal. Figura 4.24 Asistente para agregar puntos de publicación. Agregar elementos multimedia. Una vez agregados los elementos daremos click al botón siguiente en donde nos pedirá la ubicación y el nombre del archivo de lista reproducción (.swx) que hemos generado para su almacenamiento, al especificarlo damos click al botón siguiente. Figura 4.25 Asistente para agregar puntos de publicación. Guardar lista de reproducción. 92

94 Ahora se nos pide elegir como se reproducirá el contenido de nuestra lista, en bucle, al azar o ambas, una vez elegida la opción conveniente damos click al botón siguiente. Figura 4.26 Asistente para agregar puntos de publicación. Reproducción de contenido. Al dar click al botón siguiente se nos cuestiona si se quiere activar un registro, en nuestro caso no es necesario dejamos en blanco ese check box y damos click al botón siguiente. En la siguiente pantalla se nos muestra un resumen con las opciones que elegimos previamente, solamente activamos el check box que corresponde a iniciar el punto de publicación y daremos click a siguiente nuevamente, esto nos llevara a una pantalla con la que finaliza el asistente de punto de publicación, es conveniente dejar las opciones de crear un archivo de anuncio y presionar el botón finalizar. 93

95 Figura 4.27 Asistente para agregar puntos de publicación. Cerrar asistente. Inmediatamente después se nos abrirá un nuevo asistente ahora para anuncios de unidifusión. Es necesario completar este asistente para poder brindar el servicio de multidifusión pues el archivo que generaremos a través de este asistente contiene datos de la ubicación del servidor, e información relacionada a la emisión. Daremos click al botón siguiente. Figura 4.28 Asistente para anuncios de unidifusión. En la siguiente ventana deberemos especificar la ubicación del contenido que emitiremos, generalmente el valor que trae por default es el adecuado, `por lo que daremos click al boton siguiente. 94

96 Figura 4.29 Asistente para anuncios de unidifusión. Acceso al contenido. Posteriormente debemos indicar el lugar donde guardaremos el archivo que estamos generando de anuncio de emisión (.asx), este debemos guardarlo dentro de la carpeta que contiene nuestra web publicada pues de esta forma se tendrá acceso a el desde internet, no es necesario activar las otras opciones puesto que nuestra solución contara con un reproductor personalizado, por lo que una vez establecida la ruta daremos click al botón siguiente. Figura 4.30 Asistente para anuncios de unidifusión. Guardar opciones de anuncios. 95

97 En la siguiente ventana podremos incluir algunos datos de nuestra emisión, no es obligatorio, pero de hacerlo proporciona información extra a nuestra audiencia, continuamos dando un click al botón siguiente. Figura 4.31 Asistente para anuncios de unidifusión. Editar metadatos de anuncio. Se nos mostrara la ultima ventana del asistente, la cual nos da un sumario del archivo de anuncio creado, es conveniente dejar activada la opcion de probar los archivos al finalizar el asistente, para corroborar que no hubo error en la puesta en marcha del punto de pucblicacion, al dar click al boton finalizar se nos abrira automaticamente una ventana en la cual probaremos el anuncio de difusion, bastara pulsar el boton prueba y esto debera abrirnos el reproductor de windows o el reproductor que tengamos instalado en el equipo con la emision de videos que se especifico en la lista de reproduccion anterior, de mandar algun error en este preoceso la sugerencia es volver a usar el asistente de Anuncios de unidifusion teniendo especial cuidado en la ubicación donde se guarda el archivo.asx ya que este debe estar accesible desde internet para poder conectarse a nuestra emision. 96

98 Figura 4.32 Probar anuncio de unidifusión. Para el canal entrenamiento en linea debemos repetir los pasos creando un nuevo punto de publicacion. En el caso de la generacion del Canal en Vivo unicamente cambia el parametro Tipo de contenido donde seleccionaremos Codificador y la direccion o ubicación del mismo será ( por ejemplo: Los demas pasos se realizaran de forma identica. Mas adelante se describirá como realizar la codificacion de video en vivo. Sustitución de protocolo Como se pudo observar a lo largo del montaje de los puntos de publicación, a pesar de que estamos usando el protocolo RTSP para la entrega de nuestro contenido multimedia, las cadenas generadas para acceder a estas en el caso del video bajo demanda este tenia encabezado url mms y no rtsp, esto es debido a que cuando un reproductor intenta conectarse con el servidor usando un encabezado de URL (mms://) de Microsoft Media Server (MMS) en la dirección URL de conexión al contenido de transmisión por secuencias (por ejemplo mms://nombre_servidor/nombre_archivo.wma), automáticamente el servidor 97

99 entrega el contenido usando el protocolo RTSP. Si la memoria caché rápida está habilitada en el servidor (condición predeterminada para todos los nuevos puntos de publicación), el servidor intenta primero entregar el contenido mediante RTSP con transporte basado en TCP (RTSPT). Si el reproductor no es compatible con este protocolo, entonces el servidor intenta entregar el contenido por medio de RTSP con transporte basado en UDP (RTSPU). Si esta conexión tampoco es correcta, el servidor intentará entregar el contenido mediante el protocolo HTTP (en caso de que esté habilitado el complemento de protocolo de control de servidor HTTP de WMS). Si no está habilitada la memoria caché rápida, el servidor intentará entregar el contenido al cliente usando primero RTSPU, a continuación usará RTSPT y, finalmente, HTTP. Por lo anterior es importante habilitar una característica del rol Servicios Multimedia de Transmisión por Secuencias que nos asegure la máxima compatibilidad en la transmisión del video desde nuestro servidor al cliente pues si este desea utilizar su propio reproductor de video y este no soporta encabezados rtsp o mms el activar la siguiente opción le permitirá acceder al contenido mediante un encabezado http. Para habilitar esta característica seleccionaremos el Servidor Multimedia (en nuestro caso FALCONST), seleccionaremos la pestaña propiedades, y después protocolo de control y activaremos el complemento protocolo de Control de Servidor HTTP de WMS, en las propiedades de este es importante cambiar el puerto a uno distinto al 80 pues este ya esta siendo ocupado por el Servidor Web, para nuestro proyecto se a asignado el 555. Además de lo anterior otros parámetros de interés que podremos modificar a través de las propiedades del punto de publicación son: Activar o desactivar autenticación y autorización para los usuarios que se conecten a nuestra emisión. (filtrado por rango ip, nombre especifico) Habilitar o no registros de los usuarios que hacen uso del servicio. Notificaciones de sucesos que corresponden a avisos al cump Establecer un número máximo de usuarios conectados a la emisión. 98

100 Guardar a un archivo las emisiones del punto de publicacion Si se trata de una emisión Multicast la dirección Ip a donde se dirigirá nuestra emisión, así como su tiempo de vida.. Figura 4.33 Opciones de protocolo de control de servidor multimedia. CODIFICACION DE VIDEOS PARA CANALES Y BIBLIOTECA DE VIDEOS La codificación de los videos utilizados para el contenido de nuestros canales, así como para la biblioteca de videos será hecha a través del programa Windows Media encoder el cual es de libre distribución a su vez este se incluye en la suite previamente instalada Windows Media Expression. Se eligió este programa debido a la alta compatibilidad que tiene el mismo respecto al rol de servicios multimedia 99

101 instalado en nuestro servidor, además de que nos da acceso a codificar de forma eficiente y rápida bajo los codecs WMV y VC1. El contenido de nuestra programación deberá estar codificado en el formato contenedor (.wmv) para ser compatible con los puntos de publicación, la calidad del mismo dependerá del ancho de banda de subida (Upload) disponible para nuestro servidor además de tener en cuenta la cantidad de clientes que podrán estar sintonizando los canales. Para realizar la codificación abriremos el Windows media encoder, en la ventana de nuevo proyecto seleccionaremos el tipo de trabajo que realizaremos, en este caso transcoding proyect o proyecto de codificación. Figura 4.34 Pantalla inicial Expression Encoder. Transcoding proyect. En la ventana principal del programa elegiremos el boton Importar ubicado en la parte inferior y seleccionaremos el o los archivos a codificar, es importante destacar que solo podremos codificar aquellos archivos que se encuentren en los siguientes formatos(.avi,.mpg,.mpeg,.wmv,.asf,.dvr-ms,.m2v,.ts,.vob,.mod,.xesc), por lo cual si contamos con un archivo de video en un formato diferente (Pej..flv,.rv,.mov,.mp4) tendremos que hacer uso de un conversor de video para cambiarlo a uno compatible con windows media encoder como mpg. 100

102 Figura 4.35 Expression encoder, codificación de archivos. Una vez leído el archivo aparecerá en la parte inferior dentro de la pestaña contenido multimedia, ahora deberemos seleccionar los parámetros de la codificación del panel derecho en la pestaña Codificar estos deben ser los adecuados a las capacidades de nuestro servidor multimedia, en nuestro caso seleccionaremos la configuración predeterminada sugerida para Silverlight VC1 256Kbps con VBR la cual tiene como formato contenedor Windows media además de que tenemos la posibilidad de especificar más de una velocidad de Bitrate (Pej. 224Kbps y 180Kbps) de Video opción que resultara de utilidad para la audiencia que acceso al servicio a velocidades menores de 1mb, en nuestro caso el video será codificado en el formato VC1 avanzado, el audio en formato WMA profesional, con una resolución de 240 x180 y un muestreo constante de 224 kbps. Una vez seleccionados los parámetros de codificación bastara presionar el botón codificar y esperar a que el proceso concluya, este será almacenado dentro de la carpeta Documentos\encoder. Es importante destacar que la resolución seleccionada y el muestreo corresponden a la limitación de nuestro ancho de banda en subida(upload), de 101

103 contar con un ancho de banda mayor al implementado en las pruebas de este servidor, se recomienda el uso de una mayor resolución y muestreo. CODIFICACION DE EMISION EN VIVO Para la generación de la emisión en vivo se requiere un programa que tome nuestra entrada de video proveniente de una cámara (local o remota), esta señal deberá ser codificada en un formato contenedor y emitida hacia internet, el programa elegido para esta función es Microsoft Media encoder el cual es de distribución gratuita. Al instalar la Suite Media Expression se instaló con ella el Windows Media encoder programa que también utilizaremos para generar la emisión en vivo, está la generara en nuestro equipo hacia un puerto determinado, podemos recoger esa salida de video y publicarla para su acceso a través de un punto de publicación o poner el link directamente siempre y cuando el puerto de salida este liberado en el firewall. Para iniciar la emision abriremos el programa Expression Media Encoder, en la pantalla inicial seleccionaremos Live Broadcasting proyect o proyecto de emision en vivo. Figura 4.36 Pantalla inicial Expression Encoder. Live Broadcasting Proyect. 102

104 Se abrirá la ventana principal del programa codificador para emisiones en vivo, deberemos seleccionar ADD LIVE SOURCE, al hacerlo elegiremos del textlist video device el dispositivo que utilizaremos como fuente de nuestra emisión el cual deberá estar previamente instalado (webcam o cámara de video) y el audio device o dispositivo de audio el cual puede ser el mismo o uno alternativo como un micrófono. Figura 4.37 Proyecto de emisión en vivo de Expression Encoder. Ahora deberemos elegir los parámetros de codificación, en nuestro caso elegimos la emisión en formato Windows media con video VC1 avanzado y frame rate de 30 fps y una resolución de 320x240 a 350 kbps,el audio a 64kbps stereo a 44.1 khz,. Figura 4.38 Parámetros audio y video emisión en vivo. 103

105 Una vez establecidos los parámetros seleccionaremos la pestaña Output o salida y seleccionaremos la opción streaming y broadcast, donde especificaremos el puerto y el número máximo de conexiones simultaneas. Figura 4.39 Parámetros streaming de emisión en vivo. Es importante observar el puerto que se establece ya que este debe estar ya que debe ser el mismo que se estableció en el reproductor web asignado a la emisión en vivo. No es necesario abrir este puerto en el firewall ya que la emisión hacia internet se realiza a través del punto de publicación y no desde el codificador. Ya establecidos todos los parámetros solo hay que presionar el Boton Cue o preparar del origen de nuestra emisión y oprimir el botón start con ello la emisión se iniciara hacia el puerto que se estableció y parara hasta que presionemos el botón detener. Cabe destacar que podremos tener mas de un dispositivo en espera e intercambiar el origen de la fuente en cualquier momento. Figura 4.40 Emisión en vivo desde Expression encoder. 104

106 Es posible que el origen de video de la emisión en vivo no provenga de un dispositivo directamente acoplado al servidor, en ese caso para conectar esa emisión originada en otro lugar remoto al servidor (pej. Salón de clases, auditorio, otro servidor) el equipo remoto deberá tener acceso a internet con buena velocidad de subida y que el puerto de transmisión no se encuentre bloqueado en esa red, una vez revisado lo anterior se deberá obtener la ip de ese equipo e introducirla en el punto de publicación correspondiente, en este caso ENVIVO, con el siguiente formato de dirección: A su vez si las condiciones de red lo permiten podemos hacer la codificación a un mayor bitrate (muestreo) tanto para la codificación para el canal en vivo así como para el contenido pregrabado de los canales, el perfil de codificación usado anteriormente Silverlight CBR 256 Kbps fue seleccionado por ser el más adecuado para realizar las pruebas correspondientes con el prototipo de proyecto. CREACION DE LA PÁGINA WEB Se requiere de la elaboración de una página web a través de la cual nuestra audiencia pueda visualizar la programación de nuestros canales, tener acceso a la biblioteca de videos, así como visualizar directamente a través de ella con ayuda de un reproductor alojado en la misma página las emisiones programadas, es decir nuestros canales (INOVACION y ENTRENAMIENTO EN LINEA) además del canal en vivo en caso de existir algún evento especial. La página web podrá desarrollarse con cualquier editor del mercado, en nuestro caso se ha optado desarrollarla en la plataforma Silverlight, con ello dispondremos de un diseño visual original y animado. Para el diseño del sitio web haremos uso del programa Microsoft Blend el cual es parte de la suite Microsoft Expression. 105

107 Microsoft Expression se puede descargar en la siguiente dirección con la posibilidad de usarlo 60 días. El desarrollo de la página web deberá cumplir las siguientes consideraciones: Proporcionar el acceso a los canales de Tv en línea. Mostrar la programación de los canales de Tv en línea. Acceso a la de biblioteca de videos. Poder visualizarse en cualquier navegador. No contener sobrecarga de elementos visuales para mantener una página de fácil descarga. El manejo de Expression BLEND consiste primero en generar los elementos visuales de nuestro proyecto, una vez generados estos modificar el código XAML que se generó en cada elemento para asignarle tareas específicas además de animaciones manejando una escala de tiempo. A continuación podremos observar la ventana de diseño de Expression Blend. 106

108 Figura 4.41 Expresión Blend La página web final es la siguiente, mostrando en el panel superior el acceso a los canales, se optó por un diseño simple ya que el objetivo de la página es simplemente proporcionar el link a los canales asi como la programación de los mismos y el contenido de la biblioteca de videos. Figura 4.42 Página web de burros tv. 107

109 En el diseño de nuestra aplicación todo el código generado se localiza en el archivo MainPage.xaml, a continuación se muestra parte del código, debido a que la generación de animación hace muy extenso el mismo (288 paginas) por lo que se mostraran solo las partes más relevantes. A continuación vemos el inicio del código, que es en donde se declaran las librerías, el programa con el que fue hecho la aplicación, nombre de la misma y su resolución. <UserControl xmlns=" xmlns:x=" xmlns:d=" xmlns:mc=" mc:ignorable="d" xmlns:i="clrnamespace:system.windows.interactivity;assembly=system.windows.interactivity" xmlns:im="clrnamespace:microsoft.expression.interactivity.media;assembly=microsoft.expression.interactions" xmlns:system="clr-namespace:system;assembly=mscorlib" xmlns:ic="clrnamespace:microsoft.expression.interactivity.core;assembly=microsoft.expression.interactions" x:class="menubar.mainpage" Width="699" Height="480"> Se optó por hacer un diseño pequeño de página para que esta pueda visualizarse en las diversas pantallas que existen en el mercado. La siguiente parte del código corresponde a la barra de canales, barra de botones y diseño principal de la página. <Grid x:name="layoutroot"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.013*"/> <ColumnDefinition Width="0.987*"/> <ColumnDefinition Width="0*"/> </Grid.ColumnDefinitions> <Grid.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FFCC979C" Offset="0.517"/> <GradientStop Color="#FF991831" Offset="1"/> <GradientStop Color="#FF991831"/> </LinearGradientBrush> </Grid.Background> <Rectangle x:name="rectangle1" Fill="White" Stroke="{x:Null}" Height="24" Margin="0,78,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="2"> <Rectangle.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> 108

110 <TranslateTransform/> </TransformGroup> </Rectangle.RenderTransform> </Rectangle> <Rectangle x:name="rectangle2" Fill="Black" Stroke="{x:Null}" Height="23" Margin="0,0,-2,8" VerticalAlignment="Bottom" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="3"> <Rectangle.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Rectangle.RenderTransform> </Rectangle> <Rectangle x:name="topbar" Height="116" VerticalAlignment="Top" Grid.ColumnSpan="3" Stroke="Black" Margin="0,0,-2,0"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0.371"/> <GradientStop Color="#FF515151" Offset="1"/> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> <Rectangle x:name="bottombar" Stroke="Black" Height="60" VerticalAlignment="Bottom" Grid.ColumnSpan="3" Margin="0,0,-2,0"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="1"/> <GradientStop Color="#FF535353"/> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> <Grid x:name="logo" Height="68" HorizontalAlignment="Left" Margin="6,22,0,0" VerticalAlignment="Top" Width="73" Grid.Column="1"/> <Rectangle x:name="rectangle" Stroke="Black" Margin="-1,120,14,68" Grid.Column="1" RenderTransformOrigin="0.5,0.5" Opacity="0" Fill="Black"> <Rectangle.Projection> <PlaneProjection/> </Rectangle.Projection> <Rectangle.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Rectangle.RenderTransform> </Rectangle> <Button x:name="btn3" Height="31" HorizontalAlignment="Left" Margin="8,0,0,9" Style="{StaticResource ButtonStyle3}" VerticalAlignment="Bottom" Width="87" Grid.Column="1" Content="Button"> <i:interaction.triggers> <i:eventtrigger EventName="Click"> <im:controlstoryboardaction Storyboard="{StaticResource Panel1}"/> </i:eventtrigger> <i:eventtrigger EventName="MouseEnter"> 109

111 <im:playsoundaction Source="/BtnclickSound.mp3" Volume="1"/> </i:eventtrigger> </i:interaction.triggers> </Button> <Button x:name="btn2" Height="31" HorizontalAlignment="Left" Margin="131,0,0,8" Style="{StaticResource ButtonStyle2}" VerticalAlignment="Bottom" Width="87" Grid.Column="1" Content="Button"> <i:interaction.triggers> <i:eventtrigger EventName="Click"> <im:controlstoryboardaction Storyboard="{StaticResource Panel2}"/> </i:eventtrigger> <i:eventtrigger EventName="MouseEnter"> <im:playsoundaction Source="/BtnclickSound.mp3" Volume="1"/> </i:eventtrigger> </i:interaction.triggers> </Button> <Button x:name="btn1" Height="31" Margin="258,0,0,8" Style="{StaticResource ButtonStyle1}" VerticalAlignment="Bottom" Grid.Column="1" Content="Button" HorizontalAlignment="Left" Width="87"> <i:interaction.triggers> <i:eventtrigger EventName="Click"> <im:controlstoryboardaction Storyboard="{StaticResource Panel3}"/> </i:eventtrigger> <i:eventtrigger EventName="MouseEnter"> <im:playsoundaction Source="/BtnclickSound.mp3" Volume="1"/> </i:eventtrigger> </i:interaction.triggers> </Button> <TextBlock VerticalAlignment="Top" Text="Burro Networks" TextWrapping="Wrap" Grid.Column="1" Foreground="White" HorizontalAlignment="Left" Margin="89,24,0,0" FontSize="29.333" FontWeight="Bold" FontFamily="Trebuchet MS" d:layoutoverrides="horizontalalignment" Height="33" Width="220"/> <TextBlock VerticalAlignment="Top" Text="Tv" TextWrapping="Wrap" Grid.Column="1" FontFamily="Comic Sans MS" FontSize="24" FontWeight="Bold" Margin="297,16,0,0" FontStyle="Italic" HorizontalAlignment="Left" Width="48"> <TextBlock.Foreground> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF0E9CDC" Offset="0"/> <GradientStop Color="#FF80A4B5" Offset="1"/> </LinearGradientBrush> </TextBlock.Foreground> </TextBlock> <Image Height="82" HorizontalAlignment="Left" Margin="0,22,0,0" VerticalAlignment="Top" Width="86" Grid.Column="1" Source="BURRO11.jpg"/> <Image x:name="image2" Height="84" RenderTransformOrigin="0.493,0.5" Source="burro.jpg" Margin="0,16,25,0" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Width="121"> <Image.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> 110

112 </TransformGroup> </Image.RenderTransform> </Image> <Image x:name="image1" RenderTransformOrigin="0.5,0.5" Source="trainnelogo.png" Cursor="Hand" Margin="0,8,112,0" Grid.Column="1" HorizontalAlignment="Right" Width="118" Height="96" VerticalAlignment="Top"> <Image.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Image.RenderTransform> </Image> <Image x:name="image" Height="100" Width="107" Source="inova_logo.jpg" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Right" Margin="0,28,222,0" VerticalAlignment="Top" Grid.Column="1"> <Image.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Image.RenderTransform> </Image> A continuación las declaraciones de hipervínculos asociadas a las imágenes de los canales. En ellas se especifica la dirección donde estarán almacenados nuestros reproductores web además de indicar que estos deben abrirse en una ventana nueva. <HyperlinkButton Height="86" Width="79" Content="" NavigateUri=" TargetName="blank" HorizontalAlignment="Right" Margin="0,16,25,0" VerticalAlignment="Top" RenderTransformOrigin="0.468,0.512" Grid.Column="1"/> <HyperlinkButton Height="59" Content="" NavigateUri=" TargetName="blank" HorizontalAlignment="Right" Margin="0,31,222,0" VerticalAlignment="Top" Width="113" Grid.Column="1"/> <HyperlinkButton Height="91" Content="" NavigateUri=" TargetName="blank" Margin="0,13,112,0" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Width="94"/> 111

113 Figura 4.43 Animacion del boton Canales Las animaciones están localizadas dentro de los storyboards las cuales pueden contener movimiento de los objetos, transformaciones (tamaño, color, forma) de la misma así como efectos de movimiento, el Panel 1 corresponde únicamente al lienzo y animacion desplegado al dar click en el botón Canales y es del cual corresponde el siguiente código. <UserControl.Resources> <Storyboard x:name="panel1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(Rectangle.RadiusY)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="15"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="15"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="15"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(Rectangle.RadiusX)"> 112

114 <EasingDoubleKeyFrame KeyTime="00:00:00" Value="15"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="15"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="15"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform. ScaleX)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0.15"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0.5"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="1"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform. ScaleY)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0.15"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0.5"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="1"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.Opacity)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0.5"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="1"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> 113

115 <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="156"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="360"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="-172"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="-360"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform. ScaleX)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="1"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="1"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="1"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransfo rm.x)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0"/> </DoubleAnimationUsingKeyFrames> <ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"> <EasingColorKeyFrame KeyTime="00:00:00" Value="Black"/> <EasingColorKeyFrame KeyTime="00:00: " Value="Black"> 114

116 <EasingColorKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingColorKeyFrame.EasingFunction> </EasingColorKeyFrame> <EasingColorKeyFrame KeyTime="00:00: " Value="Black"/> </ColorAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform. ScaleY)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="1"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="3.833"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0.583"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransfo rm.y)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="0"/> <EasingDoubleKeyFrame KeyTime="00:00: " Value="34"> <EasingDoubleKeyFrame.EasingFunction> <CircleEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> <EasingDoubleKeyFrame KeyTime="00:00: " Value="-5"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Los botones videoteca y Acerca del proyecto contienen un código similar al anterior. En el caso de las páginas correspondiente a la programación de cada canal y la videoteca, se ha optado por que estas sean en formato HTML, ya que estas por su naturaleza requieren de una constante edición de su contenido y al estar en un lenguaje sencillo la modificación se hará de forma práctica, no requiriendo que sea realizada por personal con con cocimientos avanzados. 115

117 Figura 4.44 Página web Biblioteca de Videos. Una vez finalizada la edición en blend solo basta compilar el proyecto, y colocar los archivos obtenidos de esta compilación dentro del servidor IIS, es importante establecer en el apartado IIS el que el documento predterminado lleve el mismo nombre de nuestra compilación, por ejemplo testpage.html ya que esta será la pagina web que se entregara al recibir una solicitud. CREACIÓN DEL REPRODUCTOR WEB Para la generación del reproductor web utilizamos una vez más Expression Blend que es una herramienta de diseño visual y trabaja sobre Silverlight,.net y xml, es parte de la suite que instalamos previamente Expression Estudio. El objetivo es crear un reproductor que haciendo uso de la tecnología Silverlight pueda reproducir archivos de video bajo demanda y en streaming. Expression Blend incluye el control llamado media player, este trae ya predefinido funciones correspondientes a play, siguiente capitulo, Close caption, pantalla 116

118 completa, entre otros. Para añadir el reproductor, abriremos un proyecto nuevo y lo agregaremos al lienzo de trabajo (canvas). Figura 4.45 Control Media player de Expression Blend. En la parte superior daremos click al botón media player y guardaremos una copia de la plantilla (copy template) para personalizar el reproductor a nuestras necesidades, ya que al tratarse de una emisión estilo Tv, únicamente requerimos el botón de pantalla completa, control de volumen y conteo de tiempo. Dentro de nuestros requerimientos al tratarse de una emisión estilo TV funciones como Reproducir, siguiente capítulo, anterior capitulo, no serán requeridas, nuestro reproductor deberá contener elementos de control de volumen, ampliación a pantalla completa, contador de tiempo transcurrido, logotipo del canal y nombre del canal. A continuación se muestra parte del código de las funciones del reproductor 117

119 Control de volumen Expression Blend cuenta con librerías predefinidas para elementos multimedia por lo que podemos hacer uso de ellos. <ToggleButton x:name="volume_adjustment" Height="136" HorizontalAlignment="Right" Margin="0,0,10,0" Style="{StaticResource ToggleButtonStyle2}" VerticalAlignment="Bottom" Width="35" Cursor="Hand"> <MediaPlayer:SensitiveSlider Style="{StaticResource SliderStyle1}" Height="100" x:name="barravolumen" Width="24" ToolTipService.ToolTip="{Binding tipvolumeslider}" AutomationProperties.Name="{Binding readervolumeslider}" Orientation="Vertical" d:layoutoverrides="height" Margin="0" VerticalAlignment="Top" Visibility="{Binding IsChecked, ElementName=toggleButton, Mode=OneWay}" /> </ToggleButton> Para el control de Vista a pantalla completa <vsm:visualstate x:name="pantallacompleta"> <Storyboard> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="fullScreenButton" Storyboard.TargetProperty="(UIElement.Opacity)"> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="muteButton" Storyboard.TargetProperty="(UIElement.Opacity)"> <EasingDoubleKeyFrame KeyTime="00:00: " Value="0"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="volumeSlider" Storyboard.TargetProperty="(UIElement.Opacity)"> 118

120 <EasingDoubleKeyFrame KeyTime="00:00: " Value="0"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="grid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Child ren)[3].(translatetransform.y)"> <EasingDoubleKeyFrame KeyTime="00:00: " Value="29.076"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="grid" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Child ren)[3].(translatetransform.x)"> <EasingDoubleKeyFrame KeyTime="00:00: " Value="25.442"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </vsm:visualstate> <vsm:visualstate x:name="exitpantallacompleta"/> Los controles estarán dentro de una caja contenedora para que solo se muestren con el evento de pasar el mouse sobre el contenedor. </MediaPlayer:StretchBox.Resources> <vsm:visualstatemanager.visualstategroups> <vsm:visualstategroup x:name="mediaplayerstates"> <vsm:visualstategroup.transitions> <vsm:visualtransition GeneratedDuration="00:00:00.5"/> </vsm:visualstategroup.transitions> 119

121 Estableciendo los elementos de la lista de reproducción del reproductor el cual será solo un elemento al tratarse de una emisión streaming. </UserControl.Resources> <Grid x:name="layoutroot"> <ExpressionPlayer:ExpressionPlayer Margin="0,0,0,0" x:name="myplayer" Style="{StaticResource ExpressionPlayerStyle1}"> <ExpressionPlayer:ExpressionPlayer.Playlist> <MediaPlayer:Playlist> <MediaPlayer:Playlist.Items> ENTRENAMIENTO EN LINEA " <MediaPlayer:PlaylistItem Description="Canal MediaSource="mms://burrostv.dyndns.tv:555/TRAINNE" Title="TRAINNE"/> </MediaPlayer:Playlist.Items> </MediaPlayer:Playlist> </ExpressionPlayer:ExpressionPlayer.Playlist> </ExpressionPlayer:ExpressionPlayer> </Grid> </UserControl> 120

122 Figura 4.46 Personalizando el reproductor. Una vez concluido los añadidos visuales y configuraciones de código podremos probar si el reproductor está trabajando adecuadamente con la tecla F5( run proyect ) y se abrirá nuestro navegador predeterminado, si se visualiza la emisión estamos listos para compilar el proyecto de no ser así tendremos que revisar que no haya error dentro del código donde se especifico el origen del video multimedia o que nuestros puntos de publicación estén trabajando adecuadamente. Si el reproductor no tuvo problemas en visualizar el canal en el menú proyect utilizaremos el botón BUILD para compilar el proyecto y esto nos generara archivos de salida en el directorio desde el cual trabajamos nuestro proyecto una ruta similar a esta ( Ok inova\source\bin\debug ), deberemos copiar todos los archivos de esta carpeta y colocarlos dentro de nuestro servidor IIS utilizando una carpeta por cada canal generado y pegando su contenido en la misma. Por ejemplo nuestra carpeta que contiene los archivos de nuestra página web es ( D:\FALserver\WEB ), entionces generar las carpetas canales y dentro de ella inova (D:\FALserver\WEB\canales\inova) y en esta ubicación pegar el contenido de nuestro trabajo compilado en Expression blend, una vez colocado alli todos los archivos de el reproductor web, deberemos incluir en la pagina web creada la liga 121

123 ( D:\FALserver\WEB\canales\inova\default.html ) para visualizar nuestro canal Inovacion. Deberemos repetir todos los pasos anteriores para los canales Entrenamiento en linea y EnVivo. RESULTADOS Como resultado final se obtuvo la culminación del objetivo, es decir se puso en funcionamiento un portal web con un diseño animado y práctico que proporciona acceso rápido a los canales de televisión en línea (streaming) los cuales son: Innovación, Entrenamiento en línea, Canal en vivo, para cada uno de los cuales se desarrolló un reproductor web. Figura 4.47 Portal web, acceso a videoteca. Además de lo anterior también podemos tener acceso a la programación de emisión para cada canal, así como a la biblioteca multimedia la cual consiste en 122

124 una colección de videos los cuales pueden ser visualizados bajo el esquema de video bajo demanda. Este portal web desarrollado con tecnología Silverlight se encuentra alojado en un servidor web (IIS) que se encuentra compartiendo plataforma con nuestro servidor multimedia (Windows Media Streaming Services). Las transmisiones se probaron en 2 entornos con usuarios simultáneos accesando a cualquiera de los 3 canales del portal: - Entorno LAN (100Mbps) Se conectaron 10 usuarios simultáneos a los canales y sin presentar problemas de fluidez en todos los casos, haciendo transmisiones con video de calidad baja (bitrate del video 256Kbps resolución 240x180) y capacidad para 400 usuarios simultáneos, hasta el de alta calidad (Bitrate del video 1650Kbps resolución 640x480) y 10 usuarios al mismo tiempo, y capacidad para hasta 70 usuarios con esta calidad. - Entorno Internet (ADSL 2mb velocidad de bajada y 386Kbps velocidad de subida) Bajo estas condiciones de red y transmitiendo con calidad baja pero con visualización de detalles aceptable (bitrate del video 180Kbps resolución 240x180) se alcanzó una transmisión aceptable hasta para 3 usuarios accesando de forma simultánea a los canales del portal, con un pequeño periodo de espera al inicio correspondiente a la carga del buffer de video, a su vez se realizaron pruebas adicionales disminuyendo la calidad (bitrate del video 80Kbps resolución 140x100) obteniendo una capacidad para 6 usuarios simultáneos, con fluidez aceptable, pero con un video pixelado y de mala calidad. En todos los casos se manejó una codificación con el Códec VC1, concluyendo que si la emisión está encaminada a un entorno Local no debe haber problemas en la emisión para hasta 400 usuarios sin embargo utilizando redes con velocidades de 1 gb nos da la opción de ampliar bastante la capacidad de la emisión. En el caso de la transmisión hacia internet resulta evidente la necesidad de mayor ancho de banda de subida (upload), esto sería posible con la 123

125 contratación de enlaces de fibra óptica o la llegada de nuevas tecnologías como WIMAX o LTE que nos brindaría la posibilidad de llegar a una audiencia mayor. IMPLEMENTACION Y COSTOS A continuación se muestra una propuesta para la implementación del proyecto. Proyecto: Estación de TV en línea para proveer contenidos a la comunidad de ESIME (Esime TV). Descripción: Establecer una estación de Tv en línea enfocado a proporcionar acceso a Tv en línea a través de tres canales (Inova, Entrenamiento en linea y canal En Vivo) con contenidos pre-programados y capacidad para transmitir eventos en vivo a la comunidad de Esime Zacatenco, con potencial de acceso para almenos 1000 usuarios conectados al mismo tiempo y con posibilidad de ampliar cobertura. Modos de acceso al servicio: La audiencia de Esime Tv podrá accesar a través de la red Internet con almenos 512 Kb de velocidad de descarga y con un dispositivo multimedia (Computadora, Smart Phone, TabletPC) que cuente con el complemento Silverlight el cual es de distribución gratuita. Formato y resolución de la transmisión: El formato sugerido para realizar la emisión es el Codec de video VC1 con posibilidad de transmitir también en Mp4. Los contenidos pueden emitirse con las siguientes resoluciones 180x140, 240x180, 320x240, 512x384, 640x480, 1280x720HD, 1920x1080FullHD). La resolución sugerida tomando en cuenta las condiciones de acceso promedio de la audiencia y para maximizar el alcance de usuarios es 240x180 que tendrá una velocidad de secuencia de transmisión promedio de 186kbps. Modo de difusión: Esime Tv puede implementarse bajo dos esquemas de difusión; Multicast y Unicast. La propuesta contempla ambos esquemas. 124

126 Capacitación para manejo y gestión de los contenidos: La solución propuesta incluye capacitación al personal destinado a la administración y programación de los contenidos multimedia para Esime Tv. COTIZACION 1 Proyecto: Estación de TV en línea para proveer contenidos a la comunidad de ESIME (Esime TV)a través de difusión Multicast con capacidad de 1500 usuarios por servidor a una resolución 240x180. Cliente Esime IPN Mexico Fecha Abril 2011 Cantidad Descripción Precio U Importe 1 Gestión de adjudicación de Ip Multicast ante LACTLD $ $ Servidor en torre Power Edge Dell T1108, Procesador Intel Xeon E3 1220, 8Gb Ram, Disco Duro 2 TB, Lcd SO Windows Server 2008 Enterprise o Data center Rr2 64bits $ $ $ $ Router CISCO para streaming Ip Multicast $ $ Camara Digital para emisión en Vivo 10Mpx. $ $ Generación de página web multimedia, montaje y $ $ configuración del Servidor multimedia, capacitación de personal para administración de contenidos Sub TOTAL $ IVA $ TOTAL $ Notas: Precios más IVA y sujetos a cambio sin previo aviso. Precios en Moneda nacional *Requiere conexión a internet con almenos 768Kbps de upload No incluido en el precio Condiciones de Pago: 60% anticipo 40% entrega Disponibilidad: Inmediata 125

127 COTIZACION 2 Proyecto: Estación de TV en línea para proveer contenidos a la comunidad de ESIME (Esime TV)a través de difusión Unicast con capacidad máxima de 400 usuarios con un enlace de fibra óptica a 100Mb. Cliente Esime IPN Mexico Fecha Abril 2011 Cantidad Descripción Precio U Importe 1 Servidor en torre Power Edge Dell T1108, Procesador Intel Xeon E3 1220, 8Gb Ram, Disco Duro 2 TB, Lcd SO Windows Server 2008 Enterprise o Data center Rr2 64bits $ $ $ $ Cámara Digital para emisión en Vivo 10Mpx. $ $ Generación de página web multimedia, montaje y $ $ configuración del Servidor multimedia, capacitación de personal para administración de contenidos Sub TOTAL $ IVA $ TOTAL $ Notas: Precios más IVA y sujetos a cambio sin previo aviso Precios en Moneda nacional *Requiere conexión por fibra óptica a 100Mbps, No incluido en el precio. Condiciones de Pago: 60% anticipo 40% entrega Disponibilidad: Inmediata 126

128 En conclusión la solución ideal es la basada en Multicast pese a que tiene un costo de implementación inicial mucho más alto esta cubre perfectamente la demanda de usuarios que se contempla e incluso más, sin embargo la viabilidad del mismo radica en la asignación de una IP Multicast lo cual conlleva un proceso de solicitud y adjudicación cuya duración y éxito son inciertos. La alternativa de emisión Unicast resulta principalmente conveniente en un entorno de red local pues el hecho de llevarlo hacia internet implica la contratación de enlaces de fibra óptica (100Mb) que nos daría soporte para 400 usuarios al mismo tiempo y en caso de requerir soporte para más se hace necesario la contratación de nuevos enlaces, por lo que aunque más barato inicialmente el costo de mantenimiento de este esquema resulta mucho mayor y su implementación está en función de poder sufragar el gasto del enlace de alta velocidad que requiere. DEFICIENCIAS Y MEJORAS Las limitaciones del proyecto se encuentran en el sentido de los costos de implementación del mismo pues al utilizar tecnología licenciada hace necesario una importante inversión para su implementación, a pesar de ello el beneficio radica en la confiabilidad y soporte para el sistema, así como la facilidad de delegación en su administración y capacidad de escalabilidad. ESCALABILIDAD La solución puede ser escalada en cuanto a la capacidad de usuarios agregando servidores en forma de arreglo, esto significa que se puede crear una red de servidores multimedia en donde uno de ellos sirve como servidor origen y los otros tendrán la función de servidores proxi-cache haciendo un balance de la carga de usuarios que solicitan el servicio, es decir que se toma la transmisión de 127

129 secuencias de video del servidor original y se hace una re emisión de la mismo por separado a través de los otros servidores, esto también es útil si se desea proporcionar acceso desde diferentes puntos de la red, de esta forma los clientes accesarán a la emisión más próxima a su ubicación, con ello se mejora el tiempo de respuesta del servicio y se amplía la cobertura, para ello hay que tomar en cuenta que cada servidor adicional deberá contar con un enlace a internet propio. Respecto a los contenidos, si las condiciones de red, capacidad de servidor y audiencia lo permiten es posible incrementar la calidad del video emitido, pudiendo manejar incluso una calidad de video de alta definición (HD) (Resoluciones desde 1280x720 muestreo 2000Kbps(HD), hasta 1920x1080 y muestreo de 4000kbps(FullHD)). 128

130 GLOSARIO DE TERMINOS: ANCHO DE BANDA. Se le denomina así a la cantidad de datos que se pueden transmitir en una unidad de tiempo. ACCES POINT. Punto de acceso inalámbrico (WAP o AP por sus siglas en inglés: Wireless Access Point). En redes de computadoras es un dispositivo que interconecta dispositivos de comunicación inalámbrica para formar una red inalámbrica. CROMINANCIA. Es la componente de la señal de vídeo que contiene las informaciones del color. DVB. Digital Video Broadcasting (DVB) es una organización que promueve estándares aceptados internacionalmente de televisión digital, en especial para HDTV y televisión vía satélite, así como para comunicaciones de datos vía satélite (unidireccionales, denominado sdvb-ip y bidireccionales, llamados DVB-RCS). ESTANDAR. En tecnología y otros campos, un estándar es una especificación que regula la realización de ciertos procesos o la fabricación de componentes para garantizar la interoperabilidad. FRAME. Se denomina frame en inglés, a un fotograma o cuadro, una imagen particular dentro de una sucesión de imágenes que componen una animación. La continua sucesión de estos fotogramas producen a la vista la sensación de movimiento, fenómeno dado por las pequeñas diferencias que hay entre cada uno de ellos. FRAME RELAY. Es una técnica de comunicación mediante retransmisión de tramas introducida por la ITU-T a partir de la recomendación I.122 de Consiste en una forma simplificada de tecnología de conmutación de paquetes que transmite una variedad de tamaños de tramas o marcos ( frames ) para datos, perfecto para la transmisión de grandes cantidades de datos. IEEE. Corresponde a las siglas de The Institute of Electrical and Electronics Engineers, el Instituto de Ingenieros Eléctricos y Electrónicos, una asociación técnico-profesional mundial dedicada a la estandarización, entre otras cosas. 129

131 Internet Engineering Task Force (IETF) (Grupo Especial sobre Ingeniería de Internet ) es una organización internacional abierta de normalización, que tiene como objetivos el contribuir a la ingeniería de Internet, actuando en diversas áreas, como transporte, encaminamiento, seguridad. INTERLEAVING. Es una técnica de corrección de errores, cuya misión es la de proteger la transmisión de datos ante errores de ráfaga (aquellos que eliminan un número consecutivo de paquetes IP). Este método alterna en el tiempo los paquetes IP ("entrelazado") de diferentes conexiones (multiplexación) para que los errores de ráfagas afecten lo menos posible a cada conexión y puedan ser recuperados. IP. Es un protocolo no orientado a conexión usado tanto por el origen como por el destino para la comunicación de datos a través de una red de paquetes conmutados. IPTV. Se trata de distribución por subscripción de señales de televisión y/o vídeo usando conexiones de banda ancha sobre el protocolo IP. ITU. Unión Internacional de Telecomunicaciones (ITU) es el organismo especializado de las Naciones Unidas encargado de regular las telecomunicaciones, a nivel internacional, entre las distintas administraciones y empresas operadoras. LUMINANCIA. Es la componente que codifica la información de luminosidad de la imagen. En términos generales, es algo muy similar a la versión en blanco y negro de la imagen original. Luminancia y crominancia combinadas proporcionan la señal denominada señal de vídeo compuesto utilizada en multitud de aplicaciones; o transmitirse independientemente. Forman parte de la codificación de vídeo en los estándares de TV NTSC y PAL, entre otros. MAC. (Media Access Control address o dirección de control de acceso al medio) es un identificador de 48 bits (6 bytes) que corresponde de forma única a una tarjeta o interfaz de red. Es individual, cada dispositivo tiene su propia dirección MAC determinada y configurada por el IEEE (los últimos 24 bits) y el fabricante (los primeros 24 bits) utilizando el OUI. La mayoría de los protocolos que trabajan en la capa 2 del modelo OSI usan una de las tres numeraciones manejadas por el IEEE: MAC-48, EUI-48 y EUI-64 las cuales han sido diseñadas para ser 130

132 identificadores globalmente únicos. No todos los protocolos de comunicación usan direcciones MAC y no todos los protocolos requieren identificadores globalmente únicos. MAN. Acrónimo de Metropolitan Area Network, que en español significa Red de Área Metropolitana. MPEG. El Moving Picture Experts Group (Grupo de Expertos de Imágenes en Movimiento) referido comúnmente como MPEG, es un grupo de trabajo del ISO/IEC encargado de desarrollar estándares de codificación de audio y vídeo. MULTIPLEXAJE. Es una tecnica con la cual un dispositivo puede recibir varias entradas y transmitirlas por un medio de transmisión compartido. Para ello lo que hace es dividir el medio de transmisión en múltiples canales, para que varios nodos puedan comunicarse al mismo tiempo. Una señal que está multiplexada debe desmultiplexarse en el otro extremo. NTSC. (National Television System Committee, en español Comisión Nacional de Sistemas de Televisión) es un sistema de codificación y transmisión de Televisión a color analógica desarrollado en Estados Unidos en torno a 1940 y que se emplea en la actualidad en la mayor parte de América y Japón, entre otros países. NLOS. Siglas para Near Line of Sight, o cercano a línea de vista. Las tecnologías de radiofrecuencia utilizan el término NLOS para describir un trayecto parcialmente obstruido entre la ubicación del transmisor de la señal y la ubicación del receptor de la seña. Los obstáculos que pueden obstaculizar la línea de vista incluyen árboles, edificios, montañas y otras estructuras y/u objetos construidos por el hombre u obra de la naturaleza. NOMBRE DE DOMINIO. El propósito principal de los nombres de dominio en Internet y del sistema de nombres de dominio (DNS), es traducir las direcciones IP de cada nodo activo en la red, a términos memorizables y fáciles de encontrar. Esta abstracción hace posible que cualquier servicio (de red) pueda moverse de un lugar geográfico a otro en la red Internet, aun cuando el cambio implique que tendrá una dirección IP diferente. Sin la ayuda del sistema de nombres de dominio, los usuarios de Internet tendrían que acceder a cada servicio web utilizando la dirección IP del nodo (por ejemplo, sería necesario utilizar en vez de 131

133 OFDM. La Multiplexación por División de Frecuencias Ortogonales, en inglés Orthogonal Frequency Division Multiplexing (OFDM), también llamada modulación por multitono discreto, en inglés Discrete Multitone Modulation (DMT), es una modulación que consiste en enviar un conjunto de portadoras de diferentes frecuencias donde cada una transporta información la cual es modulada en QAM o en PSK. PAL. Es la sigla de Phase Alternating Line (Línea Alternada en Fase). Es el nombre con el que se designa al sistema de codificación empleado en la transmisión de señales de televisión analógica en color en la mayor parte del mundo. Es de origen alemán y se utiliza en la mayoría de los países africanos, asiáticos y europeos, además de Australia y algunos países latinoamericanos. QoS. Calidad de Servicio (Quality of Service, en inglés) son las tecnologías que garantizan la transmisión de cierta cantidad de datos en un tiempo dado (throughput). Calidad de servicio es la capacidad de dar un buen servicio. PIXEL. (Acrónimo del inglés picture element, "elemento de imagen") es la menor unidad homogénea en color que forma parte de una imagen digital ya sea esta una fotografía, un fotograma de vídeo o un gráfico. REDUNDANCIA ESPACIAL. Toma como información de entrada una maya de píxeles (frame), en la cual se reduce la información redundante (como los fondos de áreas grandes de la imagen), usando algoritmos de compresión, como el JPEG. REDUNDANCIA TEMPORAL. Consiste en tomar en cuenta que mucha de la información de un frame se repite también en los siguientes, con lo cual se puede reducir más información, si se codifica solo los cambios con respecto al anterior. Esto se logra a través de Algoritmos de Estimación de Movimiento que calculan la trayectoria que seguirá la parte del frame que no cambia. RGB. Se refiere al tratamiento de la señal de vídeo que trata por separado las señales de los tres colores rojo, verde y azul (en inglés Red, Green, Blue). Al usarlo independientemente, proporciona mayor calidad y reproducción más fiel del color. RFC. Request for Comments ("Petición De Comentarios") son una serie de documentos cuyo contenido es una propuesta oficial para un nuevo protocolo de la red Internet, que se 132

134 explica con todo detalle para que en caso de ser aceptado pueda ser implementado sin ambigüedades. SILVERLIGHT. Es una estructura para aplicaciones web que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones e interactividad, en forma similar a lo que hace Adobe Flash. STREAMING. Es un término que se refiere a ver u oír un archivo directamente en una página web sin necesidad de descargarlo antes al ordenador. SERVIDOR. En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes. VESA. Video Electronics Standards Association (Asociación para Estándares Electrónicos y de Video) es una asociación internacional de fabricantes de electrónica. Fue fundada por NEC en los años 80 del siglo XX, con el objetivo inicial de desarrollar pantallas de vídeo con una resolución común de 800x600 píxeles. WiFi. Es un sistema de envío de datos sobre redes computacionales que utiliza ondas de radio en lugar de cables. Su estándar es el x. 133

135 REFERENCIAS Fernando Pereira and Touradj Ebrahimi. The MPEG-4 Book. PrenticeHall PTR Developers_Library/GUID C A73F- 2B4F082F0C44/html/SDL_93/doc_source/guide/Multimedia-Protocolssubsystem-guide/RTP/RTPOverview.html RTSP RFC g.aspx#intro Real Time Streaming Protocol standar «VC-1 Profiles and Levels». VC-1. Consultado el December 12 de «Microsoft WMV Codec Implementations». VC-1. Consultado el February 28 de Understanding VC-1 and FourCC (Inlet Fathom)». VC-1. Consultado el February 28 de «SMPTE 421M Press Release». VC-1. Consultado el April 7 de 2006 MPEG LA, LLC. Press Release, 17 August VC-1 Technical Overview». Microsoft Corporation (2006). VC-1 - Google Summer of Code». Consultado el

136 ANEXOS 135

137 ANEXO 1.PERFILES CODEC VC1 Perfil Nivel Bit Rate Máximo Resoluciones por Framerate Low 96 kbit/s 176 x 144 / 15 (QCIF) Simple Medium 384 kbit/s 240 x 176 / x 288 / 15 (CIF) Low 2 Mbit/s 320 x 240 / 24 (QVGA) Main Medium 10 Mbit/s 720 x 480 / 30 (480p) 720 x 576 / 25 (576p) High 20 Mbit/s 1920 x 1080 / 30 (1080i) L0 2 Mbit/s 352 x 288 / 30 (CIF) L1 10 Mbit/s 720 x 480 / 30 (NTSC-SD) 720 x 576 / 25 (PAL-SD) Advanced L2 20 Mbit/s 720 x 480 / 60 (480p) 1280 x 720 / 30 (720p) L3 45 Mbit/s 1920 x 1080 / 24 (1080p) 1920 x 1080 / 30 (1080i) 1280 x 720 / 60 (720p) L4 135 Mbit/s 1920 x 1080 / 60 (1080p) 2048 x 1536 / 24 Tabla 3.2 Perfiles del códec WVC1 136

138 ANEXO 2. La Transformada Discreta del Coseno (DCT) Ya que es el mecanismo utilizado por el MPEG-4 para pasar del dominio espacial al de la frecuencia (y viceversa) los distintos VOPs que componen la secuencia de datos creemos conveniente hacer un pequeño análisis de la misma antes de continuar. Aunque la DCT es una variación de la transformada discreta de Fourier hay una diferencia importante entre ellas y es que en la primera la imagen se descompone en sumas sólo de cosenos (y no de senos y cosenos como en la de Fourier). Además, es una de las transformadas con mayores índices de compactación espectral, es decir, acumulación de la máxima cantidad de energía posible en el menor número de coeficientes. La podemos definir como (E1) en el caso de la transformación directa unidimensional y como (E2) en el caso de la inversa (igualmente unidimensional claro está). E1 E2 De donde : E3 137

139 Las correspondientes versiones de la transformada bidimensional se definen como (E4) y (E5). E4 E5 Donde igualmente debemos cumplir la Ecuación (E3). El núcleo de la transformada discreta del coseno para N=4 y N=8 se puede puede ver gráficamente en la Figura Anexo2.1. Algunas de las principales propiedades de la DCT son: Es ortogonal y separable. La DCT es una matriz real (lo que indica que no es completamente reversible dado que opera con números en coma flotante). Significado físico muy similar a DFT. No aparece replicada y no tiene simetrías. No posee la propiedad de convolución. La DCT concentra mucho la información en los primeros coeficientes (gran índice de compactación espectral), es la más usada en codificación y compresión (dado que existen algoritmos rápidos basados en técnicas matriciales y en la FFT). El porqué de utilizar la DCT y no la FFT, por ejemplo, es debido a que la DCT tiene un mayor índice de compactación espectral, lo que provoca que pueda 138

140 aproximar señales lineales con menor número de componentes. En la Figura A.2 se puede apreciar que tras realizar la transformación, truncar algunos resultados y volver a aplicar la inversa correspondiente a cada una de las funciones el resultado obtenido por la DCT es muy superior al de la FFT. Figura Anexo 2.1 Núcleo de la DCT para N=4 y para N=8 respectivamente. 139

PROTOCOLO DE TRANSPORTE EN TIEMPO REAL RTP

PROTOCOLO DE TRANSPORTE EN TIEMPO REAL RTP PROTOCOLO DE TRANSPORTE EN TIEMPO REAL RTP R EDES - 3º I NGENIERÍA T ÉCNICA I NFORMÁTICA D E S ISTEMAS Autor: Gil Cabezas, Jesús Curso 2008/2009 ( i62gicaj@uco.es) Volver al índice 1 Í NDICE D E C ONTENIDOS

Más detalles

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

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el para videovigilancia....... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el protocolo IP. La tecnología de las cámaras de red permite al usuario

Más detalles

Tecnología Streaming

Tecnología Streaming UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA Tecnología Streaming Integrantes: Marcela Barria 201002019-3 Eduardo Hales 201030003-k Profesor: Agustín González Fecha: 26 de Agosto

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Yull Arturo Matamba Valencia Andrés Xavier Rogel Valarezo

Yull Arturo Matamba Valencia Andrés Xavier Rogel Valarezo Yull Arturo Matamba Valencia Andrés Xavier Rogel Valarezo Sustentación de velocidades de usuario hasta 144 kbit/s, con cobertura y movilidad completas en zonas extensas y hasta 2 Mbit/s, en situaciones

Más detalles

Roles y Características

Roles y Características dominio Roles y Características Una vez instalado Windows Server 2008 y configuradas algunas opciones básicas de Windows Server 2008 desde el Panel de Control o desde el Administrador del Servidor, las

Más detalles

Tema 6: Servicios multimedia bajo demanda

Tema 6: Servicios multimedia bajo demanda Tema 6 1 Índice Tema 6: Contenido 6.1 Problemática del servicio de streaming en Internet Real-Time Streaming Protocol (RTSP) Tema 6 2 Ref Bibliografía Bibliografía básica Weinstein, Stephen. The Multimedia

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Aspectos Básicos de Networking

Aspectos Básicos de Networking Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Objetivo: Al término de la sesión el participante aplicará las principales características

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

CELERINET ENERO-JUNIO 2013 ESPECIAL

CELERINET ENERO-JUNIO 2013 ESPECIAL 70 Seguridad en Voz sobre Redes de Datos Juan Carlos Flores García UANL-FCFM Universidad Autónoma de Nuevo León Facultad de Ciencias Físico Matemáticas San Nicolás de los Garza, Nuevo León, México Resumen:

Más detalles

Características de los servicios de transferencia de contenidos multimedia

Características de los servicios de transferencia de contenidos multimedia Características de los servicios de transferencia de contenidos multimedia formador Ezequiel Llarena Borges formador Ezequiel Llarena Borges 1 Compresión o codificación del audio Tipos de compresión (Formatos

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

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

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre 2014. Reporte De Lectura INSTITUTO TECNOLÓGICO DE SALINA CRUZ Fundamentos De Redes Semestre Agosto-Diciembre 2014 Reporte De Lectura Lectura Capítulo IV UNIDAD 3: Capa de red y direccionamiento de la red: IPv4 NOMBRE: Liña Quecha

Más detalles

Redes de Computadores I

Redes de Computadores I Redes de Computadores I Proyecto Dropbox Guillermo Castro 201021015-4 Javier Garcés 201021002-2 4 de septiembre de 2013 3 PROTOCOLOS DB-LSP Y DB-LSP-DISC 1. Resumen La sincronización de archivos es hoy,

Más detalles

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 -

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 - Graballo+ Agosto de 2007-1 - Índice Índice...2 Introducción...3 Características...4 DESCRIPCIÓN GENERAL...4 COMPONENTES Y CARACTERÍSTICAS DE LA SOLUCIÓN...5 Recepción de requerimientos...5 Atención de

Más detalles

O C T U B R E 2 0 1 3 SOPORTE CLIENTE. Manual de Usuario Versión 1. VERSIÓN 1 P á g i n a 1

O C T U B R E 2 0 1 3 SOPORTE CLIENTE. Manual de Usuario Versión 1. VERSIÓN 1 P á g i n a 1 SOPORTE CLIENTE Manual de Usuario Versión 1 VERSIÓN 1 P á g i n a 1 Contenido Contenido... 2 INTRODUCCIÓN... 3 DESCRIPCIÓN ACTIVIDADES... 4 1. INICIO... 4 2. REGISTRAR NUEVO CLIENTE... 5 1.1 INGRESO DE

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

GUÍAS FÁCILES DE LAS TIC

GUÍAS FÁCILES DE LAS TIC GUÍAS FÁCILES DE LAS TIC del COLEGIO OFICIAL DE INGENIEROS DE TELECOMUNICACIÓN Trabajo Premiado 2006 Autor: La Red Internet D. Gerson Aires Casas 17 de Mayo 2006 DIA DE INTERNET GUÍAS FÁCILES DE LAS TIC

Más detalles

Crear un servidor Web en IIS

Crear un servidor Web en IIS Crear un servidor Web en IIS Qué es un servidor web? Un servidor web es un programa que se ejecuta continuamente en un computador, manteniéndose a la espera de peticiones de ejecución que le hará un cliente

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450 GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR

Más detalles

Información sobre seguridad

Información sobre seguridad Información sobre seguridad SMART kapp iq incluye características de seguridad de datos diseñadas para mantener su contenido de controlado de forma predecible. En esta página se explican las características

Más detalles

Producto. Información técnica y funcional. Versión 2.8

Producto. Información técnica y funcional. Versión 2.8 Producto Información técnica y funcional Versión 2.8 1 Índice: Tema Pág. Introducción a WOLOM 3 Diagrama de la solución WOLOM 3 Principales funciones de WOLOM 4 Módulos que componen WOLOM 4 WM: Wolom Maquetador

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

Informe de Avance IV

Informe de Avance IV Difusión Multimedial Inalámbrica IP: Informe de Avance IV 13-09-01 1/8 Universidad Técnica Federico Santa María Departamento de Electrónica Informe de Avance IV Proyecto FDI Difusión Multimedial Inalámbrica

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

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

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

Tecnologías de Streaming

Tecnologías de Streaming Tecnologías de Streaming Francisco José Suárez Alonso UNIVERSIDAD DE OVIEDO Área de Arquitectura y Tecnología de Computadores Curso 2010/2011 Tecnologías de Streaming Introducción Servicios Arquitectura

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Qué necesito saber para tener mi sitio web en Internet?

Qué necesito saber para tener mi sitio web en Internet? Qué necesito saber para tener mi sitio web en Internet? Introducción Antes es importante tener en cuenta que Es importante considerar lo siguiente: Definir claramente tu actividad en Internet Establecer

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3

Más detalles

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

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Redes de Área Local: Configuración de una VPN en Windows XP

Redes de Área Local: Configuración de una VPN en Windows XP Redes de Área Local: Configuración de una VPN en Windows XP Tatiana Echegoyen Blasco Facultad de Informática UPV - Curso 2005/2006 Índice 1. Qué es una VPN?...2 2. Cómo funciona una VPN?...2 3. Por qué

Más detalles

Información sobre seguridad

Información sobre seguridad Información sobre seguridad SMART kapp incluye características de protección de datos diseñadas para mantener el contenido controlador de forma predecible. En esta página se explican las características

Más detalles

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno

Más detalles

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A Usuario Propietario: Gerencia de Informática Usuario Cliente: Todos los usuarios de ANDA Elaborada por: Gerencia de Informática,

Más detalles

Introducción a RTP y RTCP

Introducción a RTP y RTCP Introducción a RTP y RTCP 2º Ingeniero Técnico de Telecomunicación Sonido e Imagen Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Índice Objetivo RTP RTCP 1 3 Objetivo Queremos

Más detalles

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

ATEL ASESORES C.A IP Multimedia Subsystem Prof. Diógenes Marcano SIP Capítulo 3 Pág. 1 SIP es un protocolo para señalización definido por el IETF según el RFC3261. SIP permite establecer, liberar y modificar sesiones multimedia y está basado en un modelo de transacciones

Más detalles

Sistema de marketing de proximidad

Sistema de marketing de proximidad Dizan Vasquez Propuesta de proyecto Sistema de marketing de proximidad ACME México Dizan Vasquez Índice general 1. Descripción 3 2. Resúmen ejecutivo 4 2.1. Objetivo.................................................

Más detalles

Capítulo 4: Requerimientos.

Capítulo 4: Requerimientos. Capítulo 4: Requerimientos. Una vez que se ha analizado con detalle los nuevos paradigmas en la educación, nos podemos dar cuenta que para poder apoyar cambios como estos y para poder desarrollar nuevos

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos MODULACIÓN TRANSMISION DIGITAL La amplia naturaleza de las señales analógicas es evidente, cualquier forma de onda está disponible con toda seguridad en el ámbito analógico, nos encontramos con una onda

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

CFGM. Servicios en red. Unidad 2. El servicio DHCP. 2º SMR Servicios en Red

CFGM. Servicios en red. Unidad 2. El servicio DHCP. 2º SMR Servicios en Red CFGM. Servicios en red Unidad 2. El servicio DHCP CONTENIDOS 1 1. Introducción 1.1. Qué es el servicio DHCP 2.1. Características generales del servicio DHCP 2.2. Funcionamiento del protocolo DHCP 2.3.

Más detalles

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS INSTALACIÓN A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc al que le asignaremos

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Capas del Modelo ISO/OSI

Capas del Modelo ISO/OSI Modelo ISO/OSI Fue desarrollado en 1984 por la Organización Internacional de Estándares (ISO), una federación global de organizaciones que representa aproximadamente a 130 países. El núcleo de este estándar

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica Portal Del Emisor MANUAL DEL USUARIO Plataforma de Facturación Electrónica 1. Índice 1. Índice... 2 2. Descripción General... 3 2.1. Alcance... 3 2.2. Flujo de navegación... 4 2.3. Perfil del Usuario...

Más detalles

VideoSoftPHONE Active Contact

VideoSoftPHONE Active Contact VideoSoftPHONE Active Contact 1 ÍNDICE 1. CÓMO INSTALAR MI VIDEOSOFTPHONE SOFTWARE?... 1 1.1. REQUISITOS PREVIOS... 1 1.1.1. Requisitos del sistema... 1 1.1.2. Requisitos Software... 1 1.2. INSTALACIÓN...

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción Nombre del Tema Aspectos de seguridad en aplicaciones basadas en WIFI. Asesor: Dr. Oleg Starostenko Basarab Actualidad y Definición del problema Desde hace ya tiempo nos hemos

Más detalles

Dirección Alumnos. Av. Benjamín Aráoz 800 - C.P. 4000 - Tucumán - Argentina Tels.: 0054 (0381) 4847355 Fax: 4310171 - Internet: www.filo.unt.edu.

Dirección Alumnos. Av. Benjamín Aráoz 800 - C.P. 4000 - Tucumán - Argentina Tels.: 0054 (0381) 4847355 Fax: 4310171 - Internet: www.filo.unt.edu. Perfil docente Interfaz en general para el perfil docente Inicio de sesión Al ingresar el docente tiene la opción de Ver mensajes que haya enviado la unidad académica a todos los docentes o alguno propio

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir

Más detalles

COMO FUNCIONA INTERNET

COMO FUNCIONA INTERNET COMO FUNCIONA INTERNET Fuente: http://www.areatecnologia.com/informatica/como-funciona-internet.html Vamos a explicar los conceptos básicos de Internet que todo el mundo debería conocer. Internet es una

Más detalles

JVC CAM Control (para Windows) Guía de usuario

JVC CAM Control (para Windows) Guía de usuario JVC CAM Control (para Windows) Guía de usuario Español Este es el manual de instrucciones del software (para Windows) de Live Streaming Camera GV-LS2/GV-LS1 realizado por JVC KENWOOD Corporation. El sistema

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

Ayuda de Symantec pcanywhere Web Remote

Ayuda de Symantec pcanywhere Web Remote Ayuda de Symantec pcanywhere Web Remote Conexión desde un navegador web Este documento incluye los temas siguientes: Acerca de Symantec pcanywhere Web Remote Protección de la sesión de Web Remote Formas

Más detalles

Programa Maestro. E-Learning Class v 6.0

Programa Maestro. E-Learning Class v 6.0 1 Programa Maestro E-Learning Class v 6.0 1.- Introducción 2 El E-LearningClass V. 6.0 ( Programa Maestro ) es un aplicativo incluido en las netbooks del programa Conectar Igualdad que permite asistir

Más detalles

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido.

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido. Curso para conocer y aprender a manejar completamente el sistema operativo Microsoft Windows XP Professional, analizando desde el entorno del mismo hasta sus herramientas administrativas más complejas

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

Interoperabilidad de Fieldbus

Interoperabilidad de Fieldbus 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?

Más detalles

Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker...

Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker... Índice Objetivo... 2 Definición y utilidad de Movie Maker... 3 Cómo iniciar Movie Maker?... 3 Elementos de la ventana de Movie Maker... 4 Barra de título... 4 Barra o pestañas de opciones... 4 Cinta de

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red.

Utilizar los servicios de Index Service para buscar información de forma rápida y segura, ya sea localmente o en la red. Funciones de servidor La familia Windows Server 2003 ofrece varias funciones de servidor. Para configurar una función de servidor, instale dicha función mediante el Asistente para configurar su servidor;

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Manual de Streaming con VLC

Manual de Streaming con VLC Manual de Streaming con VLC Rafael Benedicto Tovar Índice: 0 Introducción 1 Recibir la lista de emisiones de Internet con VideoLAN 2 Streaming Multicast y Unicast 2.1 Realizar emisiones de vídeo streaming

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P. Capa de TRANSPORTE Ing. José Martín Calixto Cely Original: Galo Valencia P. Capa de Transporte La Capa 1 crea y transporta las corrientes de bits; La Capa 2 encapsula los paquetes de datos en tramas, y

Más detalles

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX 16/09/2005 Índice de Contenidos 1 INTRODUCCIÓN... 1-1 2 DISTRIBUCIONES LINUX... 2-1 3 CONFIGURACIÓN DE RED EN LINUX... 3-1 3.1 FEDORA CORE 3... 3-1 3.1.1 Configuración

Más detalles

Manual LiveBox WEB ADMIN. http://www.liveboxcloud.com

Manual LiveBox WEB ADMIN. http://www.liveboxcloud.com 2014 Manual LiveBox WEB ADMIN http://www.liveboxcloud.com LiveBox Srl no asume responsabilidades o garantías sobre el contenido y uso de ésta documentación y declina cualquier garantía explicita o implícita

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

Activación de un Escritorio Remoto

Activación de un Escritorio Remoto Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda

Más detalles

GUÍAS FÁCILES DE LAS TIC

GUÍAS FÁCILES DE LAS TIC GUÍAS FÁCILES DE LAS TIC del COLEGIO OFICIAL DE INGENIEROS DE TELECOMUNICACIÓN Trabajo Premiado 2006 Autor: IPTV D. José Enrique Soriano Sevilla 17 de Mayo 2006 DIA DE INTERNET Qué es IPTV? IPTV Las siglas

Más detalles

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos ROC&C 06 Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos Dr. Juan Gabriel González Serna. M.C. Juan Carlos Olivares Rojas. Acapulco, Guerrero, México, 2006. Agenda Introducción

Más detalles

Tema 4.1: - TRANSPORTE-

Tema 4.1: - TRANSPORTE- Tema 4.1: - TRANSPORTE- -Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. Su función básica

Más detalles

Sistema de Captura Electrónica

Sistema de Captura Electrónica Sistema de Captura Electrónica Instructivo de Instalación y Configuración de Lote Server a PC Versión del Documento v2.01 INDICE INDICE... 2 Consideraciones generales de las aplicaciones... 4 Especificaciones

Más detalles

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

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles

MANUAL TRAMITACIÓN PROCEDIMIENTO

MANUAL TRAMITACIÓN PROCEDIMIENTO MANUAL TRAMITACIÓN PROCEDIMIENTO GESTIÓN ACADÉMICA: EXPEDICIÓN DE CERTIFICACIONES ACADÉMICAS Índice 1.- Introducción...3 2.- Esquema de tramitación...4 3.- Tramitación...5 Paso 1. Acceder al Escritorio

Más detalles

Formatos y Compatibilidad. Años anteriores al 2005 los formatos analógicos más comunes eran:

Formatos y Compatibilidad. Años anteriores al 2005 los formatos analógicos más comunes eran: Formatos y Compatibilidad Los formatos analógicos de video están desapareciendo rápidamente del mercado, abriéndole paso a una nueva generación de formatos de videos denominados digitales, con una calidad

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios

Más detalles

Disposición complementaria modificada en Sesión de Directorio N 967.14 del 15 de diciembre de 2014.

Disposición complementaria modificada en Sesión de Directorio N 967.14 del 15 de diciembre de 2014. Normas Complementarias al artículo 5 Disposición complementaria modificada en Sesión de Directorio N 967.14 del 15 de diciembre de 2014. DISPOSICION COMPLEMENTARIA AL ARTÍCULO 5 EN RELACION AL ACCESO DIRECTO

Más detalles

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0

PROCEDIMIENTO ESPECÍFICO. Código G083-01 Edición 0 Índice 1. TABLA RESUMEN... 2 2. OBJETO... 2 3. ALCANCE... 2 4. RESPONSABILIDADES... 3 5. ENTRADAS... 3 6. SALIDAS... 3 7. PROCESOS RELACIONADOS... 3 8. DIAGRAMA DE FLUJO... 4 9. DESARROLLO... 5 9.1. DEFINICIÓN...

Más detalles

Manual para el uso de Skype

Manual para el uso de Skype INDICE I. Conocimientos básicos..3 1. Qué es Skype? 2. Cuál es el objetivo principal? 3. Qué requisitos se requieren para su utilización? 4. Dónde se puede encontrar gratuitamente? 5. Qué beneficios ofrece?

Más detalles

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores. COMO FUNCIONA INTERNET Internet es una gran red de ordenadores a nivel mundial, que pueden intercambiar información entre ellos. Se pueden comunicar porque están unidos a través de conexiones telefónicas,

Más detalles

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA Eurowin 8.0 SQL Manual de la FIRMA DIGITALIZADA Documento: me_firmadigitalizada Edición: 02 Nombre: Manual de la Firma Digitalizada en Eurowin Fecha: 19-05-2011 Tabla de contenidos 1. FIRMA DIGITALIZADA

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

Unidad I: La capa de Red

Unidad I: La capa de Red ARP El protocolo de resolución de direcciones es responsable de convertir las dirección de protocolo de alto nivel (direcciones IP) a direcciones de red físicas. Primero, consideremos algunas cuestiones

Más detalles

(decimal) 128.10.2.30 (hexadecimal) 80.0A.02.1E (binario) 10000000.00001010.00000010.00011110

(decimal) 128.10.2.30 (hexadecimal) 80.0A.02.1E (binario) 10000000.00001010.00000010.00011110 REDES Internet no es un nuevo tipo de red física, sino un conjunto de tecnologías que permiten interconectar redes muy distintas entre sí. Internet no es dependiente de la máquina ni del sistema operativo

Más detalles

Guía curso Integrando las TICS en Segundo Ciclo Básico Guía de uso para crear videos en Windows Movie Maker

Guía curso Integrando las TICS en Segundo Ciclo Básico Guía de uso para crear videos en Windows Movie Maker Guía curso Integrando las TICS en Segundo Ciclo Básico Guía de uso para crear videos en Windows Movie Maker En la actualidad las nuevas tecnologías ofrecen una serie de ventajas y recursos para desarrollar

Más detalles