Elemento de video en HTML

-

Sintaxis Básica

El elemento <video> en HTML te permite insertar contenido de video en una página web. Su estructura básica tiene una etiqueta de apertura <video> y una etiqueta de cierre </video>. Entre estas etiquetas, especificas la fuente del video e incluyes atributos para controlar el comportamiento y la apariencia del video.

Consejo: Sintaxis Básica del Elemento <video>

<video src="video.mp4" controls>
  Tu navegador no soporta el elemento de video.
</video>

El atributo src apunta a la URL o ruta del archivo de video que deseas insertar. El atributo controls añade controles de video, como botones de reproducción, pausa, volumen y pantalla completa, al reproductor de video.

El texto entre las etiquetas de apertura y cierre <video> es contenido de respaldo. Se mostrará si el navegador no soporta el elemento <video> o si la fuente del video no se puede cargar.

Aunque el atributo src es necesario para especificar la fuente del video, hay atributos opcionales que puedes usar para cambiar la funcionalidad y el comportamiento del reproductor de video:

Atributo Descripción
autoplay Comienza a reproducir el video cuando se carga la página.
loop Reproduce el video en un bucle continuo.
muted Silencia el audio del video por defecto.
poster Especifica una imagen para mostrar como marcador de posición antes de que el video comience a reproducirse.
preload Determina cuánto del video debe cargarse cuando se carga la página.
width y height Establece el tamaño del reproductor de video.

Estos atributos opcionales te dan más control sobre la experiencia de reproducción del video. Puedes incluirlos según sea necesario dentro de la etiqueta <video>.

Ten en cuenta que algunos atributos, como autoplay, pueden estar sujetos a restricciones del navegador y preferencias del usuario. Muchos navegadores ahora requieren que los videos estén silenciados o tengan interacción del usuario antes de permitir la reproducción automática para evitar la reproducción no deseada de videos.

Fuentes de Video

Para especificar la fuente de un video en el elemento <video>, puedes usar el atributo src. El atributo src apunta a la URL o ruta del archivo de video que quieres incrustar.

Consejo: Especificando la Fuente del Video con el Atributo src

<video src="video.mp4" controls>
  Tu navegador no soporta el elemento de video.
</video>

No todos los navegadores soportan los mismos formatos y códecs de video. Para asegurarte de que tu video se pueda reproducir en diferentes navegadores, puedes usar múltiples elementos <source> dentro del elemento <video>. Cada elemento <source> especifica un formato o códec de video diferente.

Consejo: Usando Múltiples Elementos <source>

<video controls>
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  Tu navegador no soporta el elemento de video.
</video>

El navegador intentará cargar el primer elemento <source> (video.mp4). Si no puede reproducir ese formato, pasará al siguiente elemento <source> (video.webm). El navegador usará la primera fuente de video compatible que encuentre.

Los formatos y códecs de video más comúnmente soportados en los navegadores modernos son:

Formato Códec Soporte en Navegadores
MP4 H.264 Ampliamente soportado en navegadores y dispositivos modernos
WebM VP8 o VP9 Soportado en Chrome, Firefox, Opera y versiones más nuevas de Edge
Ogg Theora Soportado en Firefox, Chrome y Opera

Es una buena práctica incluir múltiples fuentes de video en diferentes formatos para maximizar la compatibilidad con los navegadores. Puedes usar herramientas en línea o conversores de video para generar diferentes versiones de tu video en varios formatos.

Cuando uses múltiples elementos <source>, el atributo type es importante para especificar el tipo MIME de cada fuente de video. El tipo MIME ayuda al navegador a determinar si puede reproducir el formato de video sin descargar el archivo completo.

Al proporcionar fuentes de video en diferentes formatos y usar los atributos apropiados, puedes asegurarte de que tus videos sean reproducibles en una amplia gama de navegadores y dispositivos, mejorando la experiencia del usuario en tu página web.

Atributo Poster

El atributo poster en el elemento <video> permite establecer una imagen de póster que se muestra antes de que el video comience a reproducirse. La imagen de póster actúa como un marcador de posición o miniatura para el video, ofreciendo a los usuarios una vista previa del contenido del video.

