La web que se nos viene, Parte II

Sin comentarios Jueves 04/Nov/2010 , , ,

HTML5 es un borrador de lo que será uno de los cambios más grandes que ha sufrido el estándar desde que se creó, y viene para ofrecernos características innovadoras en el manejo de elementos multimedia y de descripción

Por Sebastián Salazar

Tanto Flash como SilverLight son plugins que deben ser instalados en los navegadores, dependen de una empresa en particular y tienen licencias privadas de uso.

HTML5 es un borrador de lo que será uno de los cambios más grandes que ha sufrido el estándar desde que se creó, y viene para ofrecernos características innovadoras en el manejo de elementos multimedia y de descripción de la información que no necesitarán de plugins especiales y que serán parte de todos los navegadores que implementen este estándar.

Objeto dibujado mediante Canvas

Objeto dibujado mediante Canvas

HTML5

HTML5 es un estándar que viene para cubrir aspectos que no fueron diseñados en las versiones anteriores del estándar HTML. Al ser un borrador ningún navegador ofrece soporte completo a HTML5, sin embargo, la gran mayoría de los navegadores modernos soporta un subconjunto de estas características.

Una ventaja de HTML5, es que no rompe la compatibilidad con la versión anterior, es decir que si un sitio funciona bien con HTML 4.01 o XHTML 1.x seguirá funcionando con HTML5, se puede ir añadiendo las características a medida que estas son soportadas por los diversos navegadores.

Las características más importantes del nuevo estándar son las etiquetas canvas, video, geolocalización, almacenamiento y la extensibilidad.

Canvas

La etiqueta canvas, es un área en la cuál se podrá dibujar, es el lienzo de la pintura, lo interesante es que se pueden dibujar trazos, texto, degrades y figuras. Podrán decir que esto lo han visto desde siempre en la Web (lo cuál es cierto), pero eso se lograba con imágenes estáticas o flash, lo innovador de la etiqueta canvas es que permite hacer imágenes de forma dinámica, uno de los sitios que muestran el potencial de canvas es el muro de deviantART, que permite realizar ilustraciones de calidad usando un navegador moderno (Firefox 3.6 , Opera 10.5, Chrome 5 o Safari 4). Otra aplicación interesante, es la posibilidad de crear juegos que aprovechen estas características.

Audio y Video

Todo el mundo, sabe que se puede ver video en una página web, esto nada tiene de novedoso, pero para hacerlo siempre se ha necesitado de un plugin (Flash, Quick Time, Windows Media o RealPlayer) esto resulta molesto si por ejemplo no disponemos del plugin necesario o usamos un sistema operativo para el cuál no se ha desarrollado el famoso plugin, nos quedamos sin la posibilidad de ver el vídeo (o escuchar alguna radio). HTML5, provee una manera estándar de enfrentar el problema, sin embargo, como HTML5 es aún un borrador hay todavía mucho de prueba y error en este momento (palabras de buena crianza para referirnos a que todavía no funciona del todo bien y que no existe consenso en el estándar). El Video es un tema complejo y da para mucho, pero para resumir, la mayoría de los formatos de video comunes (WebM, FLV, MP4 o MKV) son contenedores, estos contenedores tienen varias “pistas” (al menos una pista, pueden ser más, de video, otra de audio y subtítulos), por lo tanto cuando vemos un video, el reproductor (o plugin) debe hacer algunas cosas:

  1. Interpretar el contenedor, para poder extraer las pistas y reproducirlas.
  2. Decodificar el video y mostrarlo en pantalla.
  3. Decodificar el sonido y reproducirlo.
  4. Desplegar el Subtítulo.

La tarea pesada está en la decodificación de las pistas (particularmente la de video) y el encargado de esta tarea es el codec (que codifica y decodifica, de ahí su nombre), el objetivo del codec es disminuir el tamaño del archivo, usando algún truco (lo usual es guardar las diferencias de los fotogramas), de esta manera el proceso es:

  • Se debe guardar el video codificado (por ejemplo se guardan sólo las diferencias de los fotogramas)
  • Cuando se reproduce el video debe ser decodificado (se reconstruyen todos los fotogramas)

