Saltar al contenido
Curso de HTML
Todos los cursos Ir al ejercicio →

Audio, video e imágenes adaptables

  • ⏱ 35 minutos
  • 📶 Nivel: principiante
  • 🧩 Incluye ejercicio

💡 🎯 Al terminar esta lección podrás…

  • Insertar audio y video con <audio> y <video>.
  • Añadir subtítulos con <track> y entender por qué importan.
  • Incrustar contenido externo con <iframe> de forma segura.
  • Ofrecer imágenes adaptables con srcset y <picture>.

1.Multimedia en la web

Hasta ahora tu página tenía texto, imágenes, tablas y formularios. El audio y el video completan el cuadro: con dos etiquetas, <audio> y <video>, el navegador reproduce archivos sin necesidad de programas externos.

Antes de usar multimedia, ten presentes tres ideas que se repiten en toda la lección:

  1. Pesa mucho. Un video sin optimizar puede ser más grande que el resto de tu sitio junto. Usa archivos comprimidos y cortos.
  2. Debe ser accesible. Quien no oye necesita subtítulos; quien no ve necesita una descripción o una transcripción.
  3. No debe invadir. Nada de sonido que arranque solo: es de las cosas que más molestan y que más rápido hacen cerrar una página.

📌 Nota · Los ejemplos de esta lección

Este curso incluye un sonido y un video de ejemplo (campanilla.wav y demo.mp4) para que puedas probar el código real en los editores. Cuando escribas tus propias páginas, usa tus archivos o los que tengas derecho a usar.

2.Audio con la etiqueta audio

Un reproductor de audio
<audio controls>
  <source src="sonido.mp3" type="audio/mpeg">
  <source src="sonido.ogg" type="audio/ogg">
  Tu navegador no admite audio. <a href="sonido.mp3">Descarga el archivo</a>.
</audio>
AtributoQué haceObservación
controlsMuestra los botones de reproducciónCasi siempre lo necesitas; sin él no se ve nada
srcRuta del archivoAlternativa a usar <source>
loopRepite sin finÚsalo con moderación
mutedInicia en silencioNecesario si quieres autoplay en video
preloadCuánto cargar de antemanonone, metadata (solo duración) o auto
autoplayEmpieza soloEvítalo con sonido; muchos navegadores lo bloquean

<source> permite ofrecer varias versiones del mismo archivo; el navegador usa la primera que entienda. El texto entre las etiquetas solo se muestra si el navegador es tan antiguo que no conoce <audio>.

✏️ Prueba el reproductor

⚠️ Importante · Formatos

MP3 es el formato más compatible; OGG y WAV son alternativas. El valor de type (por ejemplo audio/mpeg) le permite al navegador saltarse sin descargar los formatos que no entiende.

3.Video con la etiqueta video

<video> funciona igual que <audio>, con algunos atributos más para la imagen:

Un video completo
<video controls width="480" height="270" poster="portada.jpg" preload="metadata">
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  <track kind="captions" src="subtitulos.es.vtt" srclang="es" label="Español" default>
  Tu navegador no admite video. <a href="video.mp4">Descárgalo aquí</a>.
</video>
AtributoQué hace
width / heightReservan el espacio en la página (evitan que el contenido «salte»)
posterImagen que se ve antes de reproducir
controlsMuestra los controles
muted, loop, autoplayPara videos decorativos de fondo: deben ir juntos, sin sonido
playsinlineEn iPhone evita que el video se abra a pantalla completa solo
preloadmetadata carga solo lo mínimo hasta que alguien pulsa reproducir
FormatoContenedor y códecCuándo usarlo
MP4H.264 + AACEl más compatible: funciona en casi todo
WebMVP9 + OpusMás ligero; ideal como segunda opción
✏️ Prueba el video

Observa que el poster se ve antes de pulsar reproducir. El <track> conecta un archivo de subtítulos: lo verás más abajo.

💡 Consejo · Videos más ligeros

Para videos propios, reduce la resolución (720p suele bastar) y la duración. Herramientas gratuitas como HandBrake o FFmpeg comprimen sin perder mucha calidad. Para videos largos, considera subirlos a una plataforma y usar <iframe>.

4.Multimedia accesible

Un video sin subtítulos deja fuera a personas sordas o con dificultad auditiva, y también a quien lo ve en el transporte sin audífonos. Hay cuatro prácticas esenciales:

NecesidadSoluciónEn HTML
No oír el audioSubtítulos (diálogos y sonidos relevantes)<track kind="captions">
No ver el videoDescripción y transcripción en textoUn enlace o sección con la transcripción
Preferir leerTranscripción del audio y de los videosTexto en la página o en un archivo
Sensibilidad al movimientoNo iniciar solo ni en bucleEvitar autoplay y respetar prefers-reduced-motion

Los subtítulos: archivos .vtt

Los subtítulos se escriben en un archivo de texto con formato WebVTT. Cada bloque tiene un intervalo de tiempo y la frase:

subtitulos.es.vtt
WEBVTT

00:00.000 --> 00:01.500
Un degradado de colores que cambia.

00:01.500 --> 00:03.000
Este video de ejemplo dura tres segundos.

⚠️ Importante · Autoplay