Consejo: Video HTML con Atributo Poster

<video src="video.mp4" poster="poster.jpg" controls>
  Su navegador no soporta el elemento de video.
</video>

El atributo poster apunta a la URL o ruta de un archivo de imagen (poster.jpg) que se mostrará como imagen de póster para el video.

El uso de una imagen de póster tiene varios beneficios:

Beneficio Descripción
Representación visual La imagen de póster proporciona una representación visual del contenido del video antes de que comience a reproducirse. Da a los usuarios una idea de qué trata el video y puede captar su atención.
Mejora de la experiencia del usuario Cuando una página carga, la imagen de póster se muestra inmediatamente mientras el video aún está cargando. Esto crea una experiencia de usuario más atractiva, ya que los usuarios ven una imagen relevante en lugar de un reproductor de video en blanco o vacío.
Marca y consistencia Puede usar una imagen de póster para mantener un estilo visual o una marca consistente en todo su sitio web. La imagen de póster puede incluir su logotipo, texto o cualquier otro gráfico relevante que se alinee con el diseño de su sitio.
Accesibilidad Las imágenes de póster pueden ayudar a transmitir el contenido del video a los usuarios que no pueden ver o escuchar el video en sí. Al proporcionar una imagen de póster significativa, puede comunicar el tema del video a una audiencia más amplia.

Al elegir una imagen de póster, considere lo siguiente:

  • Use una imagen de alta calidad que sea clara y visualmente atractiva.
  • Asegúrese de que la imagen sea relevante para el contenido del video y lo represente con precisión.
  • Optimice el tamaño del archivo de imagen para evitar ralentizar los tiempos de carga de la página.
  • Use un texto alternativo apropiado para la imagen de póster para describir su contenido para los lectores de pantalla y los motores de búsqueda.

Atributo Controls

El atributo controls en el elemento <video> muestra los controles de video predeterminados del navegador. Estos controles suelen tener botones para reproducir/pausar, control de volumen, modo de pantalla completa y una barra de progreso que muestra la posición actual de reproducción del video.

Consejo: Controles de Video Predeterminados

<video src="video.mp4" controls>
  Su navegador no admite el elemento de video.
</video>

Al agregar el atributo controls a la etiqueta <video>, le indicas al navegador que muestre los controles de video integrados. Esto permite a los usuarios controlar la reproducción del video en la página web.

El aspecto y las características de los controles de video nativos pueden variar ligeramente entre navegadores, pero generalmente proporcionan una experiencia consistente y familiar para los usuarios.

Si deseas tener más control sobre el aspecto y el comportamiento de los controles de video, puedes crear controles personalizados utilizando HTML, CSS y JavaScript. Esto te permite diseñar controles que coincidan con el estilo de tu sitio web y agregar características más allá de los controles de reproducción estándar.

Para crear controles de video personalizados:

  1. Elimina el atributo controls de la etiqueta <video> para ocultar los controles predeterminados.

  2. Crea elementos HTML que actuarán como tus botones de control personalizados (por ejemplo, reproducir, pausar, volumen, barra de progreso).

  3. Utiliza CSS para estilizar los elementos de control personalizados, colocándolos sobre el reproductor de video y haciéndolos visualmente atractivos.

  4. Usa JavaScript para agregar interactividad a los controles personalizados. Puedes escuchar eventos como clics en los botones de control y cambiar la reproducción del video utilizando la API HTMLMediaElement.

Consejo: Controles de Video Personalizados usando JavaScript

<video id="myVideo" src="video.mp4">
  Su navegador no admite el elemento de video.
</video>

<div id="customControls">
  <button id="playPauseBtn">Reproducir/Pausar</button>
  <input type="range" id="progressBar" value="0">
  <button id="muteBtn">Silenciar/Activar sonido</button>
</div>