Existen codecs que pierden calidad y otros que no, sin embargo los que son factibles de usar en internet son aquellos en los cuáles se pierde un poco de calidad a favor de tener que transmitir menos información (Aún no es factible enviar 30Gib de información a través de Internet), para el caso de HTML5 son tres los codecs que están siendo propuestos: VP8, Theora y H.264.

VP8 es el codec propuesto, desarrollado e impulsado principalmente por Google (que compró a la compañía que lo desarrollaba), Theora es la evolución de un codec anterior y es desarrollado por la Fundación Xiph.org y H.264, es el competidor más aventajado, desarrollado por el grupo MPEG-LA es un codec muy usado en la actualidad y tiene mucho camino recorrido, aunque requiere tener una licencia de uso.

Más allá de las diferencias tecnológicas, la principal diferencia está en las licencias, mientras que VP8 y Theora son codecs opensource que no son afectados por patentes de software conocidas, H.264 es un codec cerrado y tiene muchas patentes encima, las patentes de software frenan la innovación y son una gran amenaza para quienes quieren desarrollar software derivado porque deben pagar royalties por el uso de lo patentado. Aunque el grupo MPEG-LA se comprometió a no cobrar en un futuro por el codec H.264, las patentes asociadas son fuente de incertidumbre y por lo anterior los navegadores opensource no soportan el codec H.264.

Esto sólo para el tema del video, en el audio tampoco hay consenso, existen tres codecs que están compitiendo por ser el estándar, por un lado el MP3, AAC (que son codec que tienen patentes asociadas) y por otro lado Vorbis (que es opensource y sin patentes conocidas). MP3 es impulsado por el grupo MPEG-LA, AAC tiene el respaldo de Apple y Vorbis es apoyada por la comunidad opensource.

El soporte en estos momentos es el siguiente (esto puede cambiar en el tiempo):

  • Mozilla Firefox (Desde la versión 3.5) es compatible con vídeo Theora y audio Vorbis en un contenedor Ogg. Firefox 4 será compatible con WebM (Vídeo VP8 y audio Vorbis).
  • Opera (Desde la versión 10.5) es compatible con vídeo Theora y audio Vorbis en un contenedor Ogg. Desde la versión 10.60 también es compatible con WebM (Vídeo VP8 y audio Vorbis).
  • Google Chrome (Desde la versión 3.0) es compatible con vídeo y audio Vorbis Theora en un contenedor Ogg. Además soporta vídeo H.264 y de audio AAC en un contenedor MP4. Desde la versión 6.0 también soporta WebM (Vídeo VP8 y audio Vorbis).
  • Safari soporta los contenedores y codecs licenciados, pero no tiene soporte para los codecs libres (VP8, Theora, Vorbis) a menos que se instale software adicional, la configuración predeterminada es soporte para video H.264 y de audio AAC en un contenedor MP4.
  • Los teléfonos móviles como el iPhone de Apple y los teléfonos Android de Google soportan vídeo H.264 (perfil de línea de base) y audio AAC (en el perfil de baja complejidad) en un contenedor MP4. Principalmente porque tiene decodificadores especiales integrados en el teléfono.
  • Adobe Flash (Desde la versión 9.0.60.184) soporta vídeo H.264 y de audio AAC en un contenedor MP4.
  • Internet Explorer (Desde la versión 9.0) soportará vídeo H.264 y de audio AAC en un contenedor MP4. Las versiones previas no soportan la etiqueta video y pueden reproducir video gracias a los plugins de las diferentes empresas.

Aún no hay un traspaso completo hacia el video en HTML5, pero hay algunas pruebas interesantes, como la que hace google, para promover el contenedor WebM en youtube. Para quienes desarrollan contenido la máxima compatibilidad está en tener cubierta todas las posibilidades (tener video en WebM, MP4, H.264 y AAC en baja complejidad y la versión flash), pero es probable que a medida que pase el tiempo, los navegadores irán soportando más opciones y la tarea se vea reducida.


HTML5 DEMOS

http://muro.deviantart.com/

http://www.nihilogic.dk/labs/mariokart/

http://www.youtube.com/html5