Si un video se reproduce solo, debe estar silenciado (muted) y ser decorativo. Aun así, ofrece una forma de pausarlo: las animaciones continuas pueden resultar molestas o incluso causar mareos.

5.Contenido incrustado con iframe

<iframe> muestra otra página dentro de la tuya: videos de YouTube, mapas de Google, formularios externos. Las plataformas te dan el código listo para pegar (botón «Compartir → Insertar»).

Un video de una plataforma (ejemplo)
<iframe src="https://www.youtube.com/embed/CODIGO_DEL_VIDEO"
  title="Introducción al HTML: primeros pasos"
  width="560" height="315"
  loading="lazy"
  allowfullscreen></iframe>

⚠️ Importante · Seguridad y privacidad

Un <iframe> carga código de otro sitio dentro del tuyo. Incrusta solo contenido de fuentes en las que confíes. Además, estas plataformas pueden rastrear a tus visitantes; si te importa, busca opciones de «modo privado» o simplemente enlaza el video.

📌 Nota · Por qué no hay un editor aquí

Los editores de esta lección no cargan contenido de otros sitios, así que no puedes probar un iframe con un video externo. Hazlo en tu propio archivo .html.

6.Imágenes adaptables

Un celular, una tableta y un monitor grande no necesitan la misma imagen: descargar una foto enorme en un móvil gasta datos y tarda. HTML permite ofrecer varias versiones.

1. srcset y sizes: mismas imagen, distintos tamaños

Varias resoluciones
<img src="foto-800.jpg"
  srcset="foto-400.jpg 400w, foto-800.jpg 800w, foto-1600.jpg 1600w"
  sizes="(max-width: 600px) 100vw, 50vw"
  alt="Mercado de frutas al amanecer"
  width="800" height="533">

2. picture: imágenes distintas según la pantalla

A veces no basta con reducir la imagen: en vertical conviene un recorte distinto (a esto se le llama «dirección de arte»). Para eso existe <picture>:

✏️ Cambia entre dos imágenes

El navegador revisa los <source> de arriba abajo y usa el primero cuya condición se cumpla. El <img> final es obligatorio: es la imagen de respaldo y donde va el alt.

3. picture con formatos modernos

WebP con respaldo en JPG
<picture>
  <source type="image/webp" srcset="foto.webp">
  <img src="foto.jpg" alt="Mercado de frutas al amanecer" width="800" height="533">
</picture>

💡 Consejo · Evita que la imagen se deforme

En tu CSS, añade img { max-width: 100%; height: auto; }. La imagen nunca será más ancha que su contenedor y conservará su proporción. Con object-fit: cover puedes recortar sin deformar.

7.Peso y rendimiento

RecursoPeso razonableCómo lograrlo
Foto en la páginaMenos de 200 KBRedimensiona al tamaño real de uso y comprime (Squoosh, TinyPNG)
Ilustración o íconoPocos KBUsa SVG cuando puedas
AudioMenos de 1 MB para clipsMP3 a 128 kbps basta para voz
Video cortoUnos pocos MB720p, pocos segundos, sin audio si es decorativo
  1. Mide: abre las herramientas del navegador (F12), pestaña Red, y recarga la página para ver el peso de cada archivo.
  2. Reduce: redimensiona y comprime antes de subir.
  3. Difiere: usa loading="lazy" en imágenes y preload="none" en audio y video que no se verán de inmediato.

8.Errores frecuentes

📒 Apuntes para llevar

  • <audio controls> y <video controls> reproducen archivos; sin controls no se ve el reproductor.
  • <source> ofrece varios formatos y el navegador elige el que entienda; el texto interior es respaldo.
  • En video, width, height y poster mejoran la carga y la presentación.
  • autoplay solo con muted y para contenido decorativo; evítalo con sonido.
  • Los subtítulos se añaden con <track kind="captions" src="…vtt" srclang="es" label="Español">.
  • <iframe> incrusta contenido externo: title obligatorio, loading="lazy" y confianza en el origen.
  • srcset y sizes ofrecen varios tamaños; <picture> cambia la imagen según condiciones o formato.
  • Controla el peso: comprime, redimensiona y difiere la carga.

9.Glosario

TérminoSignificado
controlsAtributo que muestra los botones del reproductor.
<source>Una de varias versiones del mismo archivo multimedia.
CódecMétodo de compresión de audio o video (H.264, VP9…).
PosterImagen mostrada antes de reproducir un video.
WebVTTFormato de texto para subtítulos (.vtt).
iframeMarco que muestra otra página dentro de la tuya.
srcsetLista de versiones de una imagen con su ancho real.
Dirección de arteMostrar recortes distintos de una imagen según la pantalla.

🧠 Comprueba lo aprendido

Elige una respuesta en cada pregunta. Verás al instante si acertaste y por qué.

Un <video> sin controls y sin autoplay es…

¿Para qué sirve <track kind="captions">?

Quieres un video decorativo de fondo que se reproduzca solo. ¿Qué atributos necesita?

¿Qué atributo es obligatorio en un <iframe> por accesibilidad?

En <picture>, ¿dónde va el atributo alt?

Tu progreso se guarda en este navegador y se refleja en el índice del curso.

💡 🚀 ¡Ahora te toca!

La práctica fija lo aprendido. Pasa al ejercicio de esta lección.

Ir al ejercicio