Diapositiva 1
Transcripción
Diapositiva 1
Comunicaciones multimedia Web Multimedia Daniel A. Rodríguez Silva [email protected] Diciembre de 2011 Máster en Aplicaciones de Procesado de Señal en Comunicaciones Índice 1.Introducción 2.Evolución de la web: Web 2.0 3.Comunicación asíncrona: AJAX 4.Rich Internet Applications (RIA) 5.Multimedia en la web, HTML5 6.Conclusiones Máster en Aplicaciones de Procesado de Señal en Comunicaciones Introducción (I) • El uso de Internet se ha incrementado enormemente en los últimos años: Máster en Aplicaciones de Procesado de Señal en Comunicaciones Introducción (II) • Causas: • Tecnologías al alcance de todos • Mayor formación informática • Uso de internet como medio de difusión, profesional, ocio... • Abaratamiento del acceso (ADSL, HSDPA) Máster en Aplicaciones de Procesado de Señal en Comunicaciones Introducción (y III) • Los contenidos de Internet son cada vez más variados y vistosos: • Digitalización de la información • Audio: MP3, WMA, OGG • Imágenes: Cámaras digitales • Vídeo: TDT, DVD, DIVX, HDTV • Posibilidad de acceder a Internet desde multitud de dispositivos: móvil, PS, TV • Cada vez más dispositivos permiten visualizar contenidos multimedia Adaptación Web Máster en Aplicaciones de Procesado de Señal en Comunicaciones Evolución de la web (I) • Web 1.0: • Internauta usuario pasivo • Búsqueda de información • Comunicación básica entre usuarios : chats, foros,… • Web 2.0: • Internauta pasa a ser el protagonista. • Compartir es la clave comunidades • Contenidos cambian continuamente colaboración usuarios Redes sociales Máster en Aplicaciones de Procesado de Señal en Comunicaciones Evolución de la web (II) • La Web 2.0. es un concepto acuñado por Tim O’Reilly en el año 2004 y constituye un cambio de paradigma. • La Web 2.0 se basa en tres principios fundamentales: • La Red Social: se trata de conectar personas, no ordenadores Blogs, MySpace, Facebook, Twitter • Contenidos generados por el usuario: El internauta participa en dos direcciones: Obtiene contenidos e introduce contenidos (etiquetados) Wikipedia, Flickr, YouTube • La sabiduría de la multitud: la colaboración de gran cantidad de internautas dentro de una red social eleva el volumen y el valor de los contenidos hasta límites insospechados Wikipedia, Foros Máster en Aplicaciones de Procesado de Señal en Comunicaciones Evolución de la web (y III) • La evolución de la web implica un cambio en su diseño: • Mejoras visuales • Mayor dinamismo e interactividad • Rapidez en las respuestas comunicación asíncrona Máster en Aplicaciones de Procesado de Señal en Comunicaciones Comunicación Asíncrona: AJAX • Supone una revolución en cuanto al interfaz web. • Repercusión: • Usuarios • Interfaz más atractiva • Reducción de tiempos de espera • Mayor interactividad y dinamismo • Programadores • Diferente enfoque de las aplicaciones web • Dominio de XHTML + Javascript + CSS • Concepto de comunicación asíncrona • No es una nueva tecnología, sino la combinación de varias existentes: XHTML + Javascript + CSS Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: XHTML (I) • HTML: HyperText Markup Language • No es lenguaje de programación; es lenguaje de descripción de documentos. • Etiquetas permiten estructurar los contenidos. • Evolución de HTML XHTML: sigue el estándar XML <html> <head> <title>Título da páxina</title> </head> <body> <h1>Título 1</h1> <p><em>Párrafo</em></p> <br/> <img src="imaxe.png" alt="Imaxe"></img> <a href="enlace.html">Enlace</a> </body> </html> Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: XHTML (II) • • • • • • • • • • • Todas las etiquetas se deben cerrar siempre: <br/> o <br></br> Los elementos anidados deben tener un orden correcto de apertura/cierre (el que se abre último, debe cerrarse primero) Insertar elementos de línea dentro de elementos de bloque: <h2><em>Título</em></h2> Los valores de los atributos deben sempre ir entre comillas (simples o dobles): <td rowspan="3"> Las imágenes siempre deben llevar el atributo “alt” de texto alternativo El símbolo & (ampersand) debe ser usado únicamente como parte de una entidad: Tom & Jerry Los nombres de elementos y atributos deben ir en minúsculas Los atributos siempre deben ir con un valor: <textarea readonly="readonly">Solo-lectura</textarea> Los atributos desaprobados en HTML 4.01 no forman parte de XHTML: Incorrecto: <font color="#0000FF">Texto Azul</font> Correcto: <span style="color: #0000FF;">Texto Azul</span> Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: XHTML (y III) <TABLE> <TBODY> <TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR> <TR> <TD>Over the River, Charlie</TD> <TD>Dorian</TD> </TR> </TBODY> </TABLE> • Document Object Model (Modelo de Objetos del Documento): – Es una interfaz de programación de aplicaciones (API) para documentos XML. – Define la estructura lógica de los documentos y el modo en que se accede y manipula un documento. – Existen varios niveles de DOM (ha ido evolucionando): • Level 0, Level 1 (XML, HTML), Level 2 (CSS, Eventos), Level 3 (Xpath) Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Javascript • Lenguaje de programación para web que permite ejecutar rutinas en el lado del cliente, aportando dinamismo a la página y permitiendo a los usuarios realizar interacciones complejas • Es un lenguaje interpretado, no requiere compilación • No es un lenguaje orientado a objetos propiamente dicho, ya que no dispone de Herencia. Es más bien un lenguaje basado en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. • Todos los navegadores interpretan el código JavaScript integrado dentro de las páginas web. Para interactuar con una página web, se provee el lenguaje JavaScript de una implementación del DOM. Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Javascript (DOM) • Existen 3 modelos de objeto: • El núcleo del lenguaje y librerías Javascript • El modelo de objeto de navegador • Depende del propio navegador (p.ej.: window.alert() ) • El modelo de objeto de documento (DOM) Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: CSS (I) • Cascade Style Sheets: Hojas de estilo en cascada • Definiciones que permiten “decorar” una página web • Interesa separar sempre el contenido de la presentación • Se aplican los tags del documento que tiene el contenido (XHTML) • Modelo de caja: • Los elementos descritos en CSS están enmarcados en boques o “cajas” a las cuales se le dan propiedades • Cada caja tiene un área de contenido y las áreas circundantes opcionales de padding, border y margin • Con CSS es complejo tratar con curvas • CSS2,CSS3 Añaden muchas mejoras Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: CSS (II) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML><HEAD><TITLE>Exemplo</TITLE> <STYLE type="text/css"> UL { background: #ffc62d; margin: 12px 12px 12px 12px; padding: 3px 3px 3px 3px; /* No se especifica borde */ } LI { color: black; /* color del texto negro */ background: #8080ff; /* Contenido, padding será violeta */ margin: 12px 12px 12px 12px; padding: 12px 0px 12px 12px; /* 0px para padding right */ list-style: none /* sin viñeta antes dun ítem */ /* Ningún borde definido */ } LI.withborder { border-style: dashed; border-width: medium; /* ancho para todos los lados */ border-color: black; } </STYLE></HEAD> <BODY> <UL> <LI>El primer elemento <LI class="withborder”>El segundo elemento de la lista es más largo y se ajusta. </UL> </BODY></HTML> Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: DHTML • DHTML surge de juntar todas las tecnologías anteriores. • Típicamente utilizaremos el atributo id para acceder a los elementos HTML de forma dinámica desde Javascript: • <div id="Nombre"> para elementos de bloque • <span id="Nombre"> para elementos de línea • Si queremos aplicar estilos a un elemento de este tipo, anteponemos una # al identificador • #Nombre { background: white; color: black } • Se utiliza el método getElementById para instanciar el elemento con identificador desde Javascript y poder acceder así a sus propiedades: • var instanciaNombre = document.getElementById("Nombre"); • instanciaNombre.style.color = "blue"; Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX • AJAX viene siendo DHTML + comunicación asíncrona con XML • Utiliza para ese fin el objeto XMLHttpRequest • No todos los navegadores instancian de la misma forma este objeto: • Firefox, Mozilla, Netscape: • new window.XMLHttpRequest; • Internet Explorer (a partir da versión 5.0): • new window.ActiveXObject("Microsoft.XMLHTTP") o mejor • new window.ActiveXObject("MSXML2.XMLHTTP") Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: XMLHttpRequest • onreadystatechange (lectura/escritura): permite asignar un manejador (función) para el evento que aparece cuando cambia readyState. • readyState (sólo lectura): estado de la petición • 0: no iniciado • 1: cargando • 2: cargado • 3: interactivo • 4: completo • responseText (sólo lectura): respuesta como String • responseXML (sólo lectura): respuesta como objeto XML • status (sólo lectura): código estado de la respuesta HTTP • 200: Ok • 404: No encontrado • statusText (só lectura): texto do estado da resposta HTTP Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Ejemplo (I) • onclick="obtenerDatos('http://localhost/ajax/datos.php','divTexto')" function obtenerDatos(url, idEtiqueta) { var xhr=crearXHR(); if (xhr) { var obx=document.getElementById(idEtiqueta); xhr.open(“POST", url, true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState==4 && xhr.status==200) { obx.innerHTML = xhr.responseText; } } var nombre=“Pepe”; xhr.send(“nombre=“+nombre); // Datos POST } } Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Ejemplo (II) • Script PHP server-side (datos.php) <?php $nombrePost=$_POST[“nombre"]; $email=getEmail($nombrePost); // lee el email de una BD header("Content-type: text/plain"); $res = ‘<table><tr> <td>Nombre: $nombrePost</td> <td>Email: $email</td> </tr><table>’; echo $res; ?> Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Ejemplo (III) <html><head><title>Exemplos AJAX</title></head> <script language = "javascript">…</script> <body><h2>Exemplo 3</h2> <input type="button" value="Mostrar datos" onclick="obtenerDatos('http://localhost/ajax/datos.php','divTexto');"> <br/><div id="divTexto"><p>La respuesta irá aquí</p></div> </body></html> La respuesta irá aquí Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX: Ejemplo (y IV) <html><head><title>Exemplos AJAX</title></head> <script language = "javascript">…</script> <body><h2>Exemplo 3</h2> <input type="button" value="Mostrar datos" onclick="obtenerDatos('http://localhost/ajax/datos.php','divTexto');"> <br/><div id="divTexto"><p>La respuesta irá aquí</p></div> </body></html> Nombre: Pepe Email: [email protected] Máster en Aplicaciones de Procesado de Señal en Comunicaciones Ventajas AJAX • El interfaz tiene un tiempo de respuesta menor dando al usuario la sensación de obtener respuestas casi instantáneas la mayor parte del tempo. • El usuario puede seguir interactuando con la página mientras la respuesta no llega. • Si una sección de una página encuentra un error, otras secciones no se verán afectadas y los datos introducidos por el usuario no se perderán. • En las aplicaciones web clásicas se usan múltiples conexiones para acelerar la descarga de los distintos elementos que hay dentro de <body>, pero los elementos enlazados desde la cabecera (scripts, CSSs) van en una única conexión bajando el rendimento. Con AJAX no es necesario recargar la cabecera, pudiendo hacer múltiples conexiones para obtener los diferentes contenidos dinámicamente. • El tráfico desde y hacia el servidor es reducido considerablemente, porque no es necesario enviar la página completa de nuevo. Máster en Aplicaciones de Procesado de Señal en Comunicaciones Inconvenientes AJAX • • • • • • Construir aplicaciones web basadas en AJAX puede incrementar el tiempo de desarrollo y costes. La mezcla de tecnologías y la falta de entornos de programación que las soporten de forma conjunta dificulta, de momento la programación y depuración de este tipo de aplicaciones. Aún que AJAX comprende un conjunto de tecnologías muy utilizadas, los frameworks y componentes disponibles aún no están totalmente maduros ni estandarizados. Por ejemplo, no se puede recibir algo que no sea “texto” Aún no están resueltos todos los aspectos relacionados con la seguridad y privacidad. Existe excepticismo respecto a la seguridad de las aplicaciones AJAX. La forma asíncrona con la que AJAX se comunica con el servidor entra en conflicto con el uso tradicional de los favoritos (bookmarks) o del botón “Atrás”, ya que no se guarda el estado exacto de la página después de unas cuantas interacciones. Accesibilidad. No todos los navegadores (especialmente los de móviles) tienen soporte completo para Javascript y para el objeto XMLHttpRequest en el que se basa la comunicación asíncrona, que además no tiene un comportamento uniforme. AJAX no permite acceder a la información de otros servidores: el propio objeto XMLHttpRequest, debido a restricciones de seguridad, sólo puede acceder a información del mismo host donde está alojada la página inicial. Máster en Aplicaciones de Procesado de Señal en Comunicaciones Ejemplos AJAX • • • • • • • • • Google search: http://www.google.com Google maps: http://maps.google.es Album fotos Flickr: http://www.flickr.com Netvibes: http://www.netvibes.com Bindows: http://www.bindows.net/demos Pchess: http://www.jesperolsen.net/PChess eyeOS: http://eyeos.org Meebo: http://www.meebo.com Protopage: http://www.protopage.com/ Máster en Aplicaciones de Procesado de Señal en Comunicaciones Adobe Flash • Aplicación de Adobe (de Macromedia antiguamente) en forma de animación que trabaja sobre "Fotogramas“. • Permite crear contenido interactivo visualmente atractivo (principalmente para web) • Utiliza gráficos vectoriales e imágenes ráster, sonido, código de programa, flujo de vídeo y audio bidireccional • Flash es el entorno y Flash Player es la MV para ejecutar los archivos generados con Flash (SWF). • El plugin del reproductor es multiplataforma • Entorno de desarrollo visual, pero se complementa con un lenguaje de script (Action Script) • Tecnología ampliamente utilizada para mostrar contenidos web multimedia no complejos • Competencia: • Shockwave: menos popular pero más potente. • Silverlight: solución de Microsoft Máster en Aplicaciones de Procesado de Señal en Comunicaciones AJAX vs. Flash • • • • • • • • • Tecnologías diferentes que pueden coexistir Flash: más orientado a animaciones y multimedia Con AJAX son mucho más costosas en tiempo y esfuerzo. Flash se programa con entornos visuales (programar es más sencillo), pero normalmente de pago. Flash no es libre y necesita plugin, pero está muy extendido Existen más librerías para AJAX que para Flash Flash necesita requisitos hardware más exigentes que AJAX, sobre todo para multimedia y animaciones. Contenidos de páginas con Flash no adecuados para los buscadores, pero tampoco todos los contenidos dinámicos de páginas AJAX Las páginas con Flash son más difíciles de copiar Máster en Aplicaciones de Procesado de Señal en Comunicaciones Aplicaciones Web Híbridas (Mashups) • • Sitios web o aplicaciones web que usan contenido de otras aplicaciones web para crear un nuevo contenido completo, consumiendo servicios directamente siempre a través de protocolo HTTP. • Utilizan comunicación asíncrona para obtener los contenidos • Existe un filtrado de información para extraer sólo lo relevante Ejemplos: • • Web que muestra noticias de deportes sacadas de RSS de varios portales de deportes: http://news.google.es/news Combinación Google Maps + Inmuebles: http://www.housingmaps.com Panoramio: http://www.panoramio.com • • • • Yahoo Pipes: http://pipes.yahoo.com Microsoft Popfly (obsoleto): http://www.popfly.com OpenKapow: http://openkapow.com Intel Mash Maker http://mashmaker.intel.com/web/ • • Principales aplicaciones para desarrollar mashups: Máster en Aplicaciones de Procesado de Señal en Comunicaciones Rich Internet Applications (RIA) • Tendencia de la web hacia aplicaciones de escritorio • Navegadores más inteligentes y potentes Navegador es el punto de entrada hacia servicios web • Sistema Operativo local: Navegador + S.O. Remoto • Esquema petición / respuesta ineficiente tiende a desaparecer eliminando el concepto de página • AJAX no es más que un “parche” utilizando las tecnologías disponibles hasta la fecha, pero no constituye realmente un nuevo paradigma. • Necesidad de un nuevo paradigma que aporte nuevas tecnologías apropiadas para esta evolución de la web • RIA es un término inventado por Macromedia en un intento de establecer las bases de este nuevo paradigma Máster en Aplicaciones de Procesado de Señal en Comunicaciones RIA: Concepto (I) • • Es un nuevo paradigma de desarrollo de aplicaciones web que está emergiendo actualmente con mucha fuerza en el mundo de las Tecnologías de la Información y los negocios. Principales características: • Riqueza: habilidad para incorporar interactividad e interfaces de usuario intuitivas en el cliente • Alcance: habilidad de la aplicación para estar disponible para cualquier usuario en el lugar del planeta en el que éste se encuentre. Máster en Aplicaciones de Procesado de Señal en Comunicaciones RIA: Concepto (y II) • Relación entre las aplicaciones web y las de escritorio considerando el tipo procesamiento (cliente-servidor): Máster en Aplicaciones de Procesado de Señal en Comunicaciones RIA: Características (I) • Comúnmente constituye una arquitectura orientada a servicios (SOA) que pretende ofrecer a los usuarios una solución eficiente basada en Internet usando estándares. • Encaja dentro del tradicional proceso de desarrollo multicapa y se integra en los sistemas actuales fácilmente. • Puede servir como capa de presentación sobre Web Services • Puede tratar con aplicaciones complejas, reduciendo el coste de desarrollo. Máster en Aplicaciones de Procesado de Señal en Comunicaciones RIA: Características (y II) • • • • • • • • • • • • • • • Multiplataforma Gran interactividad, interfaces dinámicos y potentes Procesado y renderización en el cliente Posibilidad de realizar tareas complejas del lado de cliente Buen funcionamiento independientemente del BW Utilizar audio, video, imágenes y texto conjuntamente Usar audio y vídeo de forma integrada e independientemente del servidor o back end al cual está conectado. Soporte para acceso desde dispositivos móviles Enviar y recibir datos asíncronamente en background Aceso a varios tipos de servicios multicapa (.NET, Java, ColdFusion..) y a bases de datos Uso de estándares (XML-RPC, SOAP, REST…) en aplicaciones basadas en Web Services Facilidad de integración en aplicaciones existentes Extensible y escalable Ser accesible desde cualquier parte Utilizar contenido ubícuo Máster en Aplicaciones de Procesado de Señal en Comunicaciones Plataformas RIA: Adobe • • • • • • Cliente: Flash Player (con navegador), Adobe AIR (sin navegador) Framework: Flex Servidor: Flash Media Server, Cold Fusion… Flex permite a aplicaciones Flash interactuar con soluciones de servidor mediante varios protocolos como SOAP (Simple Object Access Protocol), REST o XML via HTTP. Flex Data Service ofrece comunicación con JavaEE application server, real-time streaming, mensajería, seguridad y gestión de transacciones Flex se utiliza con aplicaciones que se ejecutan dentro de un navegador Máster en Aplicaciones de Procesado de Señal en Comunicaciones Plataformas RIA: Microsoft • Cliente: Silverlight (plugin) • Framework: Silverlight (XAML) • Servidor: .NET • Silverlight o WPF/E (Windows Presentation Foundation / Every-where) permite construir aplicaciones basadas en .NET para ejecutarse en el navegador de forma similar a Flash, pero usando estándares (XAML). Máster en Aplicaciones de Procesado de Señal en Comunicaciones Plataformas RIA: Sun • • • • • • Cliente: Java Applet (plugin) Framework: JavaFX (JavaFX Script) Servidor: J2EE Java siempre tuvo presencia para crear aplicaciones del lado del cliente: • Java Rich Client • Applets Java • Java Web Start JavaFX permite desarrollar interfaces de cliente de forma sencilla capaces de interactuar con servidores Java. Funciona en cualquier plataforma con JVM instalada Máster en Aplicaciones de Procesado de Señal en Comunicaciones Plataformas RIA: Otras soluciones • • • • OpenLaszlo: Similar a Flex, usa Flash o DHTML/AJAX como clientes. Servidor basado en servlets Java. GWT (Google Web Toolkit): API que permite a los usuarios crear aplicaciones AJAX con Java. Es Open Source y soporta widgets. ULC (Ultra Light Client): es una librería Java para construir aplicaciones cliente ligeras con JEE gracias a Canoo AG. ULC consiste en un motor de presentación ligero para el cliente basado en Java que puede ser instalado la primera vez o ejecutarse como un applet cada vez que sea necesario. Echo: es una plataforma creada por Nextapp. Permite construir aplicaciones del lado del servidor con Java y describir la GUI con una API Java orientada a componente. En el lado del cliente se mostrará una intefaz basada en AJAX. La transformación de la interfaz Java a contenidos AJAX es realizada de forma transparente por Echo. Máster en Aplicaciones de Procesado de Señal en Comunicaciones Plataformas RIA: Comparativa Máster en Aplicaciones de Procesado de Señal en Comunicaciones Demanda del mercado Máster en Aplicaciones de Procesado de Señal en Comunicaciones Cloud Computing: concepto (I) Aplicaciones de escritorio DATOS APLICACIÓN • Necesitan instalación y mantenimiento • Su rendimiento depende del equipo donde se ejecuten. • Puede requerir permisos para instalarse en el S.O. Máster en Aplicaciones de Procesado de Señal en Comunicaciones Cloud Computing: concepto (y II) Aplicaciones en la nube DATOS APLICACIÓN • Datos accesibles desde cualquier lugar con una conexión a Internet • No necesitan instalación • Recursos bajo demanda Máster en Aplicaciones de Procesado de Señal en Comunicaciones Cloud Computing: niveles • Nivel de aplicación (SaaS): Aplicaciones típicas finales • Nivel de plataforma (PaaS): Ayuda para realizar tus propias aplicaciones en la nube • Nivel de infraestructura (IaaS) Acceso a recursos físicos: • CPU • Memoria • Máquinas Virtuales Máster en Aplicaciones de Procesado de Señal en Comunicaciones Cloud Computing: ejemplos Google News Google Calendar Google Docs Gmail Google Talk Google Reader Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web (I) • Imágenes: • Es el elemento más veterano • Formatos más utilizados: jpg, gif, png • Es crucial ajustar el tamaño de la imagen para no sobrecargar la página • Navegadores manejan imágenes de forma nativa • Audio: • Formatos más utilizados: mp3, wma, ogg • Gracias a la alta compresión se ha extendido con rapidez • Necesario plugin para reproducción • Vídeo: • El tamaño es el principal problema • Formatos más utilizados: flv, wmv, avi, mpg, mov • Necesario plugin para reproducción Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web (II) • FLV es el formato de vídeo más utilizado gracias a su integración con aplicaciones Flash • • Formato vídeo: • • • Contienen bit streams de vídeo que son una variante del estándar H.263, bajo el nombre de Sorenson Spark Flash Player 8+ soporta video On2 TrueMotion VP6 mejor calidad visual Más costoso computacionalmente Formato audio: • Codificado como MP3, pero el grabado con micrófono usa el códec propietario Nellymoser. También soporta audio sin comprimir ADPCM • • • • Fichero .FLV Dentro de un .SWF Descarga progresiva mediante HTTP (YouTube, Metacafé…) Mediante el protocolo RTMP (Flash Media Server) • • Debe existir una aplicación Flash en el cliente encargada de la reproducción. Difusión: Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web (y III) • Gráficos vectoriales: • Formato SVG (Scalable Vector Graphic) • No muy extendido • Sólo lo soportan los navegadores más recientes • Formato PDF (Portable Document Format) • Muy extendido • Puede contener documentos complejos • Necesita plugin • Animaciones: • GIF/PNG animado: útil para animaciones sencillas • Flash / Shockwave / Silverlight: • Animaciones más sofisticadas y vistosas • Necesita plugin • Applet Java: útil para animaciones muy complejas Máster en Aplicaciones de Procesado de Señal en Comunicaciones Tipos MIME • • Multipurpose Internet Mail Extensions • Especificaciones dirigidas al intercambio a través de Internet de todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario. Principales tipos MIME multimedia: Description of Data Content Typical Filename Extensions MIME type/subtype Text and Text-Related Types HTML text data (RFC 1866) Plain text: documents; program listings Document Stylesheet Types html htm txt c c++ pl cc h text/html text/plain Cascading Stylesheets Image Types css text/css GIF Portable Network Graphics JPEG TIFF Audio/Voice/Music Related Types gif png jpeg jpg jpe tiff tif image/gif image/x-png image/jpeg image/tiff "basic"audio - 8-bit u-law PCM Macintosh audio format (AIpple) Microsoft audio MPEG audio MPEG-2 audio MIDI music data Video Types au snd aif aiff aifc wav mpa abs mpega mp2a mpa2 mmid audio/basic audio/x-aiff audio/x-wav audio/x-mpeg audio/x-mpeg-2 x-music/x-midi MPEG video MPEG-2 video Macintosh Quicktime Microsoft video mpeg mpg mpe mpv2 mp2v qt mov avi video/mpeg video/mpeg-2 video/quicktime video/x-msvideo Máster en Aplicaciones de Procesado de Señal en Comunicaciones Insertar Elementos Multimedia (I) • • No consenso en etiquetas para incrustar elementos multimedia: BGSOUND, EMBED, APPLET, OBJECT Intento de normalización Etiqueta OBJECT (HTML 4.01) Máster en Aplicaciones de Procesado de Señal en Comunicaciones Insertar Elementos Multimedia (II) Animación Flash Fichero MP3 Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web: Imágenes • Portales destacados basados en imágenes: • Galería de fotos on-line: Flickr (http://www.flickr.com), Photobucket (http://photobucket.com) • Catálogo de fotos on-line: Istockphoto (http://www.istockphoto.com), Fotolia (http://es.fotolia.com) • Blogs basados en fotografías: Fotoblog (http://www.fotoblog.com), Animus3 (http://www.aminus3.com) • Geolocalización de fotografías: Panoramio (http://www.panoramio.com) Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web: Audio • Portales destacados basados en audio: • • • Música (via streaming): • Listas de reproducción personalizadas: LastFM (http://www.last-fm.es ), Jiwa (http://www.jiwa.fm), Rockola (http://www.rockola.fm) • Radio gratis on-line: Shoutcast (http://www.shoutcast.com), Podcast-es (http://www.podcast-es.org) VoIP: • Llamadas telefónicas a través de internet: Google Voice (https://www.google.com/voice), Gizmo5 (http://www.gizmo5.com), Jajah (http://www.jajah.com) Texto-a-voz: • Permite leer textos en voz alta: Loquendo: http://www.loquendo.com/es/demo-center/tts-demo/spanish/, Sonowebs (http://www.sonowebs.com), Vozme (http://vozme.com) Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en la Web: Vídeo • Portales destacados basados en vídeo: • Difusión (donde usuarios suben vídeos, series, pelis): • YouTube: http://www.youtube.com • Metacafé: http://www.metacafe.com • Dailymotion: http://www.dailymotion.com • Megavideo: http://www.megavideo.com • TV: • YouTube: muchos canales de TV publican vídeos • TerraTV: http://www.terra.tv (tb alta definición) • Canales TV: • RTVE: http://www.rtve.es (directo) • Telecinco: http://mitele.telecinco.es • LaSexta: http://www.misexta.tv Máster en Aplicaciones de Procesado de Señal en Comunicaciones HTML5 • Nueva especificación del W3C para el estándar web • HTML5 = HTML5 + ECMAScript + CSS3 + SVG + + Geolocalización + WebApps • Características: • • • • • • • • • • • Compatibilidad: evolución del HTML4 Utilidad: centrada más en usuarios que en desarrolladores Interoperabilidad: facilidad para intercambio de información Acceso universal: independencia de dispositivos y plataformas Semántica: dota de significado la información que maneja. Almacenamiento offline: datos accesibles sin conexión. Acceso a dispositivos: geolocalización, entradas audio/video… Conectividad: web sockets y eventos “de servidor”. Rendimiento e integración: web más dinámica y rápida. CSS3: mejoras notables en la visualización final. Multimedia: audio, video, 3D, dibujos, efectos, animaciones… Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en HTML5 (I) • • • • • • Canvas: API que permite generar y renderizar dinámicamente gráficos, mapas, imágenes, dibujos, animación… SVG (Scalable Vector Graphics): utiliza XML para definir lo que tiene que dibujar y se puede combinar con CSS y Javascript. Contenedores audio/video: • MPEG4 (.mov): basado en el contenedor QuickTime de Apple • Flash Video (.flv): popular formato de Adobe Flash. • Ogg (.ogv): estándar abierto (Theora+Vorbis) • WebM: tiene el respaldo de Google (VP8+Vorbis). • Audio Video Interleave (.avi): inventado por Microsoft. Codecs soportados: • Audio: MP3, AAC, Vorbis • Video: H.264, Theora, VP8 Restricción: actualmente no se soporta streaming de audio/video Etiquetas <audio>, <video> y <canvas> permiten insertar audio, video y animaciones en el HTML sin necesidad de plugin. • <video src="/videos/video1.ogg" controls=1 autoplay=1> Máster en Aplicaciones de Procesado de Señal en Comunicaciones Multimedia en HTML5 (y II) • • Características HTML5: http://slides.html5rocks.com/ Ejemplos video, canvas: • http://www.dailymotion.com/html5 • http://people.mozilla.com/~prouget/demos/DynamicContentInj ection/play.xhtml Máster en Aplicaciones de Procesado de Señal en Comunicaciones Conclusiones • La web ha evolucionado mucho desde sus inicios y han surgido nuevas tecnologías que mejoran la experiencia del usuario y la productividad • Las webs son cada vez más vistosas y ricas en contenido necesitan soporte para la gran cantidad de información multimedia digital que existe • Aplicaciones web tienden a parecerse a aplicaciones de escritorio aprovechando la gran capacidad de computación de los clientes S.O. remoto (WS, Cloud) • Es necesario adaptar formatos digitales para poder utilizar material multimedia en la web eficientemente • Flash es actualmente la tecnología más utilizada para visualizar contenidos multimedia en la web • Formato contenidos multimedia cambia continuamente web multimedia en continua evolución HTML5 Máster en Aplicaciones de Procesado de Señal en Comunicaciones Referencias • • • • • • • • • Lee Babin, “Beginning Ajax with PHP. From novice to professional”, Ed. Apress, 2007 Dave Crane, Eric Pascarello, “AJAX in Action”, Ed. Manning, 2006 Wallace B. McClure, Scott Cate, Paul Glavich, Craig Shoemaker, “Beginning Ajax with ASP.NET” Antonio Paniagua Navarro, Flash CS4 Professional, Ed. Anaya Multimedia, 2009 Y. Fain, V. Rasputnis, A. Tartakovsky, “Rich Internet Applications with Adobe® Flex™ & Java™. Secrets of the Masters”, Ed. SYS-CON Media, 2007 http://es.wikipedia.org/wiki/Rich_Internet_Application http://theopensourcery.com/xmlria.htm http://download.macromedia.com/pub/flash/whitepapers/ric hclient.pdf HTML5 draft: http://dev.w3.org/html5/spec/Overview.html Máster en Aplicaciones de Procesado de Señal en Comunicaciones