HTML y CSS para principiantes

HTML y CSS para principiantes (Parte 22): Multimedia para el sitio web (1)

Todos los vídeos del tutorial

Para que todos podamos rememorar por un momento, he aquí un ejemplo de cómo incrustar vídeos en un sitio web de la forma clásica:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"> <param name="allowFullScreen" value="true" /> <param name="allowscriptaccess" value="always" /> <param name="src" value="http://www.youtube.com/v/oHg5SJYRHA0&hl=en&fs=1&" /> <param name="allowfullscreen" value="true" /> <embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/oHg5SJYRHA0&hl=en&fs=1&" allowscriptaccess="always" allowfullscreen="true"> </embed> </object>

Por supuesto, una sintaxis así es de todo menos bonita.

HTML y CSS para principiantes (Parte 22): Multimedia para el sitio web (1)

Pero incluso si usted ignora el punto de vista estético: La sintaxis en esta forma es simplemente demasiado propenso a errores y demasiado complejo. Es mucho más fácil integrar vídeos en HTML5. Para ello se utiliza el elemento de vídeo.

He aquí un ejemplo de cómo se puede integrar este elemento de vídeo:

<video src="video.ogv" width="300" height="200"> Lamentablemente, su navegador no es compatible con HTML5 </video>.



Esta es la variante más sencilla de este formulario. Sin embargo, tres atributos son decisivos para esta forma sintáctica. El vídeo a incrustar se especifica mediante src. Asegúrese de introducir aquí la ruta correcta. Los dos atributos width y height determinan la anchura y la altura del vídeo. Si no se especifica ninguno de los dos valores, el vídeo se mostrará en su tamaño original. Si sólo introduces uno de los dos valores, el otro lo calcula automáticamente el navegador. El atributo autoplay indica al navegador que inicie el vídeo automáticamente en cuanto se haya cargado la página. Este atributo no debería configurarse normalmente, ya que la reproducción automática no suele ser deseada por los usuarios. Esto se aplica sobre todo a los usuarios que utilizan dispositivos móviles con poco ancho de banda.

Otro atributo interesante son los controles. Si se utiliza, el navegador mostrará elementos de control nativos para la reproducción y el volumen.

<video src="video.ogv" width="300" height="200" controls> Lamentablemente, tu navegador no es compatible con HTML5 </video>

Aquí está el resultado en el navegador:

HTML y CSS para principiantes (Parte 22): Multimedia para el sitio web (1)

El vídeo no sólo se puede pausar y reiniciar mediante la barra que aparece, sino que también contiene el control de volumen.

HTML y CSS para principiantes (Parte 22): Multimedia para el sitio web (1)

Se puede utilizar el atributo poster para especificar una imagen que se mostrará hasta que se inicie el vídeo. Para ello se utiliza el atributo poster.

<video src="video.ogv" width="300" height="200" poster="video.gif"> Lamentablemente, tu navegador no es compatible con HTML5 </video>.



De nuevo, asegúrese de introducir la ruta correcta para que la imagen pueda verse realmente.

HTML y CSS para principiantes (Parte 22): Multimedia para el sitio web (1)

Se recomienda precaución al utilizar el atributo autoplay. Este atributo especifica que el vídeo debe reproducirse automáticamente en cuanto esté disponible.

<video src="video.ogv" width="300" height="200" autoplay> Lamentablemente, tu navegador no es compatible con HTML5 </video>.



El atributo preload puede ser interesante en términos de tráfico. Esto se debe a que este atributo controla el comportamiento de precarga. El atributo puede tener los siguientes valores:

- auto - El navegador puede precargar todo el archivo.

- none - No es necesario precargar el archivo.

- metadata - El archivo puede ser precargado.

Si falta el atributo preload, se aplica la configuración por defecto del navegador.

Los vídeos y los códecs

Cualquiera que se ocupe de incrustar y reproducir vídeos en sitios web se encontrará tarde o temprano con el problema de los distintos códecs. Gracias a estos códecs, los vídeos pueden comprimirse y descomprimirse eficazmente. El problema es que los fabricantes de navegadores aún no se han puesto de acuerdo sobre un formato común de códecs. Para HTML5 (y, en última instancia, también para usted), esto significa que no hay códecs estandarizados para vídeos y archivos de audio.

En el caso de los vídeos, los formatos Ogg y MP4 se han consolidado. Por tanto, siempre estará en el lado seguro si ofrece el vídeo en estos dos formatos. Para ello, asigne dos elementos fuente al elemento de vídeo.

<video width="400" height="300" controls="controls"> <source src="video.mp4" type="video/mp4" /> <source src="video.ogg" type="video/ogg" /> </video>



Aquí no se especifica la fuente de vídeo dentro del elemento vídeo. En su lugar, sólo se proporciona información general sobre la visualización. El elemento source determina el vídeo que se mostrará. El vídeo correspondiente se asigna al atributo src. A continuación se indica el tipo de vídeo y el formato en el que está disponible el vídeo.

Si se especifican varios elementos fuente, el navegador siempre reproduce el primer vídeo que "encaja". A continuación se describe en qué consiste este "encaje".

Pero, ¿qué navegador soporta realmente qué formato? La siguiente tabla ofrece la respuesta a esta pregunta.

Navegador Ogg Theora (.ogg) h.264 (.mp4)
Internet Explorer A partir de la versión 9
Mozilla Firefox
Google Chrome
Opera
Safari
iPhone
Android



La tabla deja claro el dilema: la interpretación de los formatos se distribuye casi a partes iguales entre los distintos navegadores. Por lo tanto, está casi obligado a especificar vídeos en ambos formatos.

El atributo media, que sólo puede asignarse al elemento fuente, puede utilizarse para especificar explícitamente el tipo de medio para el que es adecuado el vídeo. Para especificar vídeos específicamente para determinados dispositivos finales, el atributo media debe asignarse al elemento src. Este atributo se utiliza para especificar el tipo de medio deseado.

Una posible aplicación para el elemento source podría ser la siguiente

<video width="400" height="300"> <!-- Sólo para dispositivos móviles --> <source src="video_mobil.ogg" media="handheld" /> <!-Todos los demás dispositivos --> <source src="video_normal.ogg" media="all" /> </video>



El atributo media se utiliza aquí para comprobar si se trata de un dispositivo móvil. En este caso, el vídeo se reproduce en un tamaño más pequeño. Si se trata de otro dispositivo, se utiliza el valor all.



Integrar vídeos de forma segura

Es bien sabido que HTML5 aún no es compatible con todos los navegadores. Por supuesto, esto también se aplica al elemento de vídeo. Una solución consiste en combinar diferentes técnicas de incrustación. Se trata de combinar los conocidos elementos object e embed con vídeo. Esto podría tener el siguiente aspecto

<video width="640" height="360" src="http://www.youtube.com/v/mR5h_EXYKA0?fs" autobuffer controls poster="br.gif"> <object classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b" width="640" height="360" codebase="http://www.apple.com/qtactivex/qtplugin.cab" /> <param value="http://www.youtube.com/v/mR5h_EXYKA0?fs" /> <param value="true" /> <param value="false" /> <embed src="http://www.youtube.com/v/mR5h_EXYKA0?fs" width="640 "height="360" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/"> </embed> </object> </video>



Los vídeos incrustados de esta forma podrán reproducirse en la mayoría de los navegadores. Los navegadores que reconozcan el elemento de vídeo accederán a él. Otros navegadores, sin embargo, utilizan la información del objeto o del elemento embed.