<script>
  const video = document.getElementById('myVideo');
  const playPauseBtn = document.getElementById('playPauseBtn');
  const progressBar = document.getElementById('progressBar');
  const muteBtn = document.getElementById('muteBtn');

  playPauseBtn.addEventListener('click', function() {
    if (video.paused) {
      video.play();
    } else {
      video.pause();
    }
  });

  video.addEventListener('timeupdate', function() {
    progressBar.value = (video.currentTime / video.duration) * 100;
  });

  progressBar.addEventListener('input', function() {
    video.currentTime = (progressBar.value / 100) * video.duration;
  });

  muteBtn.addEventListener('click', function() {
    video.muted = !video.muted;
  });
</script>

Los botones de control personalizados se crean en HTML (playPauseBtn, progressBar, muteBtn). JavaScript se utiliza para manejar las interacciones con estos controles. El método addEventListener escucha los eventos de clic en los botones y actualiza la reproducción del video utilizando métodos como play(), pause() y propiedades como muted.

El evento timeupdate se utiliza para actualizar la barra de progreso a medida que se reproduce el video, y el evento input en la barra de progreso permite a los usuarios buscar un momento específico en el video.

Al usar JavaScript para crear controles de video personalizados, tienes control total sobre su funcionalidad y puedes adaptar la experiencia de reproducción de video a las necesidades específicas de tu sitio web.

Atributos Autoplay y Loop

Los atributos autoplay y loop en el elemento <video> controlan el comportamiento de reproducción automática de un video. El atributo autoplay comienza a reproducir el video automáticamente cuando se carga la página, mientras que el atributo loop hace que el video se reproduzca continuamente.

Para usar el atributo autoplay, inclúyelo en la etiqueta <video>:

Consejo: Video con Autoplay

<video src="video.mp4" autoplay>
  Tu navegador no soporta el elemento de video.
</video>

Con el atributo autoplay, el video comenzará a reproducirse tan pronto como se cargue, sin interacción del usuario. Esto puede ser útil en ciertas situaciones, como videos de fondo o secciones principales de página basadas en video.

De manera similar, agrega el atributo loop a la etiqueta <video> para hacer que el video se reproduzca repetidamente:

Consejo: Video con Loop

<video src="video.mp4" loop>
  Tu navegador no soporta el elemento de video.
</video>

Cuando el atributo loop está presente, el video se reproducirá desde el principio nuevamente después de llegar al final. Esto es útil para crear bucles de video sin interrupciones o para videos que deben reproducirse continuamente.

Sin embargo, considera las restricciones del navegador y la experiencia del usuario al usar los atributos autoplay y loop. Muchos navegadores ahora tienen políticas de reproducción automática más estrictas para detener la reproducción no deseada de video y audio. Estas políticas pueden requerir interacción del usuario, como un clic o toque, antes de permitir que un video se reproduzca automáticamente.

Para respetar las preferencias del usuario y evitar comportamientos molestos de reproducción automática, puedes combinar el atributo autoplay con el atributo muted:

Consejo: Video con Autoplay y Muted

<video src="video.mp4" autoplay muted>
  Tu navegador no soporta el elemento de video.
</video>

Al agregar el atributo muted, el video se reproducirá automáticamente sin sonido, lo cual es más probable que los navegadores permitan. Los usuarios pueden entonces elegir activar el sonido del video si desean escuchar el audio.

Al decidir si usar autoplay y loop, piensa en la experiencia del usuario y el contexto específico de tu sitio web. Considera lo siguiente:

Consideración Descripción
Necesidad ¿Es necesario el comportamiento de reproducción automática para el contenido del video?
Experiencia del usuario ¿La reproducción automática mejorará o interrumpirá la experiencia del usuario?
Adecuación del contenido ¿El contenido del video es apropiado para reproducirse en bucle continuo?
Alternativas ¿Existen formas alternativas de involucrar a los usuarios sin forzar la reproducción automática?

En general, usa autoplay y loop con moderación y solo cuando agreguen valor a la experiencia del usuario. Proporciona controles claros para que los usuarios puedan detener o pausar la reproducción del video si es necesario, y respeta sus preferencias de reproducción automática de medios.

Atributo Preload

El atributo preload en el elemento <video> controla cuánto del video debe cargarse cuando se carga la página. Te permite equilibrar entre tiempos de inicio de video más rápidos y ahorro de ancho de banda. El atributo preload puede tener uno de tres valores: auto, metadata, o none.

Consejo: Usando el Atributo Preload

<video src="video.mp4" preload="auto" controls>
  Tu navegador no soporta el elemento de video.
</video>

Esto es lo que significa cada valor:

  1. auto (predeterminado): El navegador intentará descargar todo el video cuando la página se cargue. Esto proporciona el tiempo de inicio de video más rápido pero utiliza más ancho de banda. Es una buena opción si esperas que los usuarios reproduzcan el video.

  2. metadata: El navegador solo cargará los metadatos del video (por ejemplo, duración, dimensiones) cuando la página se cargue, pero no el video en sí. Esto utiliza menos ancho de banda que auto pero aún proporciona alguna información sobre el video. El video comenzará a descargarse cuando el usuario lo reproduzca.

  3. none: El navegador no precargará ninguna parte del video, incluidos los metadatos, hasta que el usuario lo reproduzca. Esto utiliza la menor cantidad de ancho de banda pero puede llevar a un tiempo de inicio de video más lento.

El impacto del atributo preload en la velocidad de carga de la página y la experiencia del usuario depende del valor elegido:

Valor Velocidad de carga de página Experiencia del usuario
auto Más lenta Inicio de video más rápido, pero puede desperdiciar ancho de banda si no se reproduce
metadata Más rápida Inicio de video más lento, pero ahorra ancho de banda
none La más rápida Inicio de video más lento, pero ahorra la mayor cantidad de ancho de banda

Al decidir qué valor de preload usar, considera las necesidades específicas de tu sitio web y la probabilidad de que los usuarios reproduzcan el video:

  • Si el video es el contenido principal de la página y se espera que la mayoría de los usuarios lo vean, auto podría ser la mejor opción para un inicio rápido.
  • Si el video es contenido extra o no es el foco principal, metadata puede proporcionar un equilibrio entre el tiempo de inicio y el uso de ancho de banda.
  • Si el video es opcional o es poco probable que la mayoría de los usuarios lo reproduzcan, none puede ahorrar ancho de banda y mejorar la velocidad de carga de la página.

Es importante tener en cuenta que el atributo preload es una sugerencia para el navegador, no una orden estricta. Algunos navegadores pueden ignorar el atributo preload o cambiar su comportamiento según las condiciones de la red, las preferencias del usuario u otros factores.

Además, si el atributo autoplay está presente, el atributo preload se ignora y el video se descargará completamente independientemente del valor de preload.

Al usar el atributo preload sabiamente y considerando el contexto específico de tu sitio web y videos, puedes encontrar el equilibrio adecuado entre el rendimiento del video y la eficiencia de carga de la página, proporcionando una mejor experiencia de usuario para tus visitantes.

Atributo Muted

El atributo muted en el elemento <video> permite silenciar el audio del video por defecto cuando la página se carga. Cuando el atributo muted está presente, el video se reproducirá sin sonido hasta que el usuario lo active.

Para silenciar un video por defecto, añade el atributo muted a la etiqueta <video>:

Consejo: Silenciar un Video

<video src="video.mp4" muted controls>
  Tu navegador no soporta el elemento de video.
</video>

El uso del atributo muted tiene implicaciones para la funcionalidad de reproducción automática del video. Muchos navegadores ahora tienen políticas de reproducción automática más estrictas que bloquean la reproducción automática de videos con sonido. Estas políticas buscan reducir el ruido no deseado y evitar que los usuarios vean videos que no eligieron reproducir.

Sin embargo, si un video tiene el atributo muted, es más probable que los navegadores permitan su reproducción automática. El razonamiento es que un video silenciado es menos disruptivo para la experiencia del usuario que un video con sonido.

Consejo: Usando muted con autoplay

<video src="video.mp4" autoplay muted controls>
  Tu navegador no soporta el elemento de video.
</video>

En este caso, el video comenzará a reproducirse automáticamente cuando la página se cargue, pero sin sonido. Los usuarios pueden entonces elegir activar el sonido del video haciendo clic en el botón de activar sonido en los controles del video.

El uso del atributo muted en combinación con autoplay es una buena manera de proporcionar una experiencia de usuario más atractiva, respetando al mismo tiempo las políticas de reproducción automática de los navegadores y las preferencias de los usuarios. Permite mostrar contenido de video sin forzar sonido no deseado a los usuarios.

Ten en cuenta que incluso con el atributo muted, algunos navegadores aún pueden bloquear la reproducción automática en ciertas situaciones, como cuando el usuario ha establecido una preferencia para bloquear todos los videos de reproducción automática. Siempre es una buena práctica proporcionar controles claros para que los usuarios puedan reproducir, pausar y activar el sonido de los videos según sea necesario.

Atributos de ancho y alto

Los atributos width y height en el elemento <video> te permiten establecer el tamaño del reproductor de video en la página web. Estos atributos controlan el tamaño del reproductor de video y ayudan a que el video se ajuste bien dentro del diseño de tu página.

Para establecer el tamaño del video, añade los atributos width y height a la etiqueta <video>, especificando los valores en píxeles:

Consejo: Video con atributos de ancho y alto

<video src="video.mp4" width="640" height="360" controls>
  Tu navegador no soporta el elemento de video.
</video>

El reproductor de video tendrá un ancho de 640 píxeles y una altura de 360 píxeles.

Al establecer el tamaño del video, ten en cuenta la relación de aspecto del video. La relación de aspecto es la proporción entre el ancho y el alto del video. Las relaciones de aspecto más comunes son 16:9 (pantalla ancha) y 4:3 (estándar).

Si estableces los atributos width y height con valores que no coinciden con la relación de aspecto original del video, el video puede verse estirado o comprimido. Para evitar esto, puedes establecer solo uno de los atributos y dejar que el navegador calcule automáticamente el otro tamaño para mantener la relación de aspecto.

Consejo: Cálculo automático de altura basado en el ancho

<video src="video.mp4" width="640" controls>
  Tu navegador no soporta el elemento de video.
</video>

En este caso, solo se establece el atributo width a 640 píxeles. El navegador calculará automáticamente la altura correcta basándose en la relación de aspecto del video, manteniendo las proporciones del video iguales.

Para un tamaño de video responsive, puedes usar CSS para establecer el tamaño del video en porcentajes en lugar de valores fijos en píxeles. Esto permite que el video se escale según el tamaño de su contenedor o del viewport.

Consejo: Tamaño de video responsive con CSS

<div class="video-container">
  <video src="video.mp4" controls>
    Tu navegador no soporta el elemento de video.
  </video>
</div>

Consejo: CSS para el contenedor de video responsive

.video-container {
  width: 100%;
  max-width: 640px;
}

video {
  width: 100%;
  height: auto;
}

En este ejemplo, el video se coloca dentro de un elemento contenedor con una clase de video-container. El contenedor tiene un ancho del 100% y un ancho máximo de 640 píxeles, limitando su tamaño máximo. El video en sí tiene un ancho del 100% y una altura auto, lo que le permite escalarse proporcionalmente dentro del contenedor.

Al usar técnicas de tamaño responsive, puedes asegurarte de que tus videos se adapten a diferentes tamaños de pantalla y dispositivos, proporcionando una mejor experiencia de usuario en varias plataformas.

Prueba tus videos en diferentes dispositivos y tamaños de pantalla para asegurarte de que se muestren correctamente y mantengan su relación de aspecto. Si es necesario, puedes usar media queries en CSS para aplicar diferentes reglas de estilo según el tamaño del viewport, dándote más control sobre la apariencia del video en diferentes dispositivos.

Contenido de Respaldo

El elemento <video> en HTML5 es compatible con los navegadores modernos. Sin embargo, puede haber casos en los que el navegador de un usuario no admita el elemento <video> o el formato de video especificado. En tales casos, es importante proporcionar contenido de respaldo para asegurar que los usuarios puedan acceder al video o encontrar otras formas de ver el contenido.

El contenido de respaldo se coloca entre las etiquetas de apertura <video> y cierre </video>. Si el navegador admite el elemento <video> y puede reproducir el formato de video especificado, el contenido de respaldo se ignora. Si el navegador no admite el elemento <video> o el formato de video, se muestra el contenido de respaldo en su lugar.

Consejo: Respaldo Básico de Video

<video src="video.mp4" controls>
  <p>Su navegador no admite el elemento de video.</p>
  <a href="video.mp4">Descargar el video</a>
</video>

El contenido de respaldo puede incluir:

Tipo Descripción
Texto Puede proporcionar un mensaje de texto simple que informe a los usuarios que su navegador no admite la reproducción de video. Este mensaje también puede incluir instrucciones sobre cómo acceder al contenido del video por otros medios.
Enlaces Agregar un enlace directo al archivo de video permite a los usuarios descargar el video y verlo usando un reproductor multimedia compatible en su dispositivo.
Otros Medios Puede insertar otros medios, como una imagen o un GIF animado, que represente el contenido del video. Esto proporciona una representación visual del video cuando no se puede reproducir directamente en el navegador.

Consejo: Respaldo de Video con Imagen

<video src="video.mp4" controls>
  <img src="fallback-image.jpg" alt="Miniatura del Video">
  <p>Su navegador no admite el elemento de video.</p>
  <a href="video.mp4">Descargar el video</a>
</video>

Al proporcionar contenido de respaldo, considere las siguientes mejores prácticas:

  • Mantenga el contenido de respaldo conciso e informativo, comunicando claramente el mensaje de que el video no se puede reproducir.
  • Proporcione instrucciones claras o enlaces para guiar a los usuarios sobre cómo acceder al contenido del video por otros medios.
  • Asegúrese de que el contenido de respaldo sea accesible y compatible con tecnologías de asistencia, como lectores de pantalla.
  • Use texto alternativo apropiado para las imágenes utilizadas como contenido de respaldo para describir el contenido del video.

Al incluir contenido de respaldo dentro del elemento <video>, puede proporcionar una buena experiencia para los usuarios cuyos navegadores no admiten la reproducción de video, asegurando que aún puedan acceder e interactuar con su contenido de video.

Consideraciones de Accesibilidad

Al incorporar videos en una página web, es importante tener en cuenta la accesibilidad para asegurar que todos los usuarios, incluidos aquellos con discapacidades, puedan acceder y disfrutar del contenido del video. Aquí hay algunas consideraciones clave de accesibilidad para el elemento <video>:

Agregar Subtítulos y Leyendas

Los subtítulos y leyendas proporcionan una alternativa de texto para el contenido de audio en un video, haciéndolo accesible para usuarios sordos, con dificultades auditivas o que ven el video en un entorno sensible al sonido. Puedes agregar subtítulos y leyendas a un video usando el elemento <track> dentro del elemento <video>.

Consejo: Agregar Subtítulos y Leyendas

<video src="video.mp4" controls>
  <track src="captions.vtt" kind="captions" srclang="en" label="Subtítulos en Inglés">
  Tu navegador no soporta el elemento de video.
</video>

El elemento <track> apunta a un archivo WebVTT (Web Video Text Tracks) que contiene los subtítulos o leyendas. El atributo kind especifica el tipo de pista (por ejemplo, "captions", "subtitles"), el atributo srclang indica el idioma de la pista, y el atributo label proporciona una etiqueta para la pista.

Proporcionar Transcripciones y Descripciones de Audio

Además de subtítulos y leyendas, proporcionar transcripciones y descripciones de audio puede mejorar la accesibilidad de tu contenido de video.

Una transcripción es una versión de texto del contenido de audio del video, incluyendo diálogos hablados, efectos de sonido y otra información relevante. Permite a los usuarios leer el contenido del video y es útil para usuarios que prefieren leer o no pueden acceder al audio.

Las descripciones de audio son narraciones que describen los elementos visuales del video, como acciones, escenas y texto en pantalla, durante las pausas naturales en el audio. Son útiles para usuarios ciegos o con baja visión.

Puedes proporcionar transcripciones y descripciones de audio enlazando a archivos separados o mostrándolos en la misma página que el video.

Función de Accesibilidad Descripción
Transcripciones Versión de texto del contenido de audio del video, incluyendo diálogos hablados, efectos de sonido y otra información relevante.
Descripciones de Audio Narraciones que describen los elementos visuales del video durante las pausas naturales en el audio.

Garantizar la Accesibilidad por Teclado

Es importante asegurarse de que los usuarios puedan controlar la reproducción del video usando atajos de teclado y navegación. Esto es especialmente importante para usuarios que dependen de teclados o tecnologías de asistencia para interactuar con el contenido web.

Asegúrate de que los controles del video sean accesibles por teclado utilizando elementos HTML apropiados (como botones) y agregando atributos tabindex para hacerlos enfocables. Los usuarios deben poder reproducir, pausar, ajustar el volumen y buscar en el video usando comandos de teclado.

Consejo: Garantizar la Accesibilidad por Teclado

<div class="video-controls">
  <button class="play-pause" tabindex="0">Reproducir/Pausar</button>
  <button class="mute" tabindex="0">Silenciar/Activar Sonido</button>
  <input class="volume" type="range" min="0" max="1" step="0.1" value="1" tabindex="0">
  <div class="progress">
    <progress class="progress-bar" value="0" max="100" tabindex="0"></progress>
  </div>
</div>

Los controles del video se implementan utilizando elementos de botón y entrada con atributos tabindex, haciéndolos accesibles por teclado. La barra de progreso también se hace enfocable usando el atributo tabindex.

Compatibilidad con navegadores

El elemento <video> es compatible con navegadores web modernos, incluyendo Chrome, Firefox, Safari, Opera y Microsoft Edge. Estos navegadores admiten las funciones básicas del elemento <video>, como reproducir archivos de video, usar el atributo src y proporcionar controles de video nativos.

Sin embargo, la compatibilidad del navegador con formatos y códecs de video específicos puede variar. Los formatos de video más comúnmente admitidos son:

Formato Navegadores compatibles
MP4 Chrome, Firefox, Safari, Opera, Edge
WebM Chrome, Firefox, Opera, Edge (versiones más nuevas)
Ogg Chrome, Firefox, Opera

Es una buena práctica proporcionar múltiples fuentes de video usando el elemento <source> dentro del elemento <video>. Cada elemento <source> puede especificar un formato de video diferente, permitiendo que el navegador elija el formato que mejor admite.

Consejo: Proporcionar múltiples fuentes de video usando el elemento

<video controls>
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  <source src="video.ogg" type="video/ogg">
  Tu navegador no admite el elemento de video.
</video>

Al tratar con navegadores más antiguos que no admiten el elemento <video> o los formatos de video especificados, es importante proporcionar mecanismos de respaldo. El contenido de respaldo se coloca entre las etiquetas de apertura <video> y cierre </video> y se muestra cuando el navegador no puede reproducir el video.

El contenido de respaldo puede incluir:

  • Mensaje de texto informando a los usuarios que su navegador no admite la reproducción de video
  • Enlaces para descargar el archivo de video
  • Medios alternativos, como una imagen o GIF animado que represente el contenido del video

Consejo: Proporcionar mecanismos de respaldo para navegadores más antiguos

<video controls>
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  <p>Tu navegador no admite el elemento de video.</p>
  <a href="video.mp4">Descargar el video</a>
</video>

Para mejorar aún más la compatibilidad y accesibilidad de tu contenido de video, considera lo siguiente:

  • Usa el atributo poster para especificar una imagen de marcador de posición que se muestra antes de que comience la reproducción del video. Esto proporciona una representación visual del video para los navegadores que no admiten la reproducción de video.
  • Proporciona subtítulos usando el elemento <track> para hacer que tu contenido de video sea accesible a una audiencia más amplia, incluyendo usuarios sordos o con problemas de audición.
  • Ofrece transcripciones y descripciones de audio para proporcionar formas alternativas para que los usuarios accedan al contenido del video, especialmente para usuarios con discapacidades visuales.

Al considerar la compatibilidad del navegador, proporcionar múltiples fuentes de video e implementar mecanismos de respaldo, puedes hacer que tu contenido de video sea accesible para la audiencia más amplia posible en diferentes navegadores y dispositivos.

Ejemplos y casos de uso

El elemento <video> en HTML ofrece formas de incorporar y utilizar contenido de video en tus páginas web. Veamos algunos ejemplos y casos de uso para ver cómo puedes utilizar el elemento <video>.

Incorporar un reproductor de video simple

El caso de uso más básico para el elemento <video> es incorporar un reproductor de video simple en una página web. Esto permite a los usuarios ver un video directamente en la página sin tener que ir a un reproductor separado o descargar el archivo de video.

Consejo: Reproductor de video simple

<video src="video.mp4" controls>
  <p>Tu navegador no admite el elemento de video.</p>
</video>

El atributo src apunta al archivo de video (video.mp4), y el atributo controls agrega los controles de video predeterminados al reproductor. El contenido de respaldo dentro del elemento <video> se muestra si el navegador no admite la reproducción de video.

Crear una galería de videos o lista de reproducción

Puedes usar el elemento <video> para crear una galería de videos o lista de reproducción en tu página web. Esto permite a los usuarios explorar y ver múltiples videos dentro de una sola página.

Consejo: Galería de videos o lista de reproducción

<div class="video-gallery">
  <video id="video-player" controls>
    <source src="video1.mp4" type="video/mp4">
    Tu navegador no admite el elemento de video.
  </video>
  <ul class="video-playlist">
    <li><a href="video1.mp4" class="active">Video 1</a></li>
    <li><a href="video2.mp4">Video 2</a></li>
    <li><a href="video3.mp4">Video 3</a></li>
  </ul>
</div>

<script>
  const videoPlayer = document.getElementById('video-player');
  const playlistLinks = document.querySelectorAll('.video-playlist a');

  playlistLinks.forEach(link => {
    link.addEventListener('click', function(e) {
      e.preventDefault();
      const videoUrl = this.getAttribute('href');
      videoPlayer.src = videoUrl;
      playlistLinks.forEach(link => link.classList.remove('active'));
      this.classList.add('active');
      videoPlayer.play();
    });
  });
</script>

Se coloca un reproductor de video dentro de un elemento <div> con la clase video-gallery. El reproductor de video utiliza el elemento <source> para especificar la fuente de video inicial. Se crea una lista de reproducción usando una lista desordenada (<ul>) con enlaces a diferentes archivos de video.

JavaScript maneja la funcionalidad de la lista de reproducción. Cuando se hace clic en un enlace, el archivo de video correspondiente se carga en el reproductor de video usando el atributo src, se actualiza la clase activa en los enlaces de la lista de reproducción y el video comienza a reproducirse.

Integrar video con otros elementos HTML y APIs

El elemento <video> se puede combinar con otros elementos HTML y APIs para crear experiencias de video interactivas.

Integración Descripción
API de Animaciones Web o transiciones CSS Sincronizar la reproducción de video con animaciones o transiciones
API de Medios Activar eventos o acciones basadas en el progreso de reproducción del video
API de Canvas Capturar fotogramas de video o crear miniaturas
Posicionamiento absoluto y CSS Superponer texto, imágenes o elementos interactivos sobre el video

Consejo: Video con superposición

<div class="video-container">
  <video src="video.mp4" controls>
    Tu navegador no admite el elemento de video.
  </video>
  <div class="video-overlay">
    <h2>Título del video</h2>
    <p>La descripción del video va aquí.</p>
  </div>
</div>

<style>
  .video-container {
    position: relative;
  }

  .video-overlay {
    position: absolute;
    top: 20px;
    left: 20px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
  }
</style>

Se coloca un elemento <div> con la clase video-overlay dentro del contenedor del video. La superposición contiene un título y una descripción para el video. Se utiliza CSS para posicionar la superposición sobre el video usando posicionamiento absoluto y para darle estilo con un color de fondo semitransparente.

Al integrar el elemento <video> con otros elementos HTML y APIs, puedes crear experiencias de video ricas e interactivas que van más allá de la simple reproducción.

Estos son solo algunos ejemplos y casos de uso para el elemento <video>. Puedes usar tu creatividad y habilidades de programación para crear contenido y experiencias de video atractivas en tus páginas